]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/kernel32/kernel32.factor
7d6f0ab5f2673b5fa5b5d4a54ccd96f18f524128
[factor.git] / basis / windows / kernel32 / kernel32.factor
1 ! Copyright (C) 2005, 2006 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.syntax kernel windows.types alias ;
4 IN: windows.kernel32
5
6 : MAX_PATH 260 ; inline
7
8 : GHND          HEX: 40 ; inline
9 : GMEM_FIXED          0 ; inline
10 : GMEM_MOVEABLE       2 ; inline
11 : GMEM_ZEROINIT HEX: 40 ; inline
12 : GPTR          HEX: 40 ; inline
13
14 : GENERIC_READ    HEX: 80000000 ; inline
15 : GENERIC_WRITE   HEX: 40000000 ; inline
16 : GENERIC_EXECUTE HEX: 20000000 ; inline
17 : GENERIC_ALL     HEX: 10000000 ; inline
18
19 : CREATE_NEW        1 ; inline
20 : CREATE_ALWAYS     2 ; inline
21 : OPEN_EXISTING     3 ; inline
22 : OPEN_ALWAYS       4 ; inline
23 : TRUNCATE_EXISTING 5 ; inline
24               
25 : FILE_LIST_DIRECTORY       HEX: 00000001 ; inline
26 : FILE_READ_DAT             HEX: 00000001 ; inline
27 : FILE_ADD_FILE             HEX: 00000002 ; inline
28 : FILE_WRITE_DATA           HEX: 00000002 ; inline
29 : FILE_ADD_SUBDIRECTORY     HEX: 00000004 ; inline
30 : FILE_APPEND_DATA          HEX: 00000004 ; inline
31 : FILE_CREATE_PIPE_INSTANCE HEX: 00000004 ; inline
32 : FILE_READ_EA              HEX: 00000008 ; inline
33 : FILE_READ_PROPERTIES      HEX: 00000008 ; inline
34 : FILE_WRITE_EA             HEX: 00000010 ; inline
35 : FILE_WRITE_PROPERTIES     HEX: 00000010 ; inline
36 : FILE_EXECUTE              HEX: 00000020 ; inline
37 : FILE_TRAVERSE             HEX: 00000020 ; inline
38 : FILE_DELETE_CHILD         HEX: 00000040 ; inline
39 : FILE_READ_ATTRIBUTES      HEX: 00000080 ; inline
40 : FILE_WRITE_ATTRIBUTES     HEX: 00000100 ; inline
41
42 : FILE_SHARE_READ        1 ; inline
43 : FILE_SHARE_WRITE       2 ; inline
44 : FILE_SHARE_DELETE      4 ; inline
45 : FILE_SHARE_VALID_FLAGS 7 ; inline
46
47 : FILE_FLAG_WRITE_THROUGH       HEX: 80000000 ; inline
48 : FILE_FLAG_OVERLAPPED          HEX: 40000000 ; inline
49 : FILE_FLAG_NO_BUFFERING        HEX: 20000000 ; inline
50 : FILE_FLAG_RANDOM_ACCESS       HEX: 10000000 ; inline
51 : FILE_FLAG_SEQUENTIAL_SCAN     HEX: 08000000 ; inline
52 : FILE_FLAG_DELETE_ON_CLOSE     HEX: 04000000 ; inline
53 : FILE_FLAG_BACKUP_SEMANTICS    HEX: 02000000 ; inline
54 : FILE_FLAG_POSIX_SEMANTICS     HEX: 01000000 ; inline
55 : FILE_FLAG_OPEN_REPARSE_POINT  HEX: 00200000 ; inline
56 : FILE_FLAG_OPEN_NO_RECALL      HEX: 00100000 ; inline
57 : FILE_FLAG_FIRST_PIPE_INSTANCE HEX: 00080000 ; inline
58
59 : FILE_ATTRIBUTE_READONLY            HEX: 00000001 ; inline
60 : FILE_ATTRIBUTE_HIDDEN              HEX: 00000002 ; inline
61 : FILE_ATTRIBUTE_SYSTEM              HEX: 00000004 ; inline
62 : FILE_ATTRIBUTE_DIRECTORY           HEX: 00000010 ; inline
63 : FILE_ATTRIBUTE_ARCHIVE             HEX: 00000020 ; inline
64 : FILE_ATTRIBUTE_DEVICE              HEX: 00000040 ; inline
65 : FILE_ATTRIBUTE_NORMAL              HEX: 00000080 ; inline
66 : FILE_ATTRIBUTE_TEMPORARY           HEX: 00000100 ; inline
67 : FILE_ATTRIBUTE_SPARSE_FILE         HEX: 00000200 ; inline
68 : FILE_ATTRIBUTE_REPARSE_POINT       HEX: 00000400 ; inline
69 : FILE_ATTRIBUTE_COMPRESSED          HEX: 00000800 ; inline
70 : FILE_ATTRIBUTE_OFFLINE             HEX: 00001000 ; inline
71 : FILE_ATTRIBUTE_NOT_CONTENT_INDEXED HEX: 00002000 ; inline
72 : FILE_ATTRIBUTE_ENCRYPTED           HEX: 00004000 ; inline
73
74 : FILE_NOTIFY_CHANGE_FILE        HEX: 001 ; inline
75 : FILE_NOTIFY_CHANGE_DIR_NAME    HEX: 002 ; inline
76 : FILE_NOTIFY_CHANGE_ATTRIBUTES  HEX: 004 ; inline
77 : FILE_NOTIFY_CHANGE_SIZE        HEX: 008 ; inline
78 : FILE_NOTIFY_CHANGE_LAST_WRITE  HEX: 010 ; inline
79 : FILE_NOTIFY_CHANGE_LAST_ACCESS HEX: 020 ; inline
80 : FILE_NOTIFY_CHANGE_CREATION    HEX: 040 ; inline
81 : FILE_NOTIFY_CHANGE_EA          HEX: 080 ; inline
82 : FILE_NOTIFY_CHANGE_SECURITY    HEX: 100 ; inline
83 : FILE_NOTIFY_CHANGE_FILE_NAME   HEX: 200 ; inline
84 : FILE_NOTIFY_CHANGE_ALL         HEX: 3ff ; inline
85
86 : FILE_ACTION_ADDED 1 ; inline
87 : FILE_ACTION_REMOVED 2 ; inline
88 : FILE_ACTION_MODIFIED 3 ; inline
89 : FILE_ACTION_RENAMED_OLD_NAME 4 ; inline
90 : FILE_ACTION_RENAMED_NEW_NAME 5 ; inline
91
92 C-STRUCT: FILE_NOTIFY_INFORMATION
93     { "DWORD" "NextEntryOffset" }
94     { "DWORD" "Action" }
95     { "DWORD" "FileNameLength" }
96     { "WCHAR[1]" "FileName" } ;
97 TYPEDEF: FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION
98
99 : STD_INPUT_HANDLE  -10 ; inline
100 : STD_OUTPUT_HANDLE -11 ; inline
101 : STD_ERROR_HANDLE  -12 ; inline
102
103 : INVALID_HANDLE_VALUE -1 <alien> ; inline
104 : INVALID_FILE_SIZE HEX: FFFFFFFF ; inline
105 : INVALID_SET_FILE_POINTER HEX: ffffffff ; inline
106
107 : FILE_BEGIN 0 ; inline
108 : FILE_CURRENT 1 ; inline
109 : FILE_END 2 ; inline
110
111 : OF_READ 0 ;
112 : OF_READWRITE    2 ;
113 : OF_WRITE    1 ;
114 : OF_SHARE_COMPAT    0 ;
115 : OF_SHARE_DENY_NONE    64 ;
116 : OF_SHARE_DENY_READ    48 ;
117 : OF_SHARE_DENY_WRITE    32 ;
118 : OF_SHARE_EXCLUSIVE    16 ;
119 : OF_CANCEL    2048 ;
120 : OF_CREATE    4096 ;
121 : OF_DELETE    512 ;
122 : OF_EXIST    16384 ;
123 : OF_PARSE    256 ;
124 : OF_PROMPT    8192 ;
125 : OF_REOPEN    32768 ;
126 : OF_VERIFY    1024 ;
127
128 : INFINITE HEX: FFFFFFFF ; inline
129
130 ! From C:\cygwin\usr\include\w32api\winbase.h
131 : FILE_TYPE_UNKNOWN 0 ;
132 : FILE_TYPE_DISK 1 ;
133 : FILE_TYPE_CHAR 2 ;
134 : FILE_TYPE_PIPE 3 ;
135 : FILE_TYPE_REMOTE HEX: 8000 ;
136
137 : TIME_ZONE_ID_UNKNOWN 0 ; inline
138 : TIME_ZONE_ID_STANDARD 1 ; inline
139 : TIME_ZONE_ID_DAYLIGHT 2 ; inline
140 : TIME_ZONE_ID_INVALID HEX: FFFFFFFF ; inline
141
142
143 : PF_XMMI64_INSTRUCTIONS_AVAILABLE 10 ; inline
144 : PF_SSE3_INSTRUCTIONS_AVAILABLE 13 ; inline
145
146 : MAX_COMPUTERNAME_LENGTH 15 ; inline
147 : UNLEN 256 ; inline
148
149 : PROCESS_TERMINATE ( -- n ) HEX: 1 ; inline
150 : PROCESS_CREATE_THREAD ( -- n ) HEX: 2 ; inline
151 : PROCESS_VM_OPERATION ( -- n ) HEX: 8 ; inline
152 : PROCESS_VM_READ ( -- n ) HEX: 10 ; inline
153 : PROCESS_VM_WRITE ( -- n ) HEX: 20 ; inline
154 : PROCESS_DUP_HANDLE ( -- n ) HEX: 40 ; inline
155 : PROCESS_CREATE_PROCESS ( -- n ) HEX: 80 ; inline
156 : PROCESS_SET_QUOTA ( -- n ) HEX: 100 ; inline
157 : PROCESS_SET_INFORMATION ( -- n ) HEX: 200 ; inline
158 : PROCESS_QUERY_INFORMATION ( -- n ) HEX: 400 ; inline
159
160 : MEM_COMMIT ( -- n ) HEX: 1000 ; inline
161 : MEM_RELEASE ( -- n ) HEX: 8000 ; inline
162
163 : PAGE_NOACCESS    1 ; inline
164 : PAGE_READONLY    2 ; inline
165 : PAGE_READWRITE 4 ; inline
166 : PAGE_WRITECOPY 8 ; inline
167 : PAGE_EXECUTE HEX: 10 ; inline
168 : PAGE_EXECUTE_READ HEX: 20 ; inline
169 : PAGE_EXECUTE_READWRITE HEX: 40 ; inline
170 : PAGE_EXECUTE_WRITECOPY HEX: 80 ; inline
171 : PAGE_GUARD HEX: 100 ; inline
172 : PAGE_NOCACHE HEX: 200 ; inline
173
174 : SEC_BASED HEX: 00200000 ; inline
175 : SEC_NO_CHANGE HEX: 00400000 ; inline
176 : SEC_FILE HEX: 00800000 ; inline
177 : SEC_IMAGE HEX: 01000000 ; inline
178 : SEC_VLM HEX: 02000000 ; inline
179 : SEC_RESERVE HEX: 04000000 ; inline
180 : SEC_COMMIT HEX: 08000000 ; inline
181 : SEC_NOCACHE HEX: 10000000 ; inline
182 : MEM_IMAGE SEC_IMAGE ; inline
183
184 : ERROR_ALREADY_EXISTS 183 ; inline
185
186 : FILE_MAP_ALL_ACCESS HEX: f001f ;
187 : FILE_MAP_READ   4 ;
188 : FILE_MAP_WRITE  2 ;
189 : FILE_MAP_COPY   1 ;
190
191 : THREAD_MODE_BACKGROUND_BEGIN HEX: 10000 ; inline
192 : THREAD_MODE_BACKGROUND_END   HEX: 20000 ; inline
193 : THREAD_PRIORITY_ABOVE_NORMAL 1 ; inline
194 : THREAD_PRIORITY_BELOW_NORMAL -1 ; inline
195 : THREAD_PRIORITY_HIGHEST 2 ; inline
196 : THREAD_PRIORITY_IDLE -15 ; inline
197 : THREAD_PRIORITY_LOWEST -2 ; inline
198 : THREAD_PRIORITY_NORMAL 0 ; inline
199 : THREAD_PRIORITY_TIME_CRITICAL 15 ; inline
200
201 C-STRUCT: OVERLAPPED
202     { "UINT_PTR" "internal" }
203     { "UINT_PTR" "internal-high" }
204     { "DWORD" "offset" }
205     { "DWORD" "offset-high" }
206     { "HANDLE" "event" } ;
207
208 C-STRUCT: SYSTEMTIME
209     { "WORD" "wYear" }
210     { "WORD" "wMonth" }
211     { "WORD" "wDayOfWeek" }
212     { "WORD" "wDay" }
213     { "WORD" "wHour" }
214     { "WORD" "wMinute" }
215     { "WORD" "wSecond" }
216     { "WORD" "wMilliseconds" } ;
217
218 C-STRUCT: TIME_ZONE_INFORMATION
219     { "LONG" "Bias" }
220     { { "WCHAR" 32 } "StandardName" }
221     { "SYSTEMTIME" "StandardDate" }
222     { "LONG" "StandardBias" }
223     { { "WCHAR" 32 } "DaylightName" }
224     { "SYSTEMTIME" "DaylightDate" }
225     { "LONG" "DaylightBias" } ;
226
227 C-STRUCT: FILETIME
228     { "DWORD" "dwLowDateTime" }
229     { "DWORD" "dwHighDateTime" } ;
230
231 C-STRUCT: STARTUPINFO
232     { "DWORD" "cb" }
233     { "LPTSTR" "lpReserved" }
234     { "LPTSTR" "lpDesktop" }
235     { "LPTSTR" "lpTitle" }
236     { "DWORD" "dwX" }
237     { "DWORD" "dwY" }
238     { "DWORD" "dwXSize" }
239     { "DWORD" "dwYSize" }
240     { "DWORD" "dwXCountChars" }
241     { "DWORD" "dwYCountChars" }
242     { "DWORD" "dwFillAttribute" }
243     { "DWORD" "dwFlags" }
244     { "WORD" "wShowWindow" }
245     { "WORD" "cbReserved2" }
246     { "LPBYTE" "lpReserved2" }
247     { "HANDLE" "hStdInput" }
248     { "HANDLE" "hStdOutput" }
249     { "HANDLE" "hStdError" } ;
250
251 TYPEDEF: void* LPSTARTUPINFO
252
253 C-STRUCT: PROCESS_INFORMATION
254     { "HANDLE" "hProcess" }
255     { "HANDLE" "hThread" }
256     { "DWORD" "dwProcessId" }
257     { "DWORD" "dwThreadId" } ;
258
259 C-STRUCT: SYSTEM_INFO
260     { "DWORD" "dwOemId" }
261     { "DWORD" "dwPageSize" }
262     { "LPVOID" "lpMinimumApplicationAddress" }
263     { "LPVOID" "lpMaximumApplicationAddress" }
264     { "DWORD_PTR" "dwActiveProcessorMask" }
265     { "DWORD" "dwNumberOfProcessors" }
266     { "DWORD" "dwProcessorType" }
267     { "DWORD" "dwAllocationGranularity" }
268     { "WORD" "wProcessorLevel" }
269     { "WORD" "wProcessorRevision" } ;
270
271 TYPEDEF: void* LPSYSTEM_INFO
272
273 C-STRUCT: MEMORYSTATUS
274     { "DWORD" "dwLength" }
275     { "DWORD" "dwMemoryLoad" }
276     { "SIZE_T" "dwTotalPhys" }
277     { "SIZE_T" "dwAvailPhys" }
278     { "SIZE_T" "dwTotalPageFile" }
279     { "SIZE_T" "dwAvailPageFile" }
280     { "SIZE_T" "dwTotalVirtual" }
281     { "SIZE_T" "dwAvailVirtual" } ;
282
283 TYPEDEF: void* LPMEMORYSTATUS
284
285 C-STRUCT: MEMORYSTATUSEX
286     { "DWORD" "dwLength" }
287     { "DWORD" "dwMemoryLoad" }
288     { "DWORDLONG" "ullTotalPhys" }
289     { "DWORDLONG" "ullAvailPhys" }
290     { "DWORDLONG" "ullTotalPageFile" }
291     { "DWORDLONG" "ullAvailPageFile" }
292     { "DWORDLONG" "ullTotalVirtual" }
293     { "DWORDLONG" "ullAvailVirtual" }
294     { "DWORDLONG" "ullAvailExtendedVirtual" } ;
295
296 TYPEDEF: void* LPMEMORYSTATUSEX
297
298 C-STRUCT: OSVERSIONINFO
299     { "DWORD" "dwOSVersionInfoSize" }
300     { "DWORD" "dwMajorVersion" }
301     { "DWORD" "dwMinorVersion" }
302     { "DWORD" "dwBuildNumber" }
303     { "DWORD" "dwPlatformId" }
304     { { "WCHAR" 128 } "szCSDVersion" } ;
305
306 TYPEDEF: void* LPOSVERSIONINFO
307
308 C-STRUCT: MEMORY_BASIC_INFORMATION
309   { "void*" "BaseAddress" }
310   { "void*" "AllocationBase" }
311   { "DWORD" "AllocationProtect" }
312   { "SIZE_T" "RegionSize" }
313   { "DWORD" "state" }
314   { "DWORD" "protect" }
315   { "DWORD" "type" } ;
316
317 C-STRUCT: GUID
318     { "ULONG" "Data1" }
319     { "WORD"  "Data2" }
320     { "WORD"  "Data3" }
321     { { "UCHAR" 8 } "Data4" } ;
322
323
324 : SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege" ;
325 : SE_ASSIGNPRIMARYTOKEN_NAME "SeAssignPrimaryTokenPrivilege" ;
326 : SE_LOCK_MEMORY_NAME "SeLockMemoryPrivilege" ;
327 : SE_INCREASE_QUOTA_NAME "SeIncreaseQuotaPrivilege" ;
328 : SE_UNSOLICITED_INPUT_NAME "SeUnsolicitedInputPrivilege" ;
329 : SE_MACHINE_ACCOUNT_NAME "SeMachineAccountPrivilege" ;
330 : SE_TCB_NAME "SeTcbPrivilege" ;
331 : SE_SECURITY_NAME "SeSecurityPrivilege" ;
332 : SE_TAKE_OWNERSHIP_NAME "SeTakeOwnershipPrivilege" ;
333 : SE_LOAD_DRIVER_NAME "SeLoadDriverPrivilege" ;
334 : SE_SYSTEM_PROFILE_NAME "SeSystemProfilePrivilege" ;
335 : SE_SYSTEMTIME_NAME "SeSystemtimePrivilege" ;
336 : SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege" ;
337 : SE_INC_BASE_PRIORITY_NAME "SeIncreaseBasePriorityPrivilege" ;
338 : SE_CREATE_PAGEFILE_NAME "SeCreatePagefilePrivilege" ;
339 : SE_CREATE_PERMANENT_NAME "SeCreatePermanentPrivilege" ;
340 : SE_BACKUP_NAME "SeBackupPrivilege" ;
341 : SE_RESTORE_NAME "SeRestorePrivilege" ;
342 : SE_SHUTDOWN_NAME "SeShutdownPrivilege" ;
343 : SE_DEBUG_NAME "SeDebugPrivilege" ;
344 : SE_AUDIT_NAME "SeAuditPrivilege" ;
345 : SE_SYSTEM_ENVIRONMENT_NAME "SeSystemEnvironmentPrivilege" ;
346 : SE_CHANGE_NOTIFY_NAME "SeChangeNotifyPrivilege" ;
347 : SE_REMOTE_SHUTDOWN_NAME "SeRemoteShutdownPrivilege" ;
348 : SE_UNDOCK_NAME "SeUndockPrivilege" ;
349 : SE_ENABLE_DELEGATION_NAME "SeEnableDelegationPrivilege" ;
350 : SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege" ;
351 : SE_IMPERSONATE_NAME "SeImpersonatePrivilege" ;
352 : SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege" ;
353
354 : SE_GROUP_MANDATORY HEX: 00000001 ;
355 : SE_GROUP_ENABLED_BY_DEFAULT HEX: 00000002 ;
356 : SE_GROUP_ENABLED HEX: 00000004 ;
357 : SE_GROUP_OWNER HEX: 00000008 ;
358 : SE_GROUP_USE_FOR_DENY_ONLY HEX: 00000010 ;
359 : SE_GROUP_LOGON_ID HEX: C0000000 ;
360 : SE_GROUP_RESOURCE HEX: 20000000 ;
361
362 : SE_PRIVILEGE_ENABLED_BY_DEFAULT HEX: 00000001 ;
363 : SE_PRIVILEGE_ENABLED HEX: 00000002 ;
364 : SE_PRIVILEGE_REMOVE HEX: 00000004 ;
365 : SE_PRIVILEGE_USED_FOR_ACCESS HEX: 80000000 ;
366
367 : PRIVILEGE_SET_ALL_NECESSARY 1 ;
368
369 : SE_OWNER_DEFAULTED HEX: 00000001 ;
370 : SE_GROUP_DEFAULTED HEX: 00000002 ;
371 : SE_DACL_PRESENT HEX: 00000004 ;
372 : SE_DACL_DEFAULTED HEX: 00000008 ;
373 : SE_SACL_PRESENT HEX: 00000010 ;
374 : SE_SACL_DEFAULTED HEX: 00000020 ;
375 : SE_DACL_AUTO_INHERIT_REQ HEX: 00000100 ;
376 : SE_SACL_AUTO_INHERIT_REQ HEX: 00000200 ;
377 : SE_DACL_AUTO_INHERITED HEX: 00000400 ;
378 : SE_SACL_AUTO_INHERITED HEX: 00000800 ;
379 : SE_DACL_PROTECTED  HEX: 00001000 ;
380 : SE_SACL_PROTECTED  HEX: 00002000 ;
381 : SE_SELF_RELATIVE HEX: 00008000 ;
382
383 : ANYSIZE_ARRAY 1 ; inline
384
385 : MAXIMUM_WAIT_OBJECTS 64 ; inline
386 : MAXIMUM_SUSPEND_COUNT HEX: 7f ; inline
387 : WAIT_OBJECT_0 0 ; inline
388 : WAIT_ABANDONED_0 128 ; inline
389 : WAIT_TIMEOUT 258 ; inline
390 : WAIT_IO_COMPLETION HEX: c0 ; inline
391 : WAIT_FAILED HEX: ffffffff ; inline
392
393 C-STRUCT: LUID
394     { "DWORD" "LowPart" }
395     { "LONG" "HighPart" } ;
396 TYPEDEF: LUID* PLUID
397
398 C-STRUCT: LUID_AND_ATTRIBUTES
399     { "LUID" "Luid" }
400     { "DWORD" "Attributes" } ;
401 TYPEDEF: LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES
402
403 C-STRUCT: TOKEN_PRIVILEGES
404     { "DWORD" "PrivilegeCount" }
405     { "LUID_AND_ATTRIBUTES*" "Privileges" } ;
406 TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
407
408 C-STRUCT: WIN32_FILE_ATTRIBUTE_DATA
409     { "DWORD" "dwFileAttributes" }
410     { "FILETIME" "ftCreationTime" }
411     { "FILETIME" "ftLastAccessTime" }
412     { "FILETIME" "ftLastWriteTime" }
413     { "DWORD" "nFileSizeHigh" }
414     { "DWORD" "nFileSizeLow" } ;
415 TYPEDEF: WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA
416
417 C-STRUCT: BY_HANDLE_FILE_INFORMATION
418   { "DWORD" "dwFileAttributes" }
419   { "FILETIME" "ftCreationTime" }
420   { "FILETIME" "ftLastAccessTime" }
421   { "FILETIME" "ftLastWriteTime" }
422   { "DWORD" "dwVolumeSerialNumber" }
423   { "DWORD" "nFileSizeHigh" }
424   { "DWORD" "nFileSizeLow" }
425   { "DWORD" "nNumberOfLinks" }
426   { "DWORD" "nFileIndexHigh" }
427   { "DWORD" "nFileIndexLow" } ;
428 TYPEDEF: BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION
429
430 : OFS_MAXPATHNAME 128 ;
431
432 C-STRUCT: OFSTRUCT
433     { "BYTE" "cBytes" }
434     { "BYTE" "fFixedDisk" }
435     { "WORD" "nErrCode" }
436     { "WORD" "Reserved1" }
437     { "WORD" "Reserved2" }
438     ! { { "CHAR" OFS_MAXPATHNAME } "szPathName" } ;
439     { { "CHAR" 128 } "szPathName" } ;
440
441 TYPEDEF: OFSTRUCT* LPOFSTRUCT
442
443 ! MAX_PATH = 260
444 C-STRUCT: WIN32_FIND_DATA
445     { "DWORD" "dwFileAttributes" }
446     { "FILETIME" "ftCreationTime" }
447     { "FILETIME" "ftLastAccessTime" }
448     { "FILETIME" "ftLastWriteTime" }
449     { "DWORD" "nFileSizeHigh" }
450     { "DWORD" "nFileSizeLow" }
451     { "DWORD" "dwReserved0" }
452     { "DWORD" "dwReserved1" }
453     ! { { "TCHAR" MAX_PATH } "cFileName" }
454     { { "TCHAR" 260 } "cFileName" }
455     { { "TCHAR" 14 } "cAlternateFileName" } ;
456
457 C-STRUCT: BY_HANDLE_FILE_INFORMATION
458     { "DWORD" "dwFileAttributes" }
459     { "FILETIME" "ftCreationTime" }
460     { "FILETIME" "ftLastAccessTime" }
461     { "FILETIME" "ftLastWriteTime" }
462     { "DWORD" "dwVolumeSerialNumber" }
463     { "DWORD" "nFileSizeHigh" }
464     { "DWORD" "nFileSizeLow" }
465     { "DWORD" "nNumberOfLinks" }
466     { "DWORD" "nFileIndexHigh" }
467     { "DWORD" "nFileIndexLow" } ;
468
469 TYPEDEF: WIN32_FIND_DATA* PWIN32_FIND_DATA
470 TYPEDEF: WIN32_FIND_DATA* LPWIN32_FIND_DATA
471 TYPEDEF: void* POVERLAPPED
472 TYPEDEF: void* LPOVERLAPPED
473 TYPEDEF: void* LPSECURITY_ATTRIBUTES
474 TYPEDEF: void* LPPROCESS_INFORMATION
475
476 TYPEDEF: SYSTEMTIME* PSYSTEMTIME
477 TYPEDEF: PSYSTEMTIME LPSYSTEMTIME
478
479 TYPEDEF: TIME_ZONE_INFORMATION* PTIME_ZONE_INFORMATION
480 TYPEDEF: PTIME_ZONE_INFORMATION LPTIME_ZONE_INFORMATION
481
482 TYPEDEF: FILETIME* PFILETIME
483 TYPEDEF: PFILETIME LPFILETIME
484
485 TYPEDEF: int GET_FILEEX_INFO_LEVELS
486
487 C-STRUCT: SECURITY_ATTRIBUTES
488     { "DWORD" "nLength" }
489     { "LPVOID" "lpSecurityDescriptor" }
490     { "BOOL" "bInheritHandle" } ;
491
492 : HANDLE_FLAG_INHERIT 1 ; inline
493 : HANDLE_FLAG_PROTECT_FROM_CLOSE 2 ; inline
494
495 : STARTF_USESHOWWINDOW    HEX: 00000001 ; inline
496 : STARTF_USESIZE          HEX: 00000002 ; inline
497 : STARTF_USEPOSITION      HEX: 00000004 ; inline
498 : STARTF_USECOUNTCHARS    HEX: 00000008 ; inline
499 : STARTF_USEFILLATTRIBUTE HEX: 00000010 ; inline
500 : STARTF_RUNFULLSCREEN    HEX: 00000020 ; inline
501 : STARTF_FORCEONFEEDBACK  HEX: 00000040 ; inline
502 : STARTF_FORCEOFFFEEDBACK HEX: 00000080 ; inline
503 : STARTF_USESTDHANDLES    HEX: 00000100 ; inline
504 : STARTF_USEHOTKEY        HEX: 00000200 ; inline
505
506 : PIPE_ACCESS_INBOUND  1 ; inline
507 : PIPE_ACCESS_OUTBOUND 2 ; inline
508 : PIPE_ACCESS_DUPLEX   3 ; inline
509
510 : PIPE_TYPE_BYTE    0 ; inline
511 : PIPE_TYPE_MESSAGE 4 ; inline
512
513 : PIPE_READMODE_BYTE    0 ; inline
514 : PIPE_READMODE_MESSAGE 2 ; inline
515
516 : PIPE_WAIT   0 ; inline
517 : PIPE_NOWAIT 1 ; inline
518
519 : PIPE_UNLIMITED_INSTANCES 255 ; inline
520
521 LIBRARY: kernel32
522 ! FUNCTION: _hread
523 ! FUNCTION: _hwrite
524 ! FUNCTION: _lclose
525 ! FUNCTION: _lcreat
526 ! FUNCTION: _llseek
527 ! FUNCTION: _lopen
528 ! FUNCTION: _lread
529 ! FUNCTION: _lwrite
530 ! FUNCTION: ActivateActCtx
531 ! FUNCTION: AddAtomA
532 ! FUNCTION: AddAtomW
533 ! FUNCTION: AddConsoleAliasA
534 ! FUNCTION: AddConsoleAliasW
535 ! FUNCTION: AddLocalAlternateComputerNameA
536 ! FUNCTION: AddLocalAlternateComputerNameW
537 ! FUNCTION: AddRefActCtx
538 ! FUNCTION: AddVectoredExceptionHandler
539 ! FUNCTION: AllocateUserPhysicalPages
540 ! FUNCTION: AllocConsole
541 ! FUNCTION: AreFileApisANSI
542 ! FUNCTION: AssignProcessToJobObject
543 ! FUNCTION: AttachConsole
544 ! FUNCTION: BackupRead
545 ! FUNCTION: BackupSeek
546 ! FUNCTION: BackupWrite
547 ! FUNCTION: BaseCheckAppcompatCache
548 ! FUNCTION: BaseCleanupAppcompatCache
549 ! FUNCTION: BaseCleanupAppcompatCacheSupport
550 ! FUNCTION: BaseDumpAppcompatCache
551 ! FUNCTION: BaseFlushAppcompatCache
552 ! FUNCTION: BaseInitAppcompatCache
553 ! FUNCTION: BaseInitAppcompatCacheSupport
554 ! FUNCTION: BasepCheckWinSaferRestrictions
555 ! FUNCTION: BaseProcessInitPostImport
556 ! FUNCTION: BaseQueryModuleData
557 ! FUNCTION: BaseUpdateAppcompatCache
558 ! FUNCTION: Beep
559 ! FUNCTION: BeginUpdateResourceA
560 ! FUNCTION: BeginUpdateResourceW
561 ! FUNCTION: BindIoCompletionCallback
562 ! FUNCTION: BuildCommDCBA
563 ! FUNCTION: BuildCommDCBAndTimeoutsA
564 ! FUNCTION: BuildCommDCBAndTimeoutsW
565 ! FUNCTION: BuildCommDCBW
566 ! FUNCTION: CallNamedPipeA
567 ! FUNCTION: CallNamedPipeW
568 ! FUNCTION: CancelDeviceWakeupRequest
569 FUNCTION: BOOL CancelIo ( HANDLE h ) ;
570 ! FUNCTION: CancelTimerQueueTimer
571 ! FUNCTION: CancelWaitableTimer
572 ! FUNCTION: ChangeTimerQueueTimer
573 ! FUNCTION: CheckNameLegalDOS8Dot3A
574 ! FUNCTION: CheckNameLegalDOS8Dot3W
575 ! FUNCTION: CheckRemoteDebuggerPresent
576 ! FUNCTION: ClearCommBreak
577 ! FUNCTION: ClearCommError
578 ! FUNCTION: CloseConsoleHandle
579 FUNCTION: BOOL CloseHandle ( HANDLE h ) ;
580 ! FUNCTION: CloseProfileUserMapping
581 ! FUNCTION: CmdBatNotification
582 ! FUNCTION: CommConfigDialogA
583 ! FUNCTION: CommConfigDialogW
584 ! FUNCTION: CompareFileTime
585 ! FUNCTION: CompareStringA
586 ! FUNCTION: CompareStringW
587 FUNCTION: BOOL ConnectNamedPipe ( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped ) ;
588 ! FUNCTION: ConsoleMenuControl
589 ! FUNCTION: ContinueDebugEvent
590 ! FUNCTION: ConvertDefaultLocale
591 ! FUNCTION: ConvertFiberToThread
592 ! FUNCTION: ConvertThreadToFiber
593 ! FUNCTION: CopyFileA
594 ! FUNCTION: CopyFileExA
595 ! FUNCTION: CopyFileExW
596 FUNCTION: BOOL CopyFileW ( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists ) ;
597 ALIAS: CopyFile CopyFileW
598 ! FUNCTION: CopyLZFile
599 ! FUNCTION: CreateActCtxA
600 ! FUNCTION: CreateActCtxW
601 ! FUNCTION: CreateConsoleScreenBuffer
602 ! FUNCTION: CreateDirectoryA
603 ! FUNCTION: CreateDirectoryExA
604 ! FUNCTION: CreateDirectoryExW
605 FUNCTION: BOOL CreateDirectoryW ( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttribytes ) ;
606 ALIAS: CreateDirectory CreateDirectoryW
607
608 ! FUNCTION: CreateEventA
609 ! FUNCTION: CreateEventW
610 ! FUNCTION: CreateFiber
611 ! FUNCTION: CreateFiberEx
612
613
614 FUNCTION: HANDLE CreateFileW ( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttribures, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ) ;
615 ALIAS: CreateFile CreateFileW
616
617 FUNCTION: HANDLE  CreateFileMappingW ( HANDLE hFile,
618                                        LPSECURITY_ATTRIBUTES lpAttributes,
619                                        DWORD flProtect,
620                                        DWORD dwMaximumSizeHigh,
621                                        DWORD dwMaximumSizeLow,
622                                        LPCTSTR lpName ) ;
623 ALIAS: CreateFileMapping CreateFileMappingW
624
625 ! FUNCTION: CreateHardLinkA
626 ! FUNCTION: CreateHardLinkW
627 ! FUNCTION: HANDLE CreateIoCompletionPort ( HANDLE hFileHandle, HANDLE hExistingCompletionPort, ULONG_PTR uCompletionKey, DWORD dwNumberofConcurrentThreads ) ;
628 FUNCTION: HANDLE CreateIoCompletionPort ( HANDLE hFileHandle, HANDLE hExistingCompletionPort, void* uCompletionKey, DWORD dwNumberofConcurrentThreads ) ;
629 ! FUNCTION: CreateJobObjectA
630 ! FUNCTION: CreateJobObjectW
631 ! FUNCTION: CreateJobSet
632 ! FUNCTION: CreateMailslotA
633 ! FUNCTION: CreateMailslotW
634 ! FUNCTION: CreateMemoryResourceNotification
635 ! FUNCTION: CreateMutexA
636 ! FUNCTION: CreateMutexW
637 ! FUNCTION: CreateNamedPipeA
638 FUNCTION: HANDLE CreateNamedPipeW ( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes ) ;
639 ALIAS: CreateNamedPipe CreateNamedPipeW
640
641 ! FUNCTION: CreateNlsSecurityDescriptor
642 FUNCTION: BOOL CreatePipe ( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize ) ;
643
644 : DEBUG_PROCESS                   HEX: 00000001 ;
645 : DEBUG_ONLY_THIS_PROCESS         HEX: 00000002 ;
646 : CREATE_SUSPENDED                HEX: 00000004 ;
647 : DETACHED_PROCESS                HEX: 00000008 ;
648 : CREATE_NEW_CONSOLE              HEX: 00000010 ;
649 : NORMAL_PRIORITY_CLASS           HEX: 00000020 ;
650 : IDLE_PRIORITY_CLASS             HEX: 00000040 ;
651 : HIGH_PRIORITY_CLASS             HEX: 00000080 ;
652 : REALTIME_PRIORITY_CLASS         HEX: 00000100 ;
653 : CREATE_NEW_PROCESS_GROUP        HEX: 00000200 ;
654 : CREATE_UNICODE_ENVIRONMENT      HEX: 00000400 ;
655 : CREATE_SEPARATE_WOW_VDM         HEX: 00000800 ;
656 : CREATE_SHARED_WOW_VDM           HEX: 00001000 ;
657 : CREATE_FORCEDOS                 HEX: 00002000 ;
658 : BELOW_NORMAL_PRIORITY_CLASS     HEX: 00004000 ;
659 : ABOVE_NORMAL_PRIORITY_CLASS     HEX: 00008000 ;
660 : CREATE_BREAKAWAY_FROM_JOB       HEX: 01000000 ;
661 : CREATE_WITH_USERPROFILE         HEX: 02000000 ;
662 : CREATE_DEFAULT_ERROR_MODE       HEX: 04000000 ;
663 : CREATE_NO_WINDOW                HEX: 08000000 ;
664 : PROFILE_USER                    HEX: 10000000 ;
665 : PROFILE_KERNEL                  HEX: 20000000 ;
666 : PROFILE_SERVER                  HEX: 40000000 ;
667
668 FUNCTION: BOOL CreateProcessW ( LPCTSTR lpApplicationname,
669                                 LPTSTR lpCommandLine,
670                                 LPSECURITY_ATTRIBUTES lpProcessAttributes,
671                                 LPSECURITY_ATTRIBUTES lpThreadAttributes,
672                                 BOOL bInheritHandles,
673                                 DWORD dwCreationFlags,
674                                 LPVOID lpEnvironment,
675                                 LPCTSTR lpCurrentDirectory,
676                                 LPSTARTUPINFO lpStartupInfo,
677                                 LPPROCESS_INFORMATION lpProcessInformation ) ;
678 ALIAS: CreateProcess CreateProcessW
679 ! FUNCTION: CreateProcessInternalA
680 ! FUNCTION: CreateProcessInternalW
681 ! FUNCTION: CreateProcessInternalWSecure
682 FUNCTION: HANDLE CreateRemoteThread ( HANDLE hProcess,
683                                       LPSECURITY_ATTRIBUTES lpThreadAttributes,
684                                       SIZE_T dwStackSize,
685                                       LPVOID lpStartAddress,
686                                       LPVOID lpParameter,
687                                       DWORD dwCreationFlags,
688                                       LPDWORD lpThreadId ) ; 
689 ! FUNCTION: CreateSemaphoreA
690 ! FUNCTION: CreateSemaphoreW
691 ! FUNCTION: CreateSocketHandle
692 ! FUNCTION: CreateTapePartition
693 ! FUNCTION: CreateThread
694 ! FUNCTION: CreateTimerQueue
695 ! FUNCTION: CreateTimerQueueTimer
696 ! FUNCTION: CreateToolhelp32Snapshot
697 ! FUNCTION: CreateVirtualBuffer
698 ! FUNCTION: CreateWaitableTimerA
699 ! FUNCTION: CreateWaitableTimerW
700 ! FUNCTION: DeactivateActCtx
701 ! FUNCTION: DebugActiveProcess
702 ! FUNCTION: DebugActiveProcessStop
703 ! FUNCTION: DebugBreak
704 ! FUNCTION: DebugBreakProcess
705 ! FUNCTION: DebugSetProcessKillOnExit
706 ! FUNCTION: DecodePointer
707 ! FUNCTION: DecodeSystemPointer
708 ! FUNCTION: DefineDosDeviceA
709 ! FUNCTION: DefineDosDeviceW
710 ! FUNCTION: DelayLoadFailureHook
711 ! FUNCTION: DeleteAtom
712 ! FUNCTION: DeleteCriticalSection
713 ! FUNCTION: DeleteFiber
714 ! FUNCTION: DeleteFileA
715 FUNCTION: BOOL DeleteFileW ( LPCTSTR lpFileName ) ;
716 ALIAS: DeleteFile DeleteFileW
717 ! FUNCTION: DeleteTimerQueue
718 ! FUNCTION: DeleteTimerQueueEx
719 ! FUNCTION: DeleteTimerQueueTimer
720 ! FUNCTION: DeleteVolumeMountPointA
721 ! FUNCTION: DeleteVolumeMountPointW
722 ! FUNCTION: DeviceIoControl
723 ! FUNCTION: DisableThreadLibraryCalls
724 ! FUNCTION: DisconnectNamedPipe
725 ! FUNCTION: DnsHostnameToComputerNameA
726 ! FUNCTION: DnsHostnameToComputerNameW
727 ! FUNCTION: DosDateTimeToFileTime
728 ! FUNCTION: DosPathToSessionPathA
729 ! FUNCTION: DosPathToSessionPathW
730 ! FUNCTION: DuplicateConsoleHandle
731
732 FUNCTION: BOOL DuplicateHandle (
733     HANDLE hSourceProcessHandle,
734     HANDLE hSourceHandle,
735     HANDLE hTargetProcessHandle,
736     LPHANDLE lpTargetHandle,
737     DWORD dwDesiredAccess,
738     BOOL bInheritHandle,
739     DWORD dwOptions ) ;
740
741 : DUPLICATE_CLOSE_SOURCE 1 ;
742 : DUPLICATE_SAME_ACCESS 2 ;
743
744 ! FUNCTION: EncodePointer
745 ! FUNCTION: EncodeSystemPointer
746 ! FUNCTION: EndUpdateResourceA
747 ! FUNCTION: EndUpdateResourceW
748 ! FUNCTION: EnterCriticalSection
749 ! FUNCTION: EnumCalendarInfoA
750 ! FUNCTION: EnumCalendarInfoExA
751 ! FUNCTION: EnumCalendarInfoExW
752 ! FUNCTION: EnumCalendarInfoW
753 ! FUNCTION: EnumDateFormatsA
754 ! FUNCTION: EnumDateFormatsExA
755 ! FUNCTION: EnumDateFormatsExW
756 ! FUNCTION: EnumDateFormatsW
757 ! FUNCTION: EnumerateLocalComputerNamesA
758 ! FUNCTION: EnumerateLocalComputerNamesW
759 ! FUNCTION: EnumLanguageGroupLocalesA
760 ! FUNCTION: EnumLanguageGroupLocalesW
761 ! FUNCTION: EnumResourceLanguagesA
762 ! FUNCTION: EnumResourceLanguagesW
763 ! FUNCTION: EnumResourceNamesA
764 ! FUNCTION: EnumResourceNamesW
765 ! FUNCTION: EnumResourceTypesA
766 ! FUNCTION: EnumResourceTypesW
767 ! FUNCTION: EnumSystemCodePagesA
768 ! FUNCTION: EnumSystemCodePagesW
769 ! FUNCTION: EnumSystemGeoID
770 ! FUNCTION: EnumSystemLanguageGroupsA
771 ! FUNCTION: EnumSystemLanguageGroupsW
772 ! FUNCTION: EnumSystemLocalesA
773 ! FUNCTION: EnumSystemLocalesW
774 ! FUNCTION: EnumTimeFormatsA
775 ! FUNCTION: EnumTimeFormatsW
776 ! FUNCTION: EnumUILanguagesA
777 ! FUNCTION: EnumUILanguagesW
778 ! FUNCTION: EraseTape
779 ! FUNCTION: EscapeCommFunction
780 ! FUNCTION: ExitProcess
781 ! FUNCTION: ExitThread
782 ! FUNCTION: ExitVDM
783 ! FUNCTION: ExpandEnvironmentStringsA
784 ! FUNCTION: ExpandEnvironmentStringsW
785 ! FUNCTION: ExpungeConsoleCommandHistoryA
786 ! FUNCTION: ExpungeConsoleCommandHistoryW
787 ! FUNCTION: ExtendVirtualBuffer
788 ! FUNCTION: FatalAppExitA
789 ! FUNCTION: FatalAppExitW
790 ! FUNCTION: FatalExit
791 ! FUNCTION: FileTimeToDosDateTime
792 ! FUNCTION: FileTimeToLocalFileTime
793 ! FUNCTION: FileTimeToSystemTime
794 ! FUNCTION: FillConsoleOutputAttribute
795 ! FUNCTION: FillConsoleOutputCharacterA
796 ! FUNCTION: FillConsoleOutputCharacterW
797 ! FUNCTION: FindActCtxSectionGuid
798 ! FUNCTION: FindActCtxSectionStringA
799 ! FUNCTION: FindActCtxSectionStringW
800 ! FUNCTION: FindAtomA
801 ! FUNCTION: FindAtomW
802 FUNCTION: BOOL FindClose ( HANDLE hFindFile ) ;
803 FUNCTION: BOOL FindCloseChangeNotification ( HANDLE hChangeHandle ) ;
804 FUNCTION: HANDLE FindFirstChangeNotificationW ( LPCTSTR lpPathName,
805                                         BOOL bWatchSubtree,
806                                         DWORD dwNotifyFilter ) ;
807 ALIAS: FindFirstChangeNotification FindFirstChangeNotificationW
808 ! FUNCTION: FindFirstFileA
809 ! FUNCTION: FindFirstFileExA
810 ! FUNCTION: FindFirstFileExW
811 FUNCTION: HANDLE FindFirstFileW ( LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData ) ;
812 ALIAS: FindFirstFile FindFirstFileW
813 ! FUNCTION: FindFirstVolumeA
814 ! FUNCTION: FindFirstVolumeMountPointA
815
816 FUNCTION: HANDLE FindFirstVolumeMountPointW (
817     LPTSTR lpszRootPathName,
818     LPTSTR lpszVolumeMountPoint,
819     DWORD cchBufferLength
820 ) ;
821 ALIAS: FindFirstVolumeMountPoint FindFirstVolumeMountPointW
822
823 FUNCTION: HANDLE FindFirstVolumeW ( LPTSTR lpszVolumeName, DWORD cchBufferLength ) ;
824 ALIAS: FindFirstVolume FindFirstVolumeW
825
826 FUNCTION: BOOL FindNextChangeNotification ( HANDLE hChangeHandle ) ;
827
828 ! FUNCTION: FindNextFileA
829 FUNCTION: BOOL FindNextFileW ( HANDLE hFindFile, LPWIN32_FIND_DATA lpFindFileData ) ;
830 ALIAS: FindNextFile FindNextFileW
831
832 ! FUNCTION: FindNextVolumeA
833 ! FUNCTION: FindNextVolumeMountPointA
834
835 FUNCTION: BOOL FindNextVolumeMountPointW (
836     HANDLE hFindVolumeMountPoint,
837     LPTSTR lpszVolumeMountPoint,
838     DWORD cchBufferLength
839 ) ;
840 ALIAS: FindNextVolumeMountPoint FindNextVolumeMountPointW
841
842 FUNCTION: BOOL FindNextVolumeW ( HANDLE hFindVolume, LPTSTR lpszVolumeName, DWORD cchBufferLength ) ;
843 ALIAS: FindNextVolume FindNextVolumeW
844
845 ! FUNCTION: FindResourceA
846 ! FUNCTION: FindResourceExA
847 ! FUNCTION: FindResourceExW
848 ! FUNCTION: FindResourceW
849 FUNCTION: BOOL FindVolumeClose ( HANDLE hFindVolume ) ;
850 FUNCTION: BOOL FindVolumeMountPointClose ( HANDLE hFindVolumeMountPoint ) ;
851 ! FUNCTION: FlushConsoleInputBuffer
852 ! FUNCTION: FlushFileBuffers
853 ! FUNCTION: FlushInstructionCache
854 ! FUNCTION: FlushViewOfFile
855 ! FUNCTION: FoldStringA
856 ! FUNCTION: FoldStringW
857 ! FUNCTION: FormatMessageA
858 ! FUNCTION: FormatMessageW
859 ! FUNCTION: FreeConsole
860 ! FUNCTION: FreeEnvironmentStringsA
861 FUNCTION: BOOL FreeEnvironmentStringsW ( LPTCH lpszEnvironmentBlock ) ;
862 ALIAS: FreeEnvironmentStrings FreeEnvironmentStringsW
863 ! FUNCTION: FreeLibrary
864 ! FUNCTION: FreeLibraryAndExitThread
865 ! FUNCTION: FreeResource
866 ! FUNCTION: FreeUserPhysicalPages
867 ! FUNCTION: FreeVirtualBuffer
868 ! FUNCTION: GenerateConsoleCtrlEvent
869 ! FUNCTION: GetACP
870 ! FUNCTION: GetAtomNameA
871 ! FUNCTION: GetAtomNameW
872 ! FUNCTION: GetBinaryType
873 ! FUNCTION: GetBinaryTypeA
874 ! FUNCTION: GetBinaryTypeW
875 ! FUNCTION: GetCalendarInfoA
876 ! FUNCTION: GetCalendarInfoW
877 ! FUNCTION: GetCommandLineA
878 ! FUNCTION: GetCommandLineW
879 ! FUNCTION: GetCommConfig
880 ! FUNCTION: GetCommMask
881 ! FUNCTION: GetCommModemStatus
882 ! FUNCTION: GetCommProperties
883 ! FUNCTION: GetCommState
884 ! FUNCTION: GetCommTimeouts
885 ! FUNCTION: GetComPlusPackageInstallStatus
886 ! FUNCTION: GetCompressedFileSizeA
887 ! FUNCTION: GetCompressedFileSizeW
888 FUNCTION: BOOL GetComputerNameW ( LPTSTR lpBuffer, LPDWORD lpnSize ) ;
889 ! FUNCTION: GetComputerNameExW
890 ! FUNCTION: GetComputerNameW
891 ALIAS: GetComputerName GetComputerNameW
892 ! FUNCTION: GetConsoleAliasA
893 ! FUNCTION: GetConsoleAliasesA
894 ! FUNCTION: GetConsoleAliasesLengthA
895 ! FUNCTION: GetConsoleAliasesLengthW
896 ! FUNCTION: GetConsoleAliasesW
897 ! FUNCTION: GetConsoleAliasExesA
898 ! FUNCTION: GetConsoleAliasExesLengthA
899 ! FUNCTION: GetConsoleAliasExesLengthW
900 ! FUNCTION: GetConsoleAliasExesW
901 ! FUNCTION: GetConsoleAliasW
902 ! FUNCTION: GetConsoleCharType
903 ! FUNCTION: GetConsoleCommandHistoryA
904 ! FUNCTION: GetConsoleCommandHistoryLengthA
905 ! FUNCTION: GetConsoleCommandHistoryLengthW
906 ! FUNCTION: GetConsoleCommandHistoryW
907 ! FUNCTION: GetConsoleCP
908 ! FUNCTION: GetConsoleCursorInfo
909 ! FUNCTION: GetConsoleCursorMode
910 ! FUNCTION: GetConsoleDisplayMode
911 ! FUNCTION: GetConsoleFontInfo
912 ! FUNCTION: GetConsoleFontSize
913 ! FUNCTION: GetConsoleHardwareState
914 ! FUNCTION: GetConsoleInputExeNameA
915 ! FUNCTION: GetConsoleInputExeNameW
916 ! FUNCTION: GetConsoleInputWaitHandle
917 ! FUNCTION: GetConsoleKeyboardLayoutNameA
918 ! FUNCTION: GetConsoleKeyboardLayoutNameW
919 ! FUNCTION: GetConsoleMode
920 ! FUNCTION: GetConsoleNlsMode
921 ! FUNCTION: GetConsoleOutputCP
922 ! FUNCTION: GetConsoleProcessList
923 ! FUNCTION: GetConsoleScreenBufferInfo
924 ! FUNCTION: GetConsoleSelectionInfo
925 FUNCTION: DWORD GetConsoleTitleW ( LPWSTR lpConsoleTitle, DWORD nSize ) ;
926 ALIAS: GetConsoleTitle GetConsoleTitleW
927 ! FUNCTION: GetConsoleWindow
928 ! FUNCTION: GetCPFileNameFromRegistry
929 ! FUNCTION: GetCPInfo
930 ! FUNCTION: GetCPInfoExA
931 ! FUNCTION: GetCPInfoExW
932 ! FUNCTION: GetCurrencyFormatA
933 ! FUNCTION: GetCurrencyFormatW
934 ! FUNCTION: GetCurrentActCtx
935 ! FUNCTION: GetCurrentConsoleFont
936 ! FUNCTION: GetCurrentDirectoryA
937 FUNCTION: BOOL GetCurrentDirectoryW ( DWORD len, LPTSTR buf ) ;
938 ALIAS: GetCurrentDirectory GetCurrentDirectoryW
939 FUNCTION: HANDLE GetCurrentProcess ( ) ;
940 FUNCTION: DWORD GetCurrentProcessId ( ) ;
941 FUNCTION: HANDLE GetCurrentThread ( ) ;
942 ! FUNCTION: GetCurrentThreadId
943 ! FUNCTION: GetDateFormatA
944 ! FUNCTION: GetDateFormatW
945 ! FUNCTION: GetDefaultCommConfigA
946 ! FUNCTION: GetDefaultCommConfigW
947 ! FUNCTION: GetDefaultSortkeySize
948 ! FUNCTION: GetDevicePowerState
949 ! FUNCTION: GetDiskFreeSpaceA
950 ! FUNCTION: GetDiskFreeSpaceExA
951 FUNCTION: BOOL GetDiskFreeSpaceExW ( LPCTSTR lpDirectoryName, PULARGE_INTEGER pFreeBytesAvailable, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes ) ;
952 ALIAS: GetDiskFreeSpaceEx GetDiskFreeSpaceExW
953 ! FUNCTION: GetDiskFreeSpaceW
954 ! FUNCTION: GetDllDirectoryA
955 ! FUNCTION: GetDllDirectoryW
956 ! FUNCTION: GetDriveTypeA
957 FUNCTION: UINT GetDriveTypeW ( LPCTSTR lpRootPathName ) ;
958 ALIAS: GetDriveType GetDriveTypeW
959 FUNCTION: void* GetEnvironmentStringsW ( ) ;
960 ! FUNCTION: GetEnvironmentStringsA
961 ALIAS: GetEnvironmentStrings GetEnvironmentStringsW
962 ! FUNCTION: GetEnvironmentVariableA
963 FUNCTION: DWORD GetEnvironmentVariableW ( LPCTSTR lpName, LPTSTR lpBuffer, DWORD nSize ) ;
964 ALIAS: GetEnvironmentVariable GetEnvironmentVariableW
965 FUNCTION: BOOL GetExitCodeProcess ( HANDLE hProcess, LPDWORD lpExitCode ) ;
966 ! FUNCTION: GetExitCodeThread
967 ! FUNCTION: GetExpandedNameA
968 ! FUNCTION: GetExpandedNameW
969 ! FUNCTION: GetFileAttributesA
970 FUNCTION: DWORD GetFileAttributesW ( LPCTSTR lpFileName ) ;
971 ! FUNCTION: GetFileAttributesExA
972
973 : GetFileExInfoStandard 0 ; inline
974
975
976 FUNCTION: BOOL GetFileAttributesExW ( LPCTSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation ) ;
977
978 ALIAS: GetFileAttributesEx GetFileAttributesExW
979
980 FUNCTION: BOOL GetFileInformationByHandle ( HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation ) ;
981 FUNCTION: DWORD GetFileSize ( HANDLE hFile, LPDWORD lpFileSizeHigh ) ;
982 ! FUNCTION: GetFileSizeEx
983 FUNCTION: BOOL GetFileTime ( HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime ) ;
984 FUNCTION: DWORD GetFileType ( HANDLE hFile ) ;
985 ! FUNCTION: GetFirmwareEnvironmentVariableA
986 ! FUNCTION: GetFirmwareEnvironmentVariableW
987 ! FUNCTION: GetFullPathNameA
988 FUNCTION: DWORD GetFullPathNameW ( LPCTSTR lpFileName, DWORD nBufferLength, LPTSTR lpBuffer, LPTSTR* lpFilePart ) ;
989 ALIAS: GetFullPathName GetFullPathNameW
990
991 !  clear "license.txt" 32768 "char[32768]" <c-object> f over >r GetFullPathName r> swap 2 * head >string .
992
993 ! FUNCTION: GetGeoInfoA
994 ! FUNCTION: GetGeoInfoW
995 ! FUNCTION: GetHandleContext
996 FUNCTION: BOOL GetHandleInformation ( HANDLE hObject, LPDWORD lpdwFlags ) ;
997 ! FUNCTION: GetLargestConsoleWindowSize
998 FUNCTION: DWORD GetLastError ( ) ;
999 ! FUNCTION: GetLinguistLangSize
1000 ! FUNCTION: GetLocaleInfoA
1001 ! FUNCTION: GetLocaleInfoW
1002 ! FUNCTION: GetLocalTime
1003 FUNCTION: DWORD GetLogicalDrives ( ) ;
1004 ! FUNCTION: GetLogicalDriveStringsA
1005 ! FUNCTION: GetLogicalDriveStringsW
1006 ! FUNCTION: GetLongPathNameA
1007 ! FUNCTION: GetLongPathNameW
1008 ! FUNCTION: GetMailslotInfo
1009 ! FUNCTION: GetModuleFileNameA
1010 ! FUNCTION: GetModuleFileNameW
1011 FUNCTION: HMODULE GetModuleHandleW ( LPCWSTR lpModuleName ) ;
1012 ALIAS: GetModuleHandle GetModuleHandleW
1013 ! FUNCTION: GetModuleHandleExA
1014 ! FUNCTION: GetModuleHandleExW
1015 ! FUNCTION: GetNamedPipeHandleStateA
1016 ! FUNCTION: GetNamedPipeHandleStateW
1017 ! FUNCTION: GetNamedPipeInfo
1018 ! FUNCTION: GetNativeSystemInfo
1019 ! FUNCTION: GetNextVDMCommand
1020 ! FUNCTION: GetNlsSectionName
1021 ! FUNCTION: GetNumaAvailableMemory
1022 ! FUNCTION: GetNumaAvailableMemoryNode
1023 ! FUNCTION: GetNumaHighestNodeNumber
1024 ! FUNCTION: GetNumaNodeProcessorMask
1025 ! FUNCTION: GetNumaProcessorMap
1026 ! FUNCTION: GetNumaProcessorNode
1027 ! FUNCTION: GetNumberFormatA
1028 ! FUNCTION: GetNumberFormatW
1029 ! FUNCTION: GetNumberOfConsoleFonts
1030 ! FUNCTION: GetNumberOfConsoleInputEvents
1031 ! FUNCTION: GetNumberOfConsoleMouseButtons
1032 ! FUNCTION: GetOEMCP
1033 FUNCTION: BOOL GetOverlappedResult ( HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait ) ;
1034 FUNCTION: DWORD GetPriorityClass ( HANDLE hProcess ) ;
1035 ! FUNCTION: GetPrivateProfileIntA
1036 ! FUNCTION: GetPrivateProfileIntW
1037 ! FUNCTION: GetPrivateProfileSectionA
1038 ! FUNCTION: GetPrivateProfileSectionNamesA
1039 ! FUNCTION: GetPrivateProfileSectionNamesW
1040 ! FUNCTION: GetPrivateProfileSectionW
1041 ! FUNCTION: GetPrivateProfileStringA
1042 ! FUNCTION: GetPrivateProfileStringW
1043 ! FUNCTION: GetPrivateProfileStructA
1044 ! FUNCTION: GetPrivateProfileStructW
1045 FUNCTION: LPVOID GetProcAddress ( HMODULE hModule, char* lpProcName ) ;
1046 ! FUNCTION: GetProcessAffinityMask
1047 ! FUNCTION: GetProcessHandleCount
1048 ! FUNCTION: GetProcessHeap
1049 ! FUNCTION: GetProcessHeaps
1050 ! FUNCTION: GetProcessId
1051 ! FUNCTION: GetProcessIoCounters
1052 ! FUNCTION: GetProcessPriorityBoost
1053 ! FUNCTION: GetProcessShutdownParameters
1054 ! FUNCTION: GetProcessTimes
1055 ! FUNCTION: GetProcessVersion
1056 ! FUNCTION: GetProcessWorkingSetSize
1057 ! FUNCTION: GetProfileIntA
1058 ! FUNCTION: GetProfileIntW
1059 ! FUNCTION: GetProfileSectionA
1060 ! FUNCTION: GetProfileSectionW
1061 ! FUNCTION: GetProfileStringA
1062 ! FUNCTION: GetProfileStringW
1063 FUNCTION: BOOL GetQueuedCompletionStatus ( HANDLE hCompletionPort, LPDWORD lpNumberOfBytes, void* lpCompletionKey, LPOVERLAPPED lpOverlapped, DWORD dwMilliseconds ) ;
1064 ! FUNCTION: GetShortPathNameA
1065 ! FUNCTION: GetShortPathNameW
1066 ! FUNCTION: GetStartupInfoA
1067 ! FUNCTION: GetStartupInfoW
1068 FUNCTION: HANDLE GetStdHandle ( DWORD nStdHandle ) ;
1069 ! FUNCTION: GetStringTypeA
1070 ! FUNCTION: GetStringTypeExA
1071 ! FUNCTION: GetStringTypeExW
1072 ! FUNCTION: GetStringTypeW
1073 ! FUNCTION: GetSystemDefaultLangID
1074 ! FUNCTION: GetSystemDefaultLCID
1075 ! FUNCTION: GetSystemDefaultUILanguage
1076 ! FUNCTION: GetSystemDirectoryA
1077 FUNCTION: UINT GetSystemDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ;
1078 ALIAS: GetSystemDirectory GetSystemDirectoryW
1079 FUNCTION: void GetSystemInfo ( LPSYSTEM_INFO lpSystemInfo ) ;
1080 ! FUNCTION: GetSystemPowerStatus
1081 ! FUNCTION: GetSystemRegistryQuota
1082 FUNCTION: void GetSystemTime ( LPSYSTEMTIME lpSystemTime ) ;
1083 ! FUNCTION: GetSystemTimeAdjustment
1084 FUNCTION: void GetSystemTimeAsFileTime ( LPFILETIME lpSystemTimeAsFileTime ) ;
1085 ! FUNCTION: GetSystemTimes
1086 ! FUNCTION: GetSystemWindowsDirectoryA
1087 FUNCTION: UINT GetSystemWindowsDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ;
1088 ALIAS: GetSystemWindowsDirectory GetSystemWindowsDirectoryW
1089 ! FUNCTION: GetSystemWow64DirectoryA
1090 ! FUNCTION: GetSystemWow64DirectoryW
1091 ! FUNCTION: GetTapeParameters
1092 ! FUNCTION: GetTapePosition
1093 ! FUNCTION: GetTapeStatus
1094 ! FUNCTION: GetTempFileNameA
1095 ! FUNCTION: GetTempFileNameW
1096 ! FUNCTION: GetTempPathA
1097 ! FUNCTION: GetTempPathW
1098 ! FUNCTION: GetThreadContext
1099 ! FUNCTION: GetThreadIOPendingFlag
1100 ! FUNCTION: GetThreadLocale
1101 FUNCTION: int GetThreadPriority ( HANDLE hThread ) ;
1102 FUNCTION: BOOL GetThreadPriorityBoost ( HANDLE hThread, PBOOL pDisablePriorityBoost ) ;
1103 ! FUNCTION: GetThreadSelectorEntry
1104 ! FUNCTION: GetThreadTimes
1105 ! FUNCTION: GetTickCount
1106 ! FUNCTION: GetTimeFormatA
1107 ! FUNCTION: GetTimeFormatW
1108 FUNCTION: DWORD GetTimeZoneInformation ( LPTIME_ZONE_INFORMATION lpTimeZoneInformation ) ;
1109 ! FUNCTION: GetUserDefaultLangID
1110 ! FUNCTION: GetUserDefaultLCID
1111 ! FUNCTION: GetUserDefaultUILanguage
1112 ! FUNCTION: GetUserGeoID
1113 ! FUNCTION: GetVDMCurrentDirectories
1114 FUNCTION: DWORD GetVersion ( ) ;
1115 FUNCTION: BOOL GetVersionExW ( LPOSVERSIONINFO lpVersionInfo ) ;
1116 ALIAS: GetVersionEx GetVersionExW
1117 ! FUNCTION: GetVolumeInformationA
1118 FUNCTION: BOOL GetVolumeInformationW (
1119     LPCTSTR lpRootPathName,
1120     LPTSTR lpVolumNameBuffer,
1121     DWORD nVolumeNameSize,
1122     LPDWORD lpVolumeSerialNumber,
1123     LPDWORD lpMaximumComponentLength,
1124     LPDWORD lpFileSystemFlags,
1125     LPCTSTR lpFileSystemNameBuffer,
1126     DWORD nFileSystemNameSize
1127 ) ;
1128 ALIAS: GetVolumeInformation GetVolumeInformationW
1129 ! FUNCTION: GetVolumeNameForVolumeMountPointA
1130 ! FUNCTION: GetVolumeNameForVolumeMountPointW
1131 ! FUNCTION: GetVolumePathNameA
1132 ! FUNCTION: GetVolumePathNamesForVolumeNameA
1133 FUNCTION: BOOL GetVolumePathNamesForVolumeNameW ( LPCTSTR lpszVolumeName, LPTSTR lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength ) ;
1134 ALIAS: GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
1135
1136 ! FUNCTION: GetVolumePathNameW
1137 ! FUNCTION: GetWindowsDirectoryA
1138 FUNCTION: UINT GetWindowsDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ;
1139 ALIAS: GetWindowsDirectory GetWindowsDirectoryW
1140 ! FUNCTION: GetWriteWatch
1141 ! FUNCTION: GlobalAddAtomA
1142 ! FUNCTION: GlobalAddAtomW
1143 FUNCTION: HGLOBAL GlobalAlloc ( UINT uFlags, SIZE_T dwBytes ) ;
1144 ! FUNCTION: GlobalCompact
1145 ! FUNCTION: GlobalDeleteAtom
1146 ! FUNCTION: GlobalFindAtomA
1147 ! FUNCTION: GlobalFindAtomW
1148 ! FUNCTION: GlobalFix
1149 ! FUNCTION: GlobalFlags
1150 ! FUNCTION: GlobalFree
1151 ! FUNCTION: GlobalGetAtomNameA
1152 ! FUNCTION: GlobalGetAtomNameW
1153 ! FUNCTION: GlobalHandle
1154 FUNCTION: LPVOID GlobalLock ( HGLOBAL hMem ) ;
1155 FUNCTION: void GlobalMemoryStatus ( LPMEMORYSTATUS lpBuffer ) ;
1156 FUNCTION: BOOL GlobalMemoryStatusEx ( LPMEMORYSTATUSEX lpBuffer ) ;
1157 ! FUNCTION: GlobalReAlloc
1158 ! FUNCTION: GlobalSize
1159 ! FUNCTION: GlobalUnfix
1160 FUNCTION: BOOL GlobalUnlock ( HGLOBAL hMem ) ;
1161 ! FUNCTION: GlobalUnWire
1162 ! FUNCTION: GlobalWire
1163 ! FUNCTION: Heap32First
1164 ! FUNCTION: Heap32ListFirst
1165 ! FUNCTION: Heap32ListNext
1166 ! FUNCTION: Heap32Next
1167 ! FUNCTION: HeapAlloc
1168 ! FUNCTION: HeapCompact
1169 ! FUNCTION: HeapCreate
1170 ! FUNCTION: HeapCreateTagsW
1171 ! FUNCTION: HeapDestroy
1172 ! FUNCTION: HeapExtend
1173 ! FUNCTION: HeapFree
1174 ! FUNCTION: HeapLock
1175 ! FUNCTION: HeapQueryInformation
1176 ! FUNCTION: HeapQueryTagW
1177 ! FUNCTION: HeapReAlloc
1178 ! FUNCTION: HeapSetInformation
1179 ! FUNCTION: HeapSize
1180 ! FUNCTION: HeapSummary
1181 ! FUNCTION: HeapUnlock
1182 ! FUNCTION: HeapUsage
1183 ! FUNCTION: HeapValidate
1184 ! FUNCTION: HeapWalk
1185 ! FUNCTION: InitAtomTable
1186 ! FUNCTION: InitializeCriticalSection
1187 ! FUNCTION: InitializeCriticalSectionAndSpinCount
1188 ! FUNCTION: InitializeSListHead
1189 ! FUNCTION: InterlockedCompareExchange
1190 ! FUNCTION: InterlockedDecrement
1191 ! FUNCTION: InterlockedExchange
1192 ! FUNCTION: InterlockedExchangeAdd
1193 ! FUNCTION: InterlockedFlushSList
1194 ! FUNCTION: InterlockedIncrement
1195 ! FUNCTION: InterlockedPopEntrySList
1196 ! FUNCTION: InterlockedPushEntrySList
1197 ! FUNCTION: InvalidateConsoleDIBits
1198 ! FUNCTION: IsBadCodePtr
1199 ! FUNCTION: IsBadHugeReadPtr
1200 ! FUNCTION: IsBadHugeWritePtr
1201 ! FUNCTION: IsBadReadPtr
1202 ! FUNCTION: IsBadStringPtrA
1203 ! FUNCTION: IsBadStringPtrW
1204 ! FUNCTION: IsBadWritePtr
1205 ! FUNCTION: IsDBCSLeadByte
1206 ! FUNCTION: IsDBCSLeadByteEx
1207 ! FUNCTION: IsDebuggerPresent
1208 ! FUNCTION: IsProcessInJob
1209 FUNCTION: BOOL IsProcessorFeaturePresent ( DWORD ProcessorFeature ) ;
1210 ! FUNCTION: IsSystemResumeAutomatic
1211 ! FUNCTION: IsValidCodePage
1212 ! FUNCTION: IsValidLanguageGroup
1213 ! FUNCTION: IsValidLocale
1214 ! FUNCTION: IsValidUILanguage
1215 ! FUNCTION: IsWow64Process
1216 ! FUNCTION: LCMapStringA
1217 ! FUNCTION: LCMapStringW
1218 ! FUNCTION: LeaveCriticalSection
1219 ! FUNCTION: LoadLibraryA
1220 ! FUNCTION: LoadLibraryExA
1221 FUNCTION: HMODULE LoadLibraryExW ( LPCTSTR lpFile, HANDLE hFile, DWORD flags ) ;
1222 ALIAS: LoadLibraryEx LoadLibraryExW
1223 ! FUNCTION: LoadLibraryW
1224 ! FUNCTION: LoadModule
1225 ! FUNCTION: LoadResource
1226 ! FUNCTION: LocalAlloc
1227 ! FUNCTION: LocalCompact
1228 ! FUNCTION: LocalFileTimeToFileTime
1229 ! FUNCTION: LocalFlags
1230 FUNCTION: HLOCAL LocalFree ( HLOCAL hMem ) ;
1231 ! FUNCTION: LocalHandle
1232 ! FUNCTION: LocalLock
1233 ! FUNCTION: LocalReAlloc
1234 ! FUNCTION: LocalShrink
1235 ! FUNCTION: LocalSize
1236 ! FUNCTION: LocalUnlock
1237 ! FUNCTION: LockFile
1238 ! FUNCTION: LockFileEx
1239 ! FUNCTION: LockResource
1240 ! FUNCTION: lstrcat
1241 ! FUNCTION: lstrcatA
1242 ! FUNCTION: lstrcatW
1243 ! FUNCTION: lstrcmp
1244 ! FUNCTION: lstrcmpA
1245 ! FUNCTION: lstrcmpi
1246 ! FUNCTION: lstrcmpiA
1247 ! FUNCTION: lstrcmpiW
1248 ! FUNCTION: lstrcmpW
1249 ! FUNCTION: lstrcpy
1250 ! FUNCTION: lstrcpyA
1251 ! FUNCTION: lstrcpyn
1252 ! FUNCTION: lstrcpynA
1253 ! FUNCTION: lstrcpynW
1254 ! FUNCTION: lstrcpyW
1255 ! FUNCTION: lstrlen
1256 ! FUNCTION: lstrlenA
1257 ! FUNCTION: lstrlenW
1258 ! FUNCTION: LZClose
1259 ! FUNCTION: LZCloseFile
1260 ! FUNCTION: LZCopy
1261 ! FUNCTION: LZCreateFileW
1262 ! FUNCTION: LZDone
1263 ! FUNCTION: LZInit
1264 ! FUNCTION: LZOpenFileA
1265 ! FUNCTION: LZOpenFileW
1266 ! FUNCTION: LZRead
1267 ! FUNCTION: LZSeek
1268 ! FUNCTION: LZStart
1269 ! FUNCTION: MapUserPhysicalPages
1270 ! FUNCTION: MapUserPhysicalPagesScatter
1271 FUNCTION: LPVOID MapViewOfFile ( HANDLE hFileMappingObject,
1272                                  DWORD dwDesiredAccess,
1273                                  DWORD dwFileOffsetHigh,
1274                                  DWORD dwFileOffsetLow,
1275                                  SIZE_T dwNumberOfBytesToMap ) ;
1276
1277 FUNCTION: LPVOID MapViewOfFileEx ( HANDLE hFileMappingObject,
1278                                  DWORD dwDesiredAccess,
1279                                  DWORD dwFileOffsetHigh,
1280                                  DWORD dwFileOffsetLow,
1281                                  SIZE_T dwNumberOfBytesToMap,
1282                                  LPVOID lpBaseAddress ) ;
1283
1284 ! FUNCTION: Module32First
1285 ! FUNCTION: Module32FirstW
1286 ! FUNCTION: Module32Next
1287 ! FUNCTION: Module32NextW
1288 ! FUNCTION: MoveFileA
1289 ! FUNCTION: MoveFileExA
1290 ! FUNCTION: MoveFileExW
1291 FUNCTION: BOOL MoveFileW ( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName ) ;
1292 ALIAS: MoveFile MoveFileW
1293 ! FUNCTION: MoveFileWithProgressA
1294 ! FUNCTION: MoveFileWithProgressW
1295 ! FUNCTION: MulDiv
1296 ! FUNCTION: MultiByteToWideChar
1297 ! FUNCTION: NlsConvertIntegerToString
1298 ! FUNCTION: NlsGetCacheUpdateCount
1299 ! FUNCTION: NlsResetProcessLocale
1300 ! FUNCTION: NumaVirtualQueryNode
1301 ! FUNCTION: OpenConsoleW
1302 ! FUNCTION: OpenDataFile
1303 ! FUNCTION: OpenEventA
1304 ! FUNCTION: OpenEventW
1305 ! WARNING: OpenFile is limited to paths of 128 chars in length.  Do not use!
1306 ! FUNCTION: HFILE OpenFile ( LPCTSTR lpFileName, LPOFSTRUCT lpReOpenBuff, UINT uStyle ) ;
1307 FUNCTION: HANDLE OpenFileMappingW ( DWORD dwDesiredAccess,
1308                                     BOOL bInheritHandle,
1309                                     LPCTSTR lpName ) ;
1310 ALIAS: OpenFileMapping OpenFileMappingW
1311 ! FUNCTION: OpenJobObjectA
1312 ! FUNCTION: OpenJobObjectW
1313 ! FUNCTION: OpenMutexA
1314 ! FUNCTION: OpenMutexW
1315 FUNCTION: HANDLE OpenProcess ( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId ) ;
1316 ! FUNCTION: OpenProfileUserMapping
1317 ! FUNCTION: OpenSemaphoreA
1318 ! FUNCTION: OpenSemaphoreW
1319 ! FUNCTION: OpenThread
1320 ! FUNCTION: OpenWaitableTimerA
1321 ! FUNCTION: OpenWaitableTimerW
1322 ! FUNCTION: OutputDebugStringA
1323 ! FUNCTION: OutputDebugStringW
1324 ! FUNCTION: PeekConsoleInputA
1325 ! FUNCTION: PeekConsoleInputW
1326 ! FUNCTION: PeekNamedPipe
1327 ! FUNCTION: PostQueuedCompletionStatus
1328 ! FUNCTION: PrepareTape
1329 ! FUNCTION: PrivCopyFileExW
1330 ! FUNCTION: PrivMoveFileIdentityW
1331 ! FUNCTION: Process32First
1332 ! FUNCTION: Process32FirstW
1333 ! FUNCTION: Process32Next
1334 ! FUNCTION: Process32NextW
1335 ! FUNCTION: ProcessIdToSessionId
1336 ! FUNCTION: PulseEvent
1337 ! FUNCTION: PurgeComm
1338 ! FUNCTION: QueryActCtxW
1339 ! FUNCTION: QueryDepthSList
1340 ! FUNCTION: QueryDosDeviceA
1341 ! FUNCTION: QueryDosDeviceW
1342 ! FUNCTION: QueryInformationJobObject
1343 ! FUNCTION: QueryMemoryResourceNotification
1344 ! FUNCTION: QueryPerformanceCounter
1345 ! FUNCTION: QueryPerformanceFrequency
1346 ! FUNCTION: QueryWin31IniFilesMappedToRegistry
1347 ! FUNCTION: QueueUserAPC
1348 ! FUNCTION: QueueUserWorkItem
1349 ! FUNCTION: RaiseException
1350 ! FUNCTION: ReadConsoleA
1351 ! FUNCTION: ReadConsoleInputA
1352 ! FUNCTION: ReadConsoleInputExA
1353 ! FUNCTION: ReadConsoleInputExW
1354 ! FUNCTION: ReadConsoleInputW
1355 ! FUNCTION: ReadConsoleOutputA
1356 ! FUNCTION: ReadConsoleOutputAttribute
1357 ! FUNCTION: ReadConsoleOutputCharacterA
1358 ! FUNCTION: ReadConsoleOutputCharacterW
1359 ! FUNCTION: ReadConsoleOutputW
1360 ! FUNCTION: ReadConsoleW
1361 FUNCTION: BOOL ReadDirectoryChangesW ( HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, BOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, void* lpCompletionRoutine ) ;
1362 FUNCTION: BOOL ReadFile ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, void* lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ) ;
1363 ! FUNCTION: BOOL ReadFile ( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ) ;
1364 FUNCTION: BOOL ReadFileEx ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ) ;
1365 ! FUNCTION: ReadFileScatter
1366 FUNCTION: BOOL ReadProcessMemory ( HANDLE hProcess, void* lpBaseAddress, void* lpBuffer, long nSize, long* lpNumberOfBytesRead )  ;
1367 ! FUNCTION: RegisterConsoleIME
1368 ! FUNCTION: RegisterConsoleOS2
1369 ! FUNCTION: RegisterConsoleVDM
1370 ! FUNCTION: RegisterWaitForInputIdle
1371 ! FUNCTION: RegisterWaitForSingleObject
1372 ! FUNCTION: RegisterWaitForSingleObjectEx
1373 ! FUNCTION: RegisterWowBaseHandlers
1374 ! FUNCTION: RegisterWowExec
1375 ! FUNCTION: ReleaseActCtx
1376 ! FUNCTION: ReleaseMutex
1377 ! FUNCTION: ReleaseSemaphore
1378 ! FUNCTION: RemoveDirectoryA
1379 FUNCTION: BOOL RemoveDirectoryW ( LPCTSTR lpPathName ) ;
1380 ALIAS: RemoveDirectory RemoveDirectoryW
1381 ! FUNCTION: RemoveLocalAlternateComputerNameA
1382 ! FUNCTION: RemoveLocalAlternateComputerNameW
1383 ! FUNCTION: RemoveVectoredExceptionHandler
1384 ! FUNCTION: ReplaceFile
1385 ! FUNCTION: ReplaceFileA
1386 ! FUNCTION: ReplaceFileW
1387 ! FUNCTION: RequestDeviceWakeup
1388 ! FUNCTION: RequestWakeupLatency
1389 ! FUNCTION: ResetEvent
1390 ! FUNCTION: ResetWriteWatch
1391 ! FUNCTION: RestoreLastError
1392 ! FUNCTION: ResumeThread
1393 ! FUNCTION: RtlCaptureContext
1394 ! FUNCTION: RtlCaptureStackBackTrace
1395 ! FUNCTION: RtlFillMemory
1396 ! FUNCTION: RtlMoveMemory
1397 ! FUNCTION: RtlUnwind
1398 ! FUNCTION: RtlZeroMemory
1399 ! FUNCTION: ScrollConsoleScreenBufferA
1400 ! FUNCTION: ScrollConsoleScreenBufferW
1401 ! FUNCTION: SearchPathA
1402 ! FUNCTION: SearchPathW
1403 ! FUNCTION: SetCalendarInfoA
1404 ! FUNCTION: SetCalendarInfoW
1405 ! FUNCTION: SetClientTimeZoneInformation
1406 ! FUNCTION: SetCommBreak
1407 ! FUNCTION: SetCommConfig
1408 ! FUNCTION: SetCommMask
1409 ! FUNCTION: SetCommState
1410 ! FUNCTION: SetCommTimeouts
1411 ! FUNCTION: SetComPlusPackageInstallStatus
1412 ! FUNCTION: SetComputerNameA
1413 ! FUNCTION: SetComputerNameExA
1414 ! FUNCTION: SetComputerNameExW
1415 ! FUNCTION: SetComputerNameW
1416 ! FUNCTION: SetConsoleActiveScreenBuffer
1417 ! FUNCTION: SetConsoleCommandHistoryMode
1418 ! FUNCTION: SetConsoleCP
1419 ! FUNCTION: SetConsoleCtrlHandler
1420 ! FUNCTION: SetConsoleCursor
1421 ! FUNCTION: SetConsoleCursorInfo
1422 ! FUNCTION: SetConsoleCursorMode
1423 ! FUNCTION: SetConsoleCursorPosition
1424 ! FUNCTION: SetConsoleDisplayMode
1425 ! FUNCTION: SetConsoleFont
1426 ! FUNCTION: SetConsoleHardwareState
1427 ! FUNCTION: SetConsoleIcon
1428 ! FUNCTION: SetConsoleInputExeNameA
1429 ! FUNCTION: SetConsoleInputExeNameW
1430 ! FUNCTION: SetConsoleKeyShortcuts
1431 ! FUNCTION: SetConsoleLocalEUDC
1432 ! FUNCTION: SetConsoleMaximumWindowSize
1433 ! FUNCTION: SetConsoleMenuClose
1434 ! FUNCTION: SetConsoleMode
1435 ! FUNCTION: SetConsoleNlsMode
1436 ! FUNCTION: SetConsoleNumberOfCommandsA
1437 ! FUNCTION: SetConsoleNumberOfCommandsW
1438 ! FUNCTION: SetConsoleOS2OemFormat
1439 ! FUNCTION: SetConsoleOutputCP
1440 ! FUNCTION: SetConsolePalette
1441 ! FUNCTION: SetConsoleScreenBufferSize
1442 FUNCTION: BOOL SetConsoleTextAttribute ( HANDLE hConsoleOutput, WORD wAttributes ) ;
1443 FUNCTION: BOOL SetConsoleTitleW ( LPCWSTR lpConsoleTitle ) ;
1444 ALIAS: SetConsoleTitle SetConsoleTitleW
1445 ! FUNCTION: SetConsoleWindowInfo
1446 ! FUNCTION: SetCPGlobal
1447 ! FUNCTION: SetCriticalSectionSpinCount
1448 ! FUNCTION: SetCurrentDirectoryA
1449 FUNCTION: BOOL SetCurrentDirectoryW ( LPCWSTR lpDirectory ) ;
1450 ALIAS: SetCurrentDirectory SetCurrentDirectoryW
1451 ! FUNCTION: SetDefaultCommConfigA
1452 ! FUNCTION: SetDefaultCommConfigW
1453 ! FUNCTION: SetDllDirectoryA
1454 ! FUNCTION: SetDllDirectoryW
1455 FUNCTION: BOOL SetEndOfFile ( HANDLE hFile ) ;
1456 ! FUNCTION: SetEnvironmentVariableA
1457 FUNCTION: BOOL SetEnvironmentVariableW ( LPCTSTR key, LPCTSTR value ) ;
1458 ALIAS: SetEnvironmentVariable SetEnvironmentVariableW
1459 ! FUNCTION: SetErrorMode
1460 ! FUNCTION: SetEvent
1461 ! FUNCTION: SetFileApisToANSI
1462 ! FUNCTION: SetFileApisToOEM
1463 ! FUNCTION: SetFileAttributesA
1464 ! FUNCTION: SetFileAttributesW
1465 FUNCTION: DWORD SetFilePointer ( HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod ) ;
1466 FUNCTION: DWORD SetFilePointerEx ( HANDLE hFile, LARGE_INTEGER lDistanceToMove, PLARGE_INTEGER lpDistanceToMoveHigh, DWORD dwMoveMethod ) ;
1467 ! FUNCTION: SetFileShortNameA
1468 ! FUNCTION: SetFileShortNameW
1469 FUNCTION: BOOL SetFileTime ( HANDLE hFile, FILETIME* lpCreationTime, FILETIME* lpLastAccessTime, FILETIME* lpLastWriteTime ) ;
1470 ! FUNCTION: SetFileValidData
1471 ! FUNCTION: SetFirmwareEnvironmentVariableA
1472 ! FUNCTION: SetFirmwareEnvironmentVariableW
1473 ! FUNCTION: SetHandleContext
1474 ! FUNCTION: SetHandleCount
1475 FUNCTION: BOOL SetHandleInformation ( HANDLE hObject, DWORD dwMask, DWORD dwFlags ) ;
1476 ! FUNCTION: SetInformationJobObject
1477 ! FUNCTION: SetLastConsoleEventActive
1478 ! FUNCTION: SetLastError
1479 ! FUNCTION: SetLocaleInfoA
1480 ! FUNCTION: SetLocaleInfoW
1481 ! FUNCTION: SetLocalPrimaryComputerNameA
1482 ! FUNCTION: SetLocalPrimaryComputerNameW
1483 ! FUNCTION: SetLocalTime
1484 ! FUNCTION: SetMailslotInfo
1485 ! FUNCTION: SetMessageWaitingIndicator
1486 ! FUNCTION: SetNamedPipeHandleState
1487 FUNCTION: BOOL SetPriorityClass ( HANDLE hProcess, DWORD dwPriorityClass ) ;
1488 ! FUNCTION: SetProcessAffinityMask
1489 FUNCTION: BOOL SetProcessPriorityBoost ( HANDLE hProcess, BOOL disablePriorityBoost ) ;
1490 ! FUNCTION: SetProcessShutdownParameters
1491 ! FUNCTION: SetProcessWorkingSetSize
1492 ! FUNCTION: SetStdHandle
1493 ! FUNCTION: SetSystemPowerState
1494 ! FUNCTION: SetSystemTime
1495 ! FUNCTION: SetSystemTimeAdjustment
1496 ! FUNCTION: SetTapeParameters
1497 ! FUNCTION: SetTapePosition
1498 ! FUNCTION: SetTermsrvAppInstallMode
1499 ! FUNCTION: SetThreadAffinityMask
1500 ! FUNCTION: SetThreadContext
1501 ! FUNCTION: SetThreadExecutionState
1502 ! FUNCTION: SetThreadIdealProcessor
1503 ! FUNCTION: SetThreadLocale
1504 FUNCTION: BOOL SetThreadPriority ( HANDLE hThread, int nPriority ) ;
1505 FUNCTION: BOOL SetThreadPriorityBoost ( HANDLE hThread, BOOL disablePriorityBoost ) ;
1506 ! FUNCTION: SetThreadUILanguage
1507 ! FUNCTION: SetTimerQueueTimer
1508 ! FUNCTION: SetTimeZoneInformation
1509 ! FUNCTION: SetUnhandledExceptionFilter
1510 ! FUNCTION: SetupComm
1511 ! FUNCTION: SetUserGeoID
1512 ! FUNCTION: SetVDMCurrentDirectories
1513 ! FUNCTION: SetVolumeLabelA
1514 ! FUNCTION: SetVolumeLabelW
1515 ! FUNCTION: SetVolumeMountPointA
1516 ! FUNCTION: SetVolumeMountPointW
1517 ! FUNCTION: SetWaitableTimer
1518 ! FUNCTION: ShowConsoleCursor
1519 ! FUNCTION: SignalObjectAndWait
1520 ! FUNCTION: SizeofResource
1521 ! FUNCTION: Sleep
1522 FUNCTION: DWORD SleepEx ( DWORD dwMilliSeconds, BOOL bAlertable ) ;
1523 ! FUNCTION: SuspendThread
1524 ! FUNCTION: SwitchToFiber
1525 ! FUNCTION: SwitchToThread
1526 FUNCTION: BOOL SystemTimeToFileTime ( SYSTEMTIME* lpSystemTime, LPFILETIME lpFileTime ) ;
1527 ! FUNCTION: SystemTimeToTzSpecificLocalTime
1528 ! FUNCTION: TerminateJobObject
1529 FUNCTION: BOOL TerminateProcess ( HANDLE hProcess, DWORD uExit ) ;
1530 ! FUNCTION: TerminateThread
1531 ! FUNCTION: TermsrvAppInstallMode
1532 ! FUNCTION: Thread32First
1533 ! FUNCTION: Thread32Next
1534 ! FUNCTION: TlsAlloc
1535 ! FUNCTION: TlsFree
1536 ! FUNCTION: TlsGetValue
1537 ! FUNCTION: TlsSetValue
1538 ! FUNCTION: Toolhelp32ReadProcessMemory
1539 ! FUNCTION: TransactNamedPipe
1540 ! FUNCTION: TransmitCommChar
1541 ! FUNCTION: TrimVirtualBuffer
1542 ! FUNCTION: TryEnterCriticalSection
1543 ! FUNCTION: TzSpecificLocalTimeToSystemTime
1544 ! FUNCTION: UnhandledExceptionFilter
1545 ! FUNCTION: UnlockFile
1546 ! FUNCTION: UnlockFileEx
1547 FUNCTION: BOOL UnmapViewOfFile ( LPCVOID lpBaseAddress ) ;
1548 ! FUNCTION: UnregisterConsoleIME
1549 ! FUNCTION: UnregisterWait
1550 ! FUNCTION: UnregisterWaitEx
1551 ! FUNCTION: UpdateResourceA
1552 ! FUNCTION: UpdateResourceW
1553 ! FUNCTION: UTRegister
1554 ! FUNCTION: UTUnRegister
1555 ! FUNCTION: ValidateLCType
1556 ! FUNCTION: ValidateLocale
1557 ! FUNCTION: VDMConsoleOperation
1558 ! FUNCTION: VDMOperationStarted
1559 ! FUNCTION: VerifyConsoleIoHandle
1560 ! FUNCTION: VerifyVersionInfoA
1561 ! FUNCTION: VerifyVersionInfoW
1562 ! FUNCTION: VerLanguageNameA
1563 ! FUNCTION: VerLanguageNameW
1564 ! FUNCTION: VerSetConditionMask
1565 ! FUNCTION: VirtualAlloc
1566 FUNCTION: HANDLE VirtualAllocEx ( HANDLE hProcess, void* lpAddress, long dwSize, DWORD flAllocationType, DWORD flProtect ) ;
1567 ! FUNCTION: VirtualBufferExceptionHandler
1568 ! FUNCTION: VirtualFree
1569 FUNCTION: BOOL VirtualFreeEx ( HANDLE hProcess, void* lpAddress, long dwSize, DWORD dwFreeType ) ;
1570 ! FUNCTION: VirtualLock
1571 ! FUNCTION: VirtualProtect
1572 ! FUNCTION: VirtualProtectEx
1573 ! FUNCTION: VirtualQuery
1574 FUNCTION: BOOL VirtualQueryEx ( HANDLE hProcess, void* lpAddress, MEMORY_BASIC_INFORMATION* lpBuffer, SIZE_T dwLength ) ;
1575 ! FUNCTION: VirtualUnlock
1576 ! FUNCTION: WaitCommEvent
1577 ! FUNCTION: WaitForDebugEvent
1578 FUNCTION: DWORD WaitForMultipleObjects ( DWORD nCount, HANDLE* lpHandles, BOOL bWaitAll, DWORD dwMilliseconds ) ;
1579 ! FUNCTION: WaitForMultipleObjectsEx
1580 FUNCTION: BOOL WaitForSingleObject ( HANDLE hHandle, DWORD dwMilliseconds ) ;
1581 ! FUNCTION: WaitForSingleObjectEx
1582 ! FUNCTION: WaitNamedPipeA
1583 ! FUNCTION: WaitNamedPipeW
1584 ! FUNCTION: WideCharToMultiByte
1585 ! FUNCTION: WinExec
1586 ! FUNCTION: WriteConsoleA
1587 ! FUNCTION: WriteConsoleInputA
1588 ! FUNCTION: WriteConsoleInputVDMA
1589 ! FUNCTION: WriteConsoleInputVDMW
1590 ! FUNCTION: WriteConsoleInputW
1591 ! FUNCTION: WriteConsoleOutputA
1592 ! FUNCTION: WriteConsoleOutputAttribute
1593 ! FUNCTION: WriteConsoleOutputCharacterA
1594 ! FUNCTION: WriteConsoleOutputCharacterW
1595 ! FUNCTION: WriteConsoleOutputW
1596 ! FUNCTION: WriteConsoleW
1597 FUNCTION: BOOL WriteFile ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToWrite, void* lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ) ;
1598 FUNCTION: BOOL WriteFileEx ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ) ;
1599 ! FUNCTION: WriteFileGather
1600 ! FUNCTION: WritePrivateProfileSectionA
1601 ! FUNCTION: WritePrivateProfileSectionW
1602 ! FUNCTION: WritePrivateProfileStringA
1603 ! FUNCTION: WritePrivateProfileStringW
1604 ! FUNCTION: WritePrivateProfileStructA
1605 ! FUNCTION: WritePrivateProfileStructW
1606 FUNCTION: BOOL WriteProcessMemory ( HANDLE hProcess, void* lpBaseAddress, void* lpBuffer, long nSize, long* lpNumberOfBytesWritten )  ;
1607 ! FUNCTION: WriteProfileSectionA
1608 ! FUNCTION: WriteProfileSectionW
1609 ! FUNCTION: WriteProfileStringA
1610 ! FUNCTION: WriteProfileStringW
1611 ! FUNCTION: WriteTapemark
1612 ! FUNCTION: WTSGetActiveConsoleSessionId
1613 ! FUNCTION: ZombifyActCtx
1614
1615 : with-global-lock ( HGLOBAL quot -- )
1616     swap [ GlobalLock swap call ] keep GlobalUnlock drop ; inline