⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layout.h

📁 上一个上传的有问题,这个是好的。visopsys包括系统内核和GUI的全部SOURCE code ,还包括一些基本的docs文档。里面src子目录对应所有SOURCE code.对于想研究操作系统的朋
💻 H
📖 第 1 页 / 共 5 页
字号:
	SECURITY_ENTERPRISE_CONTROLLERS_RID=9,	SECURITY_SERVER_LOGON_RID	  = 9,	SECURITY_PRINCIPAL_SELF_RID	  = 0xa,	SECURITY_AUTHENTICATED_USER_RID	  = 0xb,	SECURITY_RESTRICTED_CODE_RID	  = 0xc,	SECURITY_TERMINAL_SERVER_RID	  = 0xd,	SECURITY_LOGON_IDS_RID		  = 5,	SECURITY_LOGON_IDS_RID_COUNT	  = 3,	SECURITY_LOCAL_SYSTEM_RID	  = 0x12,	SECURITY_NT_NON_UNIQUE		  = 0x15,	SECURITY_BUILTIN_DOMAIN_RID	  = 0x20,	/*	 * Well-known domain relative sub-authority values (RIDs).	 */	/* Users. */	DOMAIN_USER_RID_ADMIN		  = 0x1f4,	DOMAIN_USER_RID_GUEST		  = 0x1f5,	DOMAIN_USER_RID_KRBTGT		  = 0x1f6,	/* Groups. */	DOMAIN_GROUP_RID_ADMINS		  = 0x200,	DOMAIN_GROUP_RID_USERS		  = 0x201,	DOMAIN_GROUP_RID_GUESTS		  = 0x202,	DOMAIN_GROUP_RID_COMPUTERS	  = 0x203,	DOMAIN_GROUP_RID_CONTROLLERS	  = 0x204,	DOMAIN_GROUP_RID_CERT_ADMINS	  = 0x205,	DOMAIN_GROUP_RID_SCHEMA_ADMINS	  = 0x206,	DOMAIN_GROUP_RID_ENTERPRISE_ADMINS= 0x207,	DOMAIN_GROUP_RID_POLICY_ADMINS	  = 0x208,	/* Aliases. */	DOMAIN_ALIAS_RID_ADMINS		  = 0x220,	DOMAIN_ALIAS_RID_USERS		  = 0x221,	DOMAIN_ALIAS_RID_GUESTS		  = 0x222,	DOMAIN_ALIAS_RID_POWER_USERS	  = 0x223,	DOMAIN_ALIAS_RID_ACCOUNT_OPS	  = 0x224,	DOMAIN_ALIAS_RID_SYSTEM_OPS	  = 0x225,	DOMAIN_ALIAS_RID_PRINT_OPS	  = 0x226,	DOMAIN_ALIAS_RID_BACKUP_OPS	  = 0x227,	DOMAIN_ALIAS_RID_REPLICATOR	  = 0x228,	DOMAIN_ALIAS_RID_RAS_SERVERS	  = 0x229,	DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x22a,} RELATIVE_IDENTIFIERS;/* * The universal well-known SIDs: * *	NULL_SID			S-1-0-0 *	WORLD_SID			S-1-1-0 *	LOCAL_SID			S-1-2-0 *	CREATOR_OWNER_SID		S-1-3-0 *	CREATOR_GROUP_SID		S-1-3-1 *	CREATOR_OWNER_SERVER_SID	S-1-3-2 *	CREATOR_GROUP_SERVER_SID	S-1-3-3 * *	(Non-unique IDs)		S-1-4 * * NT well-known SIDs: * *	NT_AUTHORITY_SID	S-1-5 *	DIALUP_SID		S-1-5-1 * *	NETWORD_SID		S-1-5-2 *	BATCH_SID		S-1-5-3 *	INTERACTIVE_SID		S-1-5-4 *	SERVICE_SID		S-1-5-6 *	ANONYMOUS_LOGON_SID	S-1-5-7		(aka null logon session) *	PROXY_SID		S-1-5-8 *	SERVER_LOGON_SID	S-1-5-9		(aka domain controller account) *	SELF_SID		S-1-5-10	(self RID) *	AUTHENTICATED_USER_SID	S-1-5-11 *	RESTRICTED_CODE_SID	S-1-5-12	(running restricted code) *	TERMINAL_SERVER_SID	S-1-5-13	(running on terminal server) * *	(Logon IDs)		S-1-5-5-X-Y * *	(NT non-unique IDs)	S-1-5-0x15-... * *	(Built-in domain)	S-1-5-0x20 *//** * union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure * * NOTE: This is stored as a big endian number. */typedef union {	struct {		u16 high_part;		/* High 16-bits. */		u32 low_part;		/* Low 32-bits. */	} __attribute__((__packed__));	u8 value[6];			/* Value as individual bytes. */} __attribute__((__packed__)) SID_IDENTIFIER_AUTHORITY;/** * struct SID - * * The SID structure is a variable-length structure used to uniquely identify * users or groups. SID stands for security identifier. * * The standard textual representation of the SID is of the form: *	S-R-I-S-S... * Where: *    - The first "S" is the literal character 'S' identifying the following *	digits as a SID. *    - R is the revision level of the SID expressed as a sequence of digits *	in decimal. *    - I is the 48-bit identifier_authority, expressed as digits in decimal, *	if I < 2^32, or hexadecimal prefixed by "0x", if I >= 2^32. *    - S... is one or more sub_authority values, expressed as digits in *	decimal. * * Example SID; the domain-relative SID of the local Administrators group on * Windows NT/2k: *	S-1-5-32-544 * This translates to a SID with: *	revision = 1, *	sub_authority_count = 2, *	identifier_authority = {0,0,0,0,0,5},	// SECURITY_NT_AUTHORITY *	sub_authority[0] = 32,			// SECURITY_BUILTIN_DOMAIN_RID *	sub_authority[1] = 544			// DOMAIN_ALIAS_RID_ADMINS */typedef struct {	u8 revision;	u8 sub_authority_count;	SID_IDENTIFIER_AUTHORITY identifier_authority;	u32 sub_authority[1];		/* At least one sub_authority. */} __attribute__((__packed__)) SID;/** * enum SID_CONSTANTS - Current constants for SIDs. */typedef enum {	SID_REVISION			=  1,	/* Current revision level. */	SID_MAX_SUB_AUTHORITIES		= 15,	/* Maximum number of those. */	SID_RECOMMENDED_SUB_AUTHORITIES	=  1,	/* Will change to around 6 in						   a future revision. */} SID_CONSTANTS;/** * enum ACE_TYPES - The predefined ACE types (8-bit, see below). */typedef enum {	ACCESS_MIN_MS_ACE_TYPE		= 0,	ACCESS_ALLOWED_ACE_TYPE		= 0,	ACCESS_DENIED_ACE_TYPE		= 1,	SYSTEM_AUDIT_ACE_TYPE		= 2,	SYSTEM_ALARM_ACE_TYPE		= 3, /* Not implemented as of Win2k. */	ACCESS_MAX_MS_V2_ACE_TYPE	= 3,	ACCESS_ALLOWED_COMPOUND_ACE_TYPE= 4,	ACCESS_MAX_MS_V3_ACE_TYPE	= 4,	/* The following are Win2k only. */	ACCESS_MIN_MS_OBJECT_ACE_TYPE	= 5,	ACCESS_ALLOWED_OBJECT_ACE_TYPE	= 5,	ACCESS_DENIED_OBJECT_ACE_TYPE	= 6,	SYSTEM_AUDIT_OBJECT_ACE_TYPE	= 7,	SYSTEM_ALARM_OBJECT_ACE_TYPE	= 8,	ACCESS_MAX_MS_OBJECT_ACE_TYPE	= 8,	ACCESS_MAX_MS_V4_ACE_TYPE	= 8,	/* This one is for WinNT&2k. */	ACCESS_MAX_MS_ACE_TYPE		= 8,} __attribute__((__packed__)) ACE_TYPES;/** * enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance. * * SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE * types to indicate that a message is generated (in Windows!) for successful * accesses. * * FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types * to indicate that a message is generated (in Windows!) for failed accesses. */typedef enum {	/* The inheritance flags. */	OBJECT_INHERIT_ACE		= 0x01,	CONTAINER_INHERIT_ACE		= 0x02,	NO_PROPAGATE_INHERIT_ACE	= 0x04,	INHERIT_ONLY_ACE		= 0x08,	INHERITED_ACE			= 0x10,	/* Win2k only. */	VALID_INHERIT_FLAGS		= 0x1f,	/* The audit flags. */	SUCCESSFUL_ACCESS_ACE_FLAG	= 0x40,	FAILED_ACCESS_ACE_FLAG		= 0x80,} __attribute__((__packed__)) ACE_FLAGS;/** * struct ACE_HEADER - * * An ACE is an access-control entry in an access-control list (ACL). * An ACE defines access to an object for a specific user or group or defines * the types of access that generate system-administration messages or alarms * for a specific user or group. The user or group is identified by a security * identifier (SID). * * Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary), * which specifies the type and size of the ACE. The format of the subsequent * data depends on the ACE type. */typedef struct {	ACE_TYPES type;		/* Type of the ACE. */	ACE_FLAGS flags;	/* Flags describing the ACE. */	u16 size;		/* Size in bytes of the ACE. */} __attribute__((__packed__)) ACE_HEADER;/** * enum ACCESS_MASK - The access mask (32-bit). * * Defines the access rights. */typedef enum {	/*	 * The specific rights (bits 0 to 15). Depend on the type of the	 * object being secured by the ACE.	 */	/* Specific rights for files and directories are as follows: */	/* Right to read data from the file. (FILE) */	FILE_READ_DATA			= const_cpu_to_le32(0x00000001),	/* Right to list contents of a directory. (DIRECTORY) */	FILE_LIST_DIRECTORY		= const_cpu_to_le32(0x00000001),	/* Right to write data to the file. (FILE) */	FILE_WRITE_DATA			= const_cpu_to_le32(0x00000002),	/* Right to create a file in the directory. (DIRECTORY) */	FILE_ADD_FILE			= const_cpu_to_le32(0x00000002),	/* Right to append data to the file. (FILE) */	FILE_APPEND_DATA		= const_cpu_to_le32(0x00000004),	/* Right to create a subdirectory. (DIRECTORY) */	FILE_ADD_SUBDIRECTORY		= const_cpu_to_le32(0x00000004),	/* Right to read extended attributes. (FILE/DIRECTORY) */	FILE_READ_EA			= const_cpu_to_le32(0x00000008),	/* Right to write extended attributes. (FILE/DIRECTORY) */	FILE_WRITE_EA			= const_cpu_to_le32(0x00000010),	/* Right to execute a file. (FILE) */	FILE_EXECUTE			= const_cpu_to_le32(0x00000020),	/* Right to traverse the directory. (DIRECTORY) */	FILE_TRAVERSE			= const_cpu_to_le32(0x00000020),	/*	 * Right to delete a directory and all the files it contains (its	 * children), even if the files are read-only. (DIRECTORY)	 */	FILE_DELETE_CHILD		= const_cpu_to_le32(0x00000040),	/* Right to read file attributes. (FILE/DIRECTORY) */	FILE_READ_ATTRIBUTES		= const_cpu_to_le32(0x00000080),	/* Right to change file attributes. (FILE/DIRECTORY) */	FILE_WRITE_ATTRIBUTES		= const_cpu_to_le32(0x00000100),	/*	 * The standard rights (bits 16 to 23). Are independent of the type of	 * object being secured.	 */	/* Right to delete the object. */	DELETE				= const_cpu_to_le32(0x00010000),	/*	 * Right to read the information in the object's security descriptor,	 * not including the information in the SACL. I.e. right to read the	 * security descriptor and owner.	 */	READ_CONTROL			= const_cpu_to_le32(0x00020000),	/* Right to modify the DACL in the object's security descriptor. */	WRITE_DAC			= const_cpu_to_le32(0x00040000),	/* Right to change the owner in the object's security descriptor. */	WRITE_OWNER			= const_cpu_to_le32(0x00080000),	/*	 * Right to use the object for synchronization. Enables a process to	 * wait until the object is in the signalled state. Some object types	 * do not support this access right.	 */	SYNCHRONIZE			= const_cpu_to_le32(0x00100000),	/*	 * The following STANDARD_RIGHTS_* are combinations of the above for	 * convenience and are defined by the Win32 API.	 */	/* These are currently defined to READ_CONTROL. */	STANDARD_RIGHTS_READ		= const_cpu_to_le32(0x00020000),	STANDARD_RIGHTS_WRITE		= const_cpu_to_le32(0x00020000),	STANDARD_RIGHTS_EXECUTE		= const_cpu_to_le32(0x00020000),	/* Combines DELETE, READ_CONTROL, WRITE_DAC, and WRITE_OWNER access. */	STANDARD_RIGHTS_REQUIRED	= const_cpu_to_le32(0x000f0000),	/*	 * Combines DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER, and	 * SYNCHRONIZE access.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -