cosmopolitan/libc/nt/privilege.h

54 lines
4.2 KiB
C
Raw Normal View History

2020-06-15 14:18:57 +00:00
#ifndef COSMOPOLITAN_LIBC_NT_PRIVILEGE_H_
#define COSMOPOLITAN_LIBC_NT_PRIVILEGE_H_
#include "libc/nt/struct/luid.h"
#if 0
/* ░░░░
cosmopolitan § new technology » check your privilege
*/
#endif
#define kNtSePrivilegeEnabledByDefault 0x00000001u
#define kNtSePrivilegeEnabled 0x00000002u
#define kNtSePrivilegeRemoved 0x00000004u
#define kNtSePrivilegeUsedForAccess 0x80000000u
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
struct NtLuid;
struct NtTokenPrivileges;
bool32 LookupPrivilegeValue(const char16_t *opt_lpSystemName,
const char16_t *lpName, struct NtLuid *out_lpLuid);
bool32 AdjustTokenPrivileges(int64_t TokenHandle, bool32 DisableAllPrivileges,
const struct NtTokenPrivileges *opt_NewState,
uint32_t BufferLength,
struct NtTokenPrivileges *opt_out_PreviousState,
uint32_t *opt_out_ReturnLength);
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_LIBC_NT_PRIVILEGE_H_ */