[PATCH] Add missing definitions to winnt.h

Casper Hornstrup <[email protected]>
Newsgroups gmane.comp.gnu.mingw.patches
Message-ID <[email protected]>
2002-06-17  Casper S. Hornstrup  <[email protected]>

	* include/winnt.h (PCCHAR, FCHAR, FSHORT, FLONG, PLUID_AND_ATTRIBUTES,
	PSECURITY_IMPERSONATION_LEVEL, PSID_AND_ATTRIBUTES, PTOKEN_TYPE,
	PTOKEN_STATISTICS): Add typedefs.
	(CCHAR): Correct typedef.
	(FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, PROCESS_SET_SESSIONID, PROCESS_READ,
	PROCESS_WRITE, PROCESS_EXECUTE, SECURITY_*, SE_*, SEC_BASED, SEC_NO_CHANGE,
	SECTION_MAP_EXECUTE): Add defines.


Index: include/winnt.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/winnt.h,v
retrieving revision 1.24
diff -u -r1.24 winnt.h
--- include/winnt.h	14 Jun 2002 11:44:47 -0000	1.24
+++ include/winnt.h	17 Jun 2002 18:39:38 -0000
@@ -49,7 +49,7 @@
 typedef char CHAR;
 typedef short SHORT;
 typedef long LONG;
-typedef CHAR CCHAR;
+typedef char CCHAR, *PCCHAR;
 typedef unsigned char UCHAR,*PUCHAR;
 typedef unsigned short USHORT,*PUSHORT;
 typedef unsigned long ULONG,*PULONG;
@@ -147,6 +147,9 @@
 #define UNICODE_NULL L'\0'
 typedef BYTE BOOLEAN,*PBOOLEAN;
 #endif
+typedef BYTE FCHAR;
+typedef WORD FSHORT;
+typedef DWORD FLONG;
 
 #define NTAPI __stdcall
 #include <basetsd.h>
@@ -205,6 +208,8 @@
 #define FILE_DELETE_CHILD	64
 #define FILE_READ_ATTRIBUTES	128
 #define FILE_WRITE_ATTRIBUTES	256
+#define FILE_ANY_ACCESS 0
+#define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS)
 #define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x1FF)
 #define FILE_GENERIC_READ (STANDARD_RIGHTS_READ|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONIZE)
 #define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONIZE)
@@ -256,6 +261,7 @@
 #define DUPLICATE_SAME_ACCESS	2
 #define PROCESS_TERMINATE	1
 #define PROCESS_CREATE_THREAD	2
+#define PROCESS_SET_SESSIONID	4
 #define PROCESS_VM_OPERATION	8
 #define PROCESS_VM_READ	16
 #define PROCESS_VM_WRITE	32
@@ -264,6 +270,9 @@
 #define PROCESS_SET_QUOTA	256
 #define PROCESS_SET_INFORMATION	512
 #define PROCESS_QUERY_INFORMATION	1024
+#define PROCESS_READ 0x020410
+#define PROCESS_WRITE 0x020beb
+#define PROCESS_EXECUTE 0x120000L
 #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF)
 #define THREAD_TERMINATE	1
 #define THREAD_SUSPEND_RESUME	2
@@ -311,6 +320,42 @@
 #define SECURITY_LOCAL_SYSTEM_RID	18
 #define SECURITY_BUILTIN_DOMAIN_RID   32
 #define SECURITY_PRINCIPAL_SELF_RID   10
