Skip to content

Commit a9a39bc

Browse files
committed
Added multiple ctypes_generation definition + some winproxy functions
1 parent 45ace33 commit a9a39bc

15 files changed

Lines changed: 704 additions & 89 deletions

File tree

Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
//
2+
// AccessSystemAcl access type
3+
//
4+
5+
#define ACCESS_SYSTEM_SECURITY (0x01000000L)
6+
7+
//
8+
// MaximumAllowed access type
9+
//
10+
11+
#define MAXIMUM_ALLOWED (0x02000000L)
12+
13+
//
14+
// Define access rights to files and directories
15+
//
16+
17+
#define FILE_READ_DATA ( 0x0001 ) // file & pipe
18+
#define FILE_LIST_DIRECTORY ( 0x0001 ) // directory
19+
#define FILE_WRITE_DATA ( 0x0002 ) // file & pipe
20+
#define FILE_ADD_FILE ( 0x0002 ) // directory
21+
#define FILE_APPEND_DATA ( 0x0004 ) // file
22+
#define FILE_ADD_SUBDIRECTORY ( 0x0004 ) // directory
23+
#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 ) // named pipe
24+
#define FILE_READ_EA ( 0x0008 ) // file & directory
25+
#define FILE_WRITE_EA ( 0x0010 ) // file & directory
26+
#define FILE_EXECUTE ( 0x0020 ) // file
27+
#define FILE_TRAVERSE ( 0x0020 ) // directory
28+
#define FILE_DELETE_CHILD ( 0x0040 ) // directory
29+
#define FILE_READ_ATTRIBUTES ( 0x0080 ) // all
30+
#define FILE_WRITE_ATTRIBUTES ( 0x0100 ) // all
31+
32+
#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
33+
34+
#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\
35+
FILE_READ_DATA |\
36+
FILE_READ_ATTRIBUTES |\
37+
FILE_READ_EA |\
38+
SYNCHRONIZE)
39+
40+
41+
#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\
42+
FILE_WRITE_DATA |\
43+
FILE_WRITE_ATTRIBUTES |\
44+
FILE_WRITE_EA |\
45+
FILE_APPEND_DATA |\
46+
SYNCHRONIZE)
47+
48+
49+
#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
50+
FILE_READ_ATTRIBUTES |\
51+
FILE_EXECUTE |\
52+
SYNCHRONIZE)
53+
54+
55+
56+
//
57+
// Callback Specific Access Rights.
58+
//
59+
60+
#define CALLBACK_MODIFY_STATE 0x0001
61+
62+
#define CALLBACK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\
63+
CALLBACK_MODIFY_STATE )
64+
65+
66+
// Event Specific Access Rights.
67+
//
68+
69+
#define EVENT_QUERY_STATE 0x0001
70+
#define EVENT_MODIFY_STATE 0x0002 // winnt
71+
#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt
72+
73+
74+
//
75+
// Mutant Specific Access Rights.
76+
//
77+
// begin_winnt
78+
79+
#define MUTANT_QUERY_STATE 0x0001
80+
81+
#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\
82+
MUTANT_QUERY_STATE)
83+
84+
85+
//
86+
// Semaphore Specific Access Rights.
87+
//
88+
89+
#define SEMAPHORE_QUERY_STATE 0x0001
90+
#define SEMAPHORE_MODIFY_STATE 0x0002 // winnt
91+
92+
#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt
93+
94+
95+
// Timer Specific Access Rights.
96+
//
97+
98+
#define TIMER_QUERY_STATE 0x0001
99+
#define TIMER_MODIFY_STATE 0x0002
100+
101+
#define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\
102+
TIMER_QUERY_STATE|TIMER_MODIFY_STATE)
103+
104+
// I/O Completion Specific Access Rights.
105+
//
106+
107+
#define IO_COMPLETION_QUERY_STATE 0x0001
108+
#define IO_COMPLETION_MODIFY_STATE 0x0002 // winnt
109+
#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt
110+
111+
112+
//
113+
// Connection Port Type Specific Access Rights.
114+
//
115+
116+
#define PORT_CONNECT (0x0001)
117+
118+
#define PORT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
119+
SYNCHRONIZE | 0x1)
120+
121+
122+
//
123+
// Object Manager Object Type Specific Access Rights.
124+
//
125+
126+
#define OBJECT_TYPE_CREATE (0x0001)
127+
128+
#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
129+
130+
//
131+
// Object Manager Directory Specific Access Rights.
132+
//
133+
134+
#define DIRECTORY_QUERY (0x0001)
135+
#define DIRECTORY_TRAVERSE (0x0002)
136+
#define DIRECTORY_CREATE_OBJECT (0x0004)
137+
#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
138+
139+
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
140+
141+
142+
//
143+
// Object Manager Symbolic Link Specific Access Rights.
144+
//
145+
146+
#define SYMBOLIC_LINK_QUERY (0x0001)
147+
#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
148+
149+
150+
//
151+
// Process Specific Access Rights
152+
//
153+
154+
#define PROCESS_TERMINATE (0x0001)
155+
#define PROCESS_CREATE_THREAD (0x0002)
156+
#define PROCESS_SET_SESSIONID (0x0004)
157+
#define PROCESS_VM_OPERATION (0x0008)
158+
#define PROCESS_VM_READ (0x0010)
159+
#define PROCESS_VM_WRITE (0x0020)
160+
#define PROCESS_DUP_HANDLE (0x0040)
161+
#define PROCESS_CREATE_PROCESS (0x0080)
162+
#define PROCESS_SET_QUOTA (0x0100)
163+
#define PROCESS_SET_INFORMATION (0x0200)
164+
#define PROCESS_QUERY_INFORMATION (0x0400)
165+
#define PROCESS_SUSPEND_RESUME (0x0800)
166+
#define PROCESS_QUERY_LIMITED_INFORMATION (0x1000)
167+
#define PROCESS_SET_LIMITED_INFORMATION (0x2000)
168+
169+
170+
#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
171+
0xFFF)
172+
173+
174+
//
175+
// Thread Specific Access Rights
176+
//
177+
178+
#define THREAD_TERMINATE (0x0001)
179+
#define THREAD_SUSPEND_RESUME (0x0002)
180+
#define THREAD_GET_CONTEXT (0x0008)
181+
#define THREAD_SET_CONTEXT (0x0010)
182+
#define THREAD_QUERY_INFORMATION (0x0040)
183+
#define THREAD_SET_INFORMATION (0x0020)
184+
#define THREAD_SET_THREAD_TOKEN (0x0080)
185+
#define THREAD_IMPERSONATE (0x0100)
186+
#define THREAD_DIRECT_IMPERSONATION (0x0200)
187+
188+
#define THREAD_ALL_ACCESS 0x001F03FF
189+
190+
//
191+
// Job Object Specific Access Rights
192+
//
193+
194+
// begin_winnt
195+
#define JOB_OBJECT_ASSIGN_PROCESS (0x0001)
196+
#define JOB_OBJECT_SET_ATTRIBUTES (0x0002)
197+
#define JOB_OBJECT_QUERY (0x0004)
198+
#define JOB_OBJECT_TERMINATE (0x0008)
199+
#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010)
200+
#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
201+
0x1F )
202+
203+
204+
//
205+
// Registry Specific Access Rights.
206+
//
207+
208+
#define KEY_QUERY_VALUE (0x0001)
209+
#define KEY_SET_VALUE (0x0002)
210+
#define KEY_CREATE_SUB_KEY (0x0004)
211+
#define KEY_ENUMERATE_SUB_KEYS (0x0008)
212+
#define KEY_NOTIFY (0x0010)
213+
#define KEY_CREATE_LINK (0x0020)
214+
#define KEY_WOW64_32KEY (0x0200)
215+
#define KEY_WOW64_64KEY (0x0100)
216+
#define KEY_WOW64_RES (0x0300)
217+
218+
219+
#define KEY_READ ((STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY)&(~SYNCHRONIZE))
220+
#define KEY_WRITE ((STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY)&(~SYNCHRONIZE))
221+
#define KEY_EXECUTE ((KEY_READ)&(~SYNCHRONIZE))
222+
#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK)&(~SYNCHRONIZE))
223+
224+
225+
226+
//
227+
// Token Specific Access Rights.
228+
//// Documentation purpose only real define are in token.txt
229+
// #define TOKEN_ASSIGN_PRIMARY (0x0001)
230+
// #define TOKEN_DUPLICATE (0x0002)
231+
// #define TOKEN_IMPERSONATE (0x0004)
232+
// #define TOKEN_QUERY (0x0008)
233+
// #define TOKEN_QUERY_SOURCE (0x0010)
234+
// #define TOKEN_ADJUST_PRIVILEGES (0x0020)
235+
// #define TOKEN_ADJUST_GROUPS (0x0040)
236+
// #define TOKEN_ADJUST_DEFAULT (0x0080)
237+
// #define TOKEN_ADJUST_SESSIONID (0x0100)
238+
239+
240+
//
241+
// Cluster API Specific Access Rights
242+
//
243+
#define CLUSAPI_READ_ACCESS 0x00000001L
244+
#define CLUSAPI_CHANGE_ACCESS 0x00000002L
245+
#define CLUSAPI_NO_ACCESS 0x00000004L
246+
#define CLUSAPI_ALL_ACCESS (CLUSAPI_READ_ACCESS | CLUSAPI_CHANGE_ACCESS)
247+
248+
249+
//
250+
// Fax Specific Access Rights
251+
//
252+
253+
#define FAX_JOB_SUBMIT (0x0001)
254+
#define FAX_JOB_QUERY (0x0002)
255+
#define FAX_CONFIG_QUERY (0x0004)
256+
#define FAX_CONFIG_SET (0x0008)
257+
#define FAX_PORT_QUERY (0x0010)
258+
#define FAX_PORT_SET (0x0020)
259+
#define FAX_JOB_MANAGE (0x0040)

ctypes_generation/definitions/defines/windef.txt

Lines changed: 2 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,8 @@
1313

1414
#define WARMING_NOT_SAME_FLAG_FOR_WINXP 0
1515

16-
#define PROCESS_TERMINATE (0x0001)
17-
#define PROCESS_CREATE_THREAD (0x0002)
18-
#define PROCESS_SET_SESSIONID (0x0004)
19-
#define PROCESS_VM_OPERATION (0x0008)
20-
#define PROCESS_VM_READ (0x0010)
21-
#define PROCESS_VM_WRITE (0x0020)
22-
#define PROCESS_DUP_HANDLE (0x0040)
23-
#define PROCESS_CREATE_PROCESS (0x0080)
24-
#define PROCESS_SET_QUOTA (0x0100)
25-
#define PROCESS_SET_INFORMATION (0x0200)
26-
#define PROCESS_QUERY_INFORMATION (0x0400)
27-
#define PROCESS_SUSPEND_RESUME (0x0800)
28-
#define PROCESS_QUERY_LIMITED_INFORMATION (0x1000)
29-
30-
#define THREAD_TERMINATE (0x0001)
31-
#define THREAD_SUSPEND_RESUME (0x0002)
32-
#define THREAD_GET_CONTEXT (0x0008)
33-
#define THREAD_SET_CONTEXT (0x0010)
34-
#define THREAD_QUERY_INFORMATION (0x0040)
35-
#define THREAD_SET_INFORMATION (0x0020)
36-
#define THREAD_SET_THREAD_TOKEN (0x0080)
37-
#define THREAD_IMPERSONATE (0x0100)
38-
#define THREAD_DIRECT_IMPERSONATION (0x0200)
39-
40-
41-
#define PROCESS_ALL_ACCESS 0x001F0FFF
42-
#define THREAD_ALL_ACCESS 0x001F03FF
16+
17+
4318

4419

4520
#define STARTF_USESHOWWINDOW 0x00000001
@@ -366,21 +341,6 @@
366341
#define RRF_ZEROONFAILURE 0x20000000
367342

368343

369-
#define KEY_QUERY_VALUE (0x0001)
370-
#define KEY_SET_VALUE (0x0002)
371-
#define KEY_CREATE_SUB_KEY (0x0004)
372-
#define KEY_ENUMERATE_SUB_KEYS (0x0008)
373-
#define KEY_NOTIFY (0x0010)
374-
#define KEY_CREATE_LINK (0x0020)
375-
#define KEY_WOW64_32KEY (0x0200)
376-
#define KEY_WOW64_64KEY (0x0100)
377-
#define KEY_WOW64_RES (0x0300)
378-
379-
380-
#define KEY_READ ((STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY)&(~SYNCHRONIZE))
381-
#define KEY_WRITE ((STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY)&(~SYNCHRONIZE))
382-
#define KEY_EXECUTE ((KEY_READ)&(~SYNCHRONIZE))
383-
#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK)&(~SYNCHRONIZE))
384344

385345
#define ERROR_NOT_ALL_ASSIGNED 1300
386346

@@ -738,12 +698,6 @@
738698
#define MAXLEN_IFDESCR 256
739699
#define MAX_INTERFACE_NAME_LEN 256
740700

741-
#define DIRECTORY_QUERY (0x0001)
742-
#define DIRECTORY_TRAVERSE (0x0002)
743-
#define DIRECTORY_CREATE_OBJECT (0x0004)
744-
#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
745-
746-
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
747701

748702
#define OBJ_INHERIT 0x00000002L
749703
#define OBJ_PERMANENT 0x00000010L
@@ -973,26 +927,6 @@
973927
#define FILE_EXISTS 0x00000004
974928
#define FILE_DOES_NOT_EXIST 0x00000005
975929

976-
#define FILE_READ_DATA ( 0x0001 ) // file & pipe
977-
#define FILE_LIST_DIRECTORY ( 0x0001 ) // directory
978-
#define FILE_WRITE_DATA ( 0x0002 ) // file & pipe
979-
#define FILE_ADD_FILE ( 0x0002 ) // directory
980-
#define FILE_APPEND_DATA ( 0x0004 ) // file
981-
#define FILE_ADD_SUBDIRECTORY ( 0x0004 ) // directory
982-
#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 ) // named pipe
983-
#define FILE_READ_EA ( 0x0008 ) // file & directory
984-
#define FILE_WRITE_EA ( 0x0010 ) // file & directory
985-
#define FILE_EXECUTE ( 0x0020 ) // file
986-
#define FILE_TRAVERSE ( 0x0020 ) // directory
987-
#define FILE_DELETE_CHILD ( 0x0040 ) // directory
988-
#define FILE_READ_ATTRIBUTES ( 0x0080 ) // all
989-
#define FILE_WRITE_ATTRIBUTES ( 0x0100 ) // all
990-
991-
#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
992-
#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE)
993-
#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES| FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE)
994-
#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE)
995-
996930

997931
#define API_SET_SCHEMA_VERSION_V2 0x00000002L
998932
#define API_SET_SCHEMA_VERSION_V3 0x00000003L // No offline support.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
DWORD64 WINAPI SymLoadModuleExA(
2+
_In_ HANDLE hProcess,
3+
_In_ HANDLE hFile,
4+
_In_ PCSTR ImageName,
5+
_In_ PCSTR ModuleName,
6+
_In_ DWORD64 BaseOfDll,
7+
_In_ DWORD DllSize,
8+
_In_ PMODLOAD_DATA Data,
9+
_In_ DWORD Flags
10+
);
11+
12+
13+
DWORD64 WINAPI SymLoadModuleExW(
14+
_In_ HANDLE hProcess,
15+
_In_ HANDLE hFile,
16+
_In_ PCWSTR ImageName,
17+
_In_ PCWSTR ModuleName,
18+
_In_ DWORD64 BaseOfDll,
19+
_In_ DWORD DllSize,
20+
_In_ PMODLOAD_DATA Data,
21+
_In_ DWORD Flags
22+
);
23+
24+
25+
BOOL WINAPI SymFromAddr(
26+
_In_ HANDLE hProcess,
27+
_In_ DWORD64 Address,
28+
_Out_opt_ PDWORD64 Displacement,
29+
_Inout_ PSYMBOL_INFO Symbol
30+
);
31+
32+
33+
BOOL WINAPI SymGetModuleInfo64(
34+
_In_ HANDLE hProcess,
35+
_In_ DWORD64 dwAddr,
36+
_Out_ PIMAGEHLP_MODULE64 ModuleInfo
37+
);

0 commit comments

Comments
 (0)