Define core security structures
This commit is contained in:
88
sdk/xtdk/setypes.h
Normal file
88
sdk/xtdk/setypes.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: sdk/xtdk/setypes.h
|
||||
* DESCRIPTION: Kernel Security structures and definitions
|
||||
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef __XTDK_SETYPES_H
|
||||
#define __XTDK_SETYPES_H
|
||||
|
||||
#include <xttypes.h>
|
||||
#include <xtstruct.h>
|
||||
#include <xtbase.h>
|
||||
|
||||
|
||||
/* Privilege LUIDs */
|
||||
#define SE_LUID_MIN_WELL_KNOWN_PRIVILEGE (LUID){2, 0}
|
||||
#define SE_LUID_CREATE_TOKEN_PRIVILEGE (LUID){2, 0}
|
||||
#define SE_LUID_ASSIGNPRIMARYTOKEN_PRIVILEGE (LUID){3, 0}
|
||||
#define SE_LUID_LOCK_MEMORY_PRIVILEGE (LUID){4, 0}
|
||||
#define SE_LUID_INCREASE_QUOTA_PRIVILEGE (LUID){5, 0}
|
||||
#define SE_LUID_MACHINE_ACCOUNT_PRIVILEGE (LUID){6, 0}
|
||||
#define SE_LUID_TCB_PRIVILEGE (LUID){7, 0}
|
||||
#define SE_LUID_SECURITY_PRIVILEGE (LUID){8, 0}
|
||||
#define SE_LUID_TAKE_OWNERSHIP_PRIVILEGE (LUID){9, 0}
|
||||
#define SE_LUID_LOAD_DRIVER_PRIVILEGE (LUID){10, 0}
|
||||
#define SE_LUID_SYSTEM_PROFILE_PRIVILEGE (LUID){11, 0}
|
||||
#define SE_LUID_SYSTEMTIME_PRIVILEGE (LUID){12, 0}
|
||||
#define SE_LUID_PROF_SINGLE_PROCESS_PRIVILEGE (LUID){13, 0}
|
||||
#define SE_LUID_INC_BASE_PRIORITY_PRIVILEGE (LUID){14, 0}
|
||||
#define SE_LUID_CREATE_PAGEFILE_PRIVILEGE (LUID){15, 0}
|
||||
#define SE_LUID_CREATE_PERMANENT_PRIVILEGE (LUID){16, 0}
|
||||
#define SE_LUID_BACKUP_PRIVILEGE (LUID){17, 0}
|
||||
#define SE_LUID_RESTORE_PRIVILEGE (LUID){18, 0}
|
||||
#define SE_LUID_SHUTDOWN_PRIVILEGE (LUID){19, 0}
|
||||
#define SE_LUID_DEBUG_PRIVILEGE (LUID){20, 0}
|
||||
#define SE_LUID_AUDIT_PRIVILEGE (LUID){21, 0}
|
||||
#define SE_LUID_SYSTEM_ENVIRONMENT_PRIVILEGE (LUID){22, 0}
|
||||
#define SE_LUID_CHANGE_NOTIFY_PRIVILEGE (LUID){23, 0}
|
||||
#define SE_LUID_REMOTE_SHUTDOWN_PRIVILEGE (LUID){24, 0}
|
||||
#define SE_LUID_UNDOCK_PRIVILEGE (LUID){25, 0}
|
||||
#define SE_LUID_SYNC_AGENT_PRIVILEGE (LUID){26, 0}
|
||||
#define SE_LUID_ENABLE_DELEGATION_PRIVILEGE (LUID){27, 0}
|
||||
#define SE_LUID_MANAGE_VOLUME_PRIVILEGE (LUID){28, 0}
|
||||
#define SE_LUID_IMPERSONATE_PRIVILEGE (LUID){29, 0}
|
||||
#define SE_LUID_CREATE_GLOBAL_PRIVILEGE (LUID){30, 0}
|
||||
#define SE_LUID_TRUSTED_CREDMAN_ACCESS_PRIVILEGE (LUID){31, 0}
|
||||
#define SE_LUID_RELABEL_PRIVILEGE (LUID){32, 0}
|
||||
#define SE_LUID_INC_WORKING_SET_PRIVILEGE (LUID){33, 0}
|
||||
#define SE_LUID_TIME_ZONE_PRIVILEGE (LUID){34, 0}
|
||||
#define SE_LUID_CREATE_SYMBOLIC_LINK_PRIVILEGE (LUID){35, 0}
|
||||
|
||||
/* Default security quota */
|
||||
#define SE_DEFAULT_SECURITY_QUOTA 2048
|
||||
|
||||
/* C/C++ specific code */
|
||||
#ifndef __XTOS_ASSEMBLER__
|
||||
|
||||
/* Security impersonation levels */
|
||||
typedef enum _SECURITY_IMPERSONATION_LEVEL
|
||||
{
|
||||
SecurityAnonymous,
|
||||
SecurityIdentification,
|
||||
SecurityImpersonation,
|
||||
SecurityDelegation
|
||||
} SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL;
|
||||
|
||||
/* Generic security mapping structure definition */
|
||||
typedef struct _GENERIC_MAPPING
|
||||
{
|
||||
ULONG GenericRead;
|
||||
ULONG GenericWrite;
|
||||
ULONG GenericExecute;
|
||||
ULONG GenericAll;
|
||||
} GENERIC_MAPPING, *PGENERIC_MAPPING;
|
||||
|
||||
/* Security quality of service structure definition */
|
||||
typedef struct _SECURITY_QUALITY_OF_SERVICE
|
||||
{
|
||||
ULONG Length;
|
||||
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
|
||||
SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
|
||||
BOOLEAN EffectiveOnly;
|
||||
} SECURITY_QUALITY_OF_SERVICE, *PSECURITY_QUALITY_OF_SERVICE;
|
||||
|
||||
#endif /* __XTOS_ASSEMBLER__ */
|
||||
#endif /* __XTDK_SETYPES_H */
|
||||
Reference in New Issue
Block a user