+#define SECURITY_CREATOR_OWNER_SERVER_RID 0x2
+#define SECURITY_CREATOR_GROUP_SERVER_RID 0x3
+#define SECURITY_LOGON_IDS_RID_COUNT 0x3
+#define SECURITY_ANONYMOUS_LOGON_RID 0x7
+#define SECURITY_PROXY_RID 0x8
+#define SECURITY_ENTERPRISE_CONTROLLERS_RID 0x9
+#define SECURITY_SERVER_LOGON_RID SECURITY_ENTERPRISE_CONTROLLERS_RID
+#define SECURITY_AUTHENTICATED_USER_RID 0xB
+#define SECURITY_RESTRICTED_CODE_RID 0xC
+#define SECURITY_NT_NON_UNIQUE_RID 0x15
+#define SE_MIN_WELL_KNOWN_PRIVILEGE 2
+#define SE_CREATE_TOKEN_PRIVILEGE 2
+#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE 3
+#define SE_LOCK_MEMORY_PRIVILEGE 4
+#define SE_INCREASE_QUOTA_PRIVILEGE 5
+#define SE_UNSOLICITED_INPUT_PRIVILEGE 6
+#define SE_MACHINE_ACCOUNT_PRIVILEGE 6
+#define SE_TCB_PRIVILEGE 7
+#define SE_SECURITY_PRIVILEGE 8
+#define SE_TAKE_OWNERSHIP_PRIVILEGE 9
+#define SE_LOAD_DRIVER_PRIVILEGE 10
+#define SE_SYSTEM_PROFILE_PRIVILEGE 11
+#define SE_SYSTEMTIME_PRIVILEGE 12
+#define SE_PROF_SINGLE_PROCESS_PRIVILEGE 13
+#define SE_INC_BASE_PRIORITY_PRIVILEGE 14
+#define SE_CREATE_PAGEFILE_PRIVILEGE 15
+#define SE_CREATE_PERMANENT_PRIVILEGE 16
+#define SE_BACKUP_PRIVILEGE 17
+#define SE_RESTORE_PRIVILEGE 18
+#define SE_SHUTDOWN_PRIVILEGE 19
+#define SE_DEBUG_PRIVILEGE 20
+#define SE_AUDIT_PRIVILEGE 21
+#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE 22
+#define SE_CHANGE_NOTIFY_PRIVILEGE 23
+#define SE_REMOTE_SHUTDOWN_PRIVILEGE 24
+#define SE_MAX_WELL_KNOWN_PRIVILEGE SE_REMOTE_SHUTDOWN_PRIVILEGE
 #define SID_REVISION 1
 #define DOMAIN_USER_RID_ADMIN 0x1F4L
 #define DOMAIN_USER_RID_GUEST 0x1F5L
@@ -648,6 +693,8 @@
 #define MEM_PHYSICAL	   0x400000
 #define MEM_4MB_PAGES    0x80000000
 #define MEM_IMAGE 16777216
+#define SEC_BASED 0x00200000
+#define SEC_NO_CHANGE 0x00400000
 #define SEC_FILE 0x800000
 #define SEC_IMAGE 0x1000000
 #define SEC_VLM 0x2000000
@@ -659,6 +706,7 @@
 #define SECTION_MAP_READ 4
 #define SECTION_MAP_WRITE 2
 #define SECTION_QUERY 1
+#define SECTION_MAP_EXECUTE 8
 #define SECTION_ALL_ACCESS 0xf001f
 #define MESSAGE_RESOURCE_UNICODE 1
 #define RTL_CRITSECT_TYPE 0
@@ -1785,7 +1833,7 @@
 typedef struct _LUID_AND_ATTRIBUTES {
 	LUID   Luid;
 	DWORD  Attributes;
-} LUID_AND_ATTRIBUTES;
+} LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES;
 #pragma pack(pop)
 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
 typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
@@ -1804,7 +1852,7 @@
 	SecurityIdentification,
 	SecurityImpersonation,
 	SecurityDelegation
-} SECURITY_IMPERSONATION_LEVEL;
+} SECURITY_IMPERSONATION_LEVEL,*PSECURITY_IMPERSONATION_LEVEL;
 typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,*PSECURITY_CONTEXT_TRACKING_MODE;
 typedef struct _SECURITY_QUALITY_OF_SERVICE {
 	DWORD Length;
@@ -1832,7 +1880,7 @@
 typedef struct _SID_AND_ATTRIBUTES {
 	PSID Sid;
 	DWORD Attributes;
-} SID_AND_ATTRIBUTES;
+} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
 typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
 typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
 typedef struct _TOKEN_SOURCE {
@@ -1862,7 +1910,7 @@
 	DWORD PrivilegeCount;
 	LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
 } TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;
-typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE;
+typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE, *PTOKEN_TYPE;
 typedef struct _TOKEN_STATISTICS {
 	LUID TokenId;
 	LUID AuthenticationId;
@@ -1874,7 +1922,7 @@
 	DWORD GroupCount;
 	DWORD PrivilegeCount;
 	LUID ModifiedId;
-} TOKEN_STATISTICS;
+} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
 typedef struct _TOKEN_USER {
 	SID_AND_ATTRIBUTES User;
 } TOKEN_USER, *PTOKEN_USER;
winnt-add.diff (text/x-diff, 6.2 KB)
2002-06-17  Casper S. Hornstrup  <[email protected]>

	* include/winnt.h (PCCHAR, FCHAR, FSHORT, FLONG, PLUID_AND_ATTRIBUTES,
	PSECURITY_IMPERSONATION_LEVEL, PSID_AND_ATTRIBUTES, PTOKEN_TYPE,
	PTOKEN_STATISTICS): Add typedefs.
	(CCHAR): Correct typedef.
	(FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, PROCESS_SET_SESSIONID, PROCESS_READ,
	PROCESS_WRITE, PROCESS_EXECUTE, SECURITY_*, SE_*, SEC_BASED, SEC_NO_CHANGE,
	SECTION_MAP_EXECUTE): Add defines.


Index: include/winnt.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/winnt.h,v
retrieving revision 1.24
diff -u -r1.24 winnt.h
--- include/winnt.h	14 Jun 2002 11:44:47 -0000	1.24
+++ include/winnt.h	17 Jun 2002 18:39:38 -0000
@@ -49,7 +49,7 @@
 typedef char CHAR;
 typedef short SHORT;
 typedef long LONG;
-typedef CHAR CCHAR;
+typedef char CCHAR, *PCCHAR;
 typedef unsigned char UCHAR,*PUCHAR;
 typedef unsigned short USHORT,*PUSHORT;
 typedef unsigned long ULONG,*PULONG;
@@ -147,6 +147,9 @@
 #define UNICODE_NULL L'\0'
 typedef BYTE BOOLEAN,*PBOOLEAN;
 #endif
+typedef BYTE FCHAR;
+typedef WORD FSHORT;
+typedef DWORD FLONG;
 
 #define NTAPI __stdcall
 #include <basetsd.h>
@@ -205,6 +208,8 @@
 #define FILE_DELETE_CHILD	64
 #define FILE_READ_ATTRIBUTES	128
 #define FILE_WRITE_ATTRIBUTES	256
+#define FILE_ANY_ACCESS 0
+#define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS)
 #define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x1FF)
 #define FILE_GENERIC_READ (STANDARD_RIGHTS_READ|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONIZE)
 #define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONIZE)
@@ -256,6 +261,7 @@
 #define DUPLICATE_SAME_ACCESS	2
 #define PROCESS_TERMINATE	1
 #define PROCESS_CREATE_THREAD	2
+#define PROCESS_SET_SESSIONID	4
 #define PROCESS_VM_OPERATION	8
 #define PROCESS_VM_READ	16
 #define PROCESS_VM_WRITE	32
@@ -264,6 +270,9 @@
 #define PROCESS_SET_QUOTA	256
 #define PROCESS_SET_INFORMATION	512
 #define PROCESS_QUERY_INFORMATION	1024
+#define PROCESS_READ 0x020410
+#define PROCESS_WRITE 0x020beb
+#define PROCESS_EXECUTE 0x120000L
 #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF)
 #define THREAD_TERMINATE	1
 #define THREAD_SUSPEND_RESUME	2
@@ -311,6 +320,42 @@
 #define SECURITY_LOCAL_SYSTEM_RID	18
 #define SECURITY_BUILTIN_DOMAIN_RID   32
 #define SECURITY_PRINCIPAL_SELF_RID   10
+#define SECURITY_CREATOR_OWNER_SERVER_RID 0x2
+#define SECURITY_CREATOR_GROUP_SERVER_RID 0x3
+#define SECURITY_LOGON_IDS_RID_COUNT 0x3
+#define SECURITY_ANONYMOUS_LOGON_RID 0x7
+#define SECURITY_PROXY_RID 0x8
+#define SECURITY_ENTERPRISE_CONTROLLERS_RID 0x9
+#define SECURITY_SERVER_LOGON_RID SECURITY_ENTERPRISE_CONTROLLERS_RID
+#define SECURITY_AUTHENTICATED_USER_RID 0xB
+#define SECURITY_RESTRICTED_CODE_RID 0xC
+#define SECURITY_NT_NON_UNIQUE_RID 0x15
+#define SE_MIN_WELL_KNOWN_PRIVILEGE 2
+#define SE_CREATE_TOKEN_PRIVILEGE 2
+#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE 3
+#define SE_LOCK_MEMORY_PRIVILEGE 4
+#define SE_INCREASE_QUOTA_PRIVILEGE 5
+#define SE_UNSOLICITED_INPUT_PRIVILEGE 6
+#define SE_MACHINE_ACCOUNT_PRIVILEGE 6
+#define SE_TCB_PRIVILEGE 7
+#define SE_SECURITY_PRIVILEGE 8
+#define SE_TAKE_OWNERSHIP_PRIVILEGE 9
+#define SE_LOAD_DRIVER_PRIVILEGE 10
+#define SE_SYSTEM_PROFILE_PRIVILEGE 11
+#define SE_SYSTEMTIME_PRIVILEGE 12
+#define SE_PROF_SINGLE_PROCESS_PRIVILEGE 13
+#define SE_INC_BASE_PRIORITY_PRIVILEGE 14
+#define SE_CREATE_PAGEFILE_PRIVILEGE 15
+#define SE_CREATE_PERMANENT_PRIVILEGE 16
+#define SE_BACKUP_PRIVILEGE 17
+#define SE_RESTORE_PRIVILEGE 18
+#define SE_SHUTDOWN_PRIVILEGE 19
+#define SE_DEBUG_PRIVILEGE 20
+#define SE_AUDIT_PRIVILEGE 21
+#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE 22
+#define SE_CHANGE_NOTIFY_PRIVILEGE 23
+#define SE_REMOTE_SHUTDOWN_PRIVILEGE 24
+#define SE_MAX_WELL_KNOWN_PRIVILEGE SE_REMOTE_SHUTDOWN_PRIVILEGE
 #define SID_REVISION 1
 #define DOMAIN_USER_RID_ADMIN 0x1F4L
 #define DOMAIN_USER_RID_GUEST 0x1F5L
@@ -648,6 +693,8 @@
 #define MEM_PHYSICAL	   0x400000
 #define MEM_4MB_PAGES    0x80000000
 #define MEM_IMAGE 16777216
+#define SEC_BASED 0x00200000
+#define SEC_NO_CHANGE 0x00400000
 #define SEC_FILE 0x800000
 #define SEC_IMAGE 0x1000000
 #define SEC_VLM 0x2000000
@@ -659,6 +706,7 @@
 #define SECTION_MAP_READ 4
 #define SECTION_MAP_WRITE 2
 #define SECTION_QUERY 1
+#define SECTION_MAP_EXECUTE 8
 #define SECTION_ALL_ACCESS 0xf001f
 #define MESSAGE_RESOURCE_UNICODE 1
 #define RTL_CRITSECT_TYPE 0
@@ -1785,7 +1833,7 @@
 typedef struct _LUID_AND_ATTRIBUTES {
 	LUID   Luid;
 	DWORD  Attributes;
-} LUID_AND_ATTRIBUTES;
+} LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES;
 #pragma pack(pop)
 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
 typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
@@ -1804,7 +1852,7 @@
 	SecurityIdentification,
 	SecurityImpersonation,
 	SecurityDelegation
-} SECURITY_IMPERSONATION_LEVEL;
+} SECURITY_IMPERSONATION_LEVEL,*PSECURITY_IMPERSONATION_LEVEL;
 typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,*PSECURITY_CONTEXT_TRACKING_MODE;
 typedef struct _SECURITY_QUALITY_OF_SERVICE {
 	DWORD Length;
@@ -1832,7 +1880,7 @@
 typedef struct _SID_AND_ATTRIBUTES {
 	PSID Sid;
 	DWORD Attributes;
-} SID_AND_ATTRIBUTES;
+} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
 typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
 typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
 typedef struct _TOKEN_SOURCE {
@@ -1862,7 +1910,7 @@
 	DWORD PrivilegeCount;
 	LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
 } TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;
-typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE;
+typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE, *PTOKEN_TYPE;
 typedef struct _TOKEN_STATISTICS {
 	LUID TokenId;
 	LUID AuthenticationId;
@@ -1874,7 +1922,7 @@
 	DWORD GroupCount;
 	DWORD PrivilegeCount;
 	LUID ModifiedId;
-} TOKEN_STATISTICS;
+} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
 typedef struct _TOKEN_USER {
 	SID_AND_ATTRIBUTES User;
 } TOKEN_USER, *PTOKEN_USER;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.