]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/kernel32/kernel32.factor
windows: Fix bootstrap.
[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.c-types alien.syntax kernel windows.types
4 math multiline classes.struct alien.data arrays ;
5 QUALIFIED-WITH: alien.c-types c
6 IN: windows.kernel32
7
8 : lo-word ( wparam -- lo ) c:short <ref> c:short deref ; inline
9 : hi-word ( wparam -- hi ) -16 shift lo-word ; inline
10 : >lo-hi ( WORD -- array ) [ lo-word ] [ hi-word ] bi 2array ; inline
11
12 CONSTANT: MAX_PATH 260
13
14 CONSTANT: GHND          0x40
15 CONSTANT: GMEM_FIXED          0
16 CONSTANT: GMEM_MOVEABLE       2
17 CONSTANT: GMEM_ZEROINIT 0x40
18 CONSTANT: GPTR          0x40
19
20 CONSTANT: GENERIC_READ    0x80000000
21 CONSTANT: GENERIC_WRITE   0x40000000
22 CONSTANT: GENERIC_EXECUTE 0x20000000
23 CONSTANT: GENERIC_ALL     0x10000000
24
25 CONSTANT: CREATE_NEW        1
26 CONSTANT: CREATE_ALWAYS     2
27 CONSTANT: OPEN_EXISTING     3
28 CONSTANT: OPEN_ALWAYS       4
29 CONSTANT: TRUNCATE_EXISTING 5
30               
31 CONSTANT: FILE_LIST_DIRECTORY       0x00000001
32 CONSTANT: FILE_READ_DAT             0x00000001
33 CONSTANT: FILE_ADD_FILE             0x00000002
34 CONSTANT: FILE_WRITE_DATA           0x00000002
35 CONSTANT: FILE_ADD_SUBDIRECTORY     0x00000004
36 CONSTANT: FILE_APPEND_DATA          0x00000004
37 CONSTANT: FILE_CREATE_PIPE_INSTANCE 0x00000004
38 CONSTANT: FILE_READ_EA              0x00000008
39 CONSTANT: FILE_READ_PROPERTIES      0x00000008
40 CONSTANT: FILE_WRITE_EA             0x00000010
41 CONSTANT: FILE_WRITE_PROPERTIES     0x00000010
42 CONSTANT: FILE_EXECUTE              0x00000020
43 CONSTANT: FILE_TRAVERSE             0x00000020
44 CONSTANT: FILE_DELETE_CHILD         0x00000040
45 CONSTANT: FILE_READ_ATTRIBUTES      0x00000080
46 CONSTANT: FILE_WRITE_ATTRIBUTES     0x00000100
47
48 CONSTANT: FILE_SHARE_READ        1
49 CONSTANT: FILE_SHARE_WRITE       2
50 CONSTANT: FILE_SHARE_DELETE      4
51 CONSTANT: FILE_SHARE_VALID_FLAGS 7
52
53 CONSTANT: FILE_FLAG_WRITE_THROUGH       0x80000000
54 CONSTANT: FILE_FLAG_OVERLAPPED          0x40000000
55 CONSTANT: FILE_FLAG_NO_BUFFERING        0x20000000
56 CONSTANT: FILE_FLAG_RANDOM_ACCESS       0x10000000
57 CONSTANT: FILE_FLAG_SEQUENTIAL_SCAN     0x08000000
58 CONSTANT: FILE_FLAG_DELETE_ON_CLOSE     0x04000000
59 CONSTANT: FILE_FLAG_BACKUP_SEMANTICS    0x02000000
60 CONSTANT: FILE_FLAG_POSIX_SEMANTICS     0x01000000
61 CONSTANT: FILE_FLAG_OPEN_REPARSE_POINT  0x00200000
62 CONSTANT: FILE_FLAG_OPEN_NO_RECALL      0x00100000
63 CONSTANT: FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
64
65 CONSTANT: FILE_ATTRIBUTE_READONLY            0x00000001
66 CONSTANT: FILE_ATTRIBUTE_HIDDEN              0x00000002
67 CONSTANT: FILE_ATTRIBUTE_SYSTEM              0x00000004
68 CONSTANT: FILE_ATTRIBUTE_DIRECTORY           0x00000010
69 CONSTANT: FILE_ATTRIBUTE_ARCHIVE             0x00000020
70 CONSTANT: FILE_ATTRIBUTE_DEVICE              0x00000040
71 CONSTANT: FILE_ATTRIBUTE_NORMAL              0x00000080
72 CONSTANT: FILE_ATTRIBUTE_TEMPORARY           0x00000100
73 CONSTANT: FILE_ATTRIBUTE_SPARSE_FILE         0x00000200
74 CONSTANT: FILE_ATTRIBUTE_REPARSE_POINT       0x00000400
75 CONSTANT: FILE_ATTRIBUTE_COMPRESSED          0x00000800
76 CONSTANT: FILE_ATTRIBUTE_OFFLINE             0x00001000
77 CONSTANT: FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
78 CONSTANT: FILE_ATTRIBUTE_ENCRYPTED           0x00004000
79
80 CONSTANT: FILE_NOTIFY_CHANGE_FILE        0x001
81 CONSTANT: FILE_NOTIFY_CHANGE_DIR_NAME    0x002
82 CONSTANT: FILE_NOTIFY_CHANGE_ATTRIBUTES  0x004
83 CONSTANT: FILE_NOTIFY_CHANGE_SIZE        0x008
84 CONSTANT: FILE_NOTIFY_CHANGE_LAST_WRITE  0x010
85 CONSTANT: FILE_NOTIFY_CHANGE_LAST_ACCESS 0x020
86 CONSTANT: FILE_NOTIFY_CHANGE_CREATION    0x040
87 CONSTANT: FILE_NOTIFY_CHANGE_EA          0x080
88 CONSTANT: FILE_NOTIFY_CHANGE_SECURITY    0x100
89 CONSTANT: FILE_NOTIFY_CHANGE_FILE_NAME   0x200
90 CONSTANT: FILE_NOTIFY_CHANGE_ALL         0x3ff
91
92 CONSTANT: FILE_ACTION_ADDED 1
93 CONSTANT: FILE_ACTION_REMOVED 2
94 CONSTANT: FILE_ACTION_MODIFIED 3
95 CONSTANT: FILE_ACTION_RENAMED_OLD_NAME 4
96 CONSTANT: FILE_ACTION_RENAMED_NEW_NAME 5
97
98 CONSTANT: DONT_RESOLVE_DLL_REFERENCES 1
99
100 STRUCT: FILE_NOTIFY_INFORMATION
101     { NextEntryOffset DWORD }
102     { Action DWORD }
103     { FileNameLength DWORD }
104     { FileName WCHAR[1] } ;
105
106 TYPEDEF: FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION
107
108 CONSTANT: STD_INPUT_HANDLE  -10
109 CONSTANT: STD_OUTPUT_HANDLE -11
110 CONSTANT: STD_ERROR_HANDLE  -12
111
112 : INVALID_HANDLE_VALUE ( -- alien ) -1 <alien> ; inline
113 CONSTANT: INVALID_FILE_SIZE 0xFFFFFFFF
114 CONSTANT: INVALID_SET_FILE_POINTER 0xffffffff
115
116 CONSTANT: FILE_BEGIN 0
117 CONSTANT: FILE_CURRENT 1
118 CONSTANT: FILE_END 2
119
120 CONSTANT: OF_READ 0
121 CONSTANT: OF_READWRITE    2
122 CONSTANT: OF_WRITE    1
123 CONSTANT: OF_SHARE_COMPAT    0
124 CONSTANT: OF_SHARE_DENY_NONE    64
125 CONSTANT: OF_SHARE_DENY_READ    48
126 CONSTANT: OF_SHARE_DENY_WRITE    32
127 CONSTANT: OF_SHARE_EXCLUSIVE    16
128 CONSTANT: OF_CANCEL    2048
129 CONSTANT: OF_CREATE    4096
130 CONSTANT: OF_DELETE    512
131 CONSTANT: OF_EXIST    16384
132 CONSTANT: OF_PARSE    256
133 CONSTANT: OF_PROMPT    8192
134 CONSTANT: OF_REOPEN    32768
135 CONSTANT: OF_VERIFY    1024
136
137 CONSTANT: INFINITE 0xFFFFFFFF
138
139 ! From C:\cygwin\usr\include\w32api\winbase.h
140 CONSTANT: FILE_TYPE_UNKNOWN 0
141 CONSTANT: FILE_TYPE_DISK 1
142 CONSTANT: FILE_TYPE_CHAR 2
143 CONSTANT: FILE_TYPE_PIPE 3
144 CONSTANT: FILE_TYPE_REMOTE 0x8000
145
146 CONSTANT: TIME_ZONE_ID_UNKNOWN 0
147 CONSTANT: TIME_ZONE_ID_STANDARD 1
148 CONSTANT: TIME_ZONE_ID_DAYLIGHT 2
149 CONSTANT: TIME_ZONE_ID_INVALID 0xFFFFFFFF
150
151 CONSTANT: PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
152 CONSTANT: PF_SSE3_INSTRUCTIONS_AVAILABLE 13
153
154 CONSTANT: MAX_COMPUTERNAME_LENGTH 15
155 CONSTANT: UNLEN 256
156
157 CONSTANT: PROCESS_TERMINATE 0x1
158 CONSTANT: PROCESS_CREATE_THREAD 0x2
159 CONSTANT: PROCESS_VM_OPERATION 0x8
160 CONSTANT: PROCESS_VM_READ 0x10
161 CONSTANT: PROCESS_VM_WRITE 0x20
162 CONSTANT: PROCESS_DUP_HANDLE 0x40
163 CONSTANT: PROCESS_CREATE_PROCESS 0x80
164 CONSTANT: PROCESS_SET_QUOTA 0x100
165 CONSTANT: PROCESS_SET_INFORMATION 0x200
166 CONSTANT: PROCESS_QUERY_INFORMATION 0x400
167
168 CONSTANT: MEM_COMMIT 0x1000
169 CONSTANT: MEM_RELEASE  0x8000
170
171 CONSTANT: PAGE_NOACCESS    1
172 CONSTANT: PAGE_READONLY    2
173 CONSTANT: PAGE_READWRITE 4
174 CONSTANT: PAGE_WRITECOPY 8
175 CONSTANT: PAGE_EXECUTE 0x10
176 CONSTANT: PAGE_EXECUTE_READ 0x20
177 CONSTANT: PAGE_EXECUTE_READWRITE 0x40
178 CONSTANT: PAGE_EXECUTE_WRITECOPY 0x80
179 CONSTANT: PAGE_GUARD 0x100
180 CONSTANT: PAGE_NOCACHE 0x200
181
182 CONSTANT: SEC_BASED 0x00200000
183 CONSTANT: SEC_NO_CHANGE 0x00400000
184 CONSTANT: SEC_FILE 0x00800000
185 CONSTANT: SEC_IMAGE 0x01000000
186 CONSTANT: SEC_VLM 0x02000000
187 CONSTANT: SEC_RESERVE 0x04000000
188 CONSTANT: SEC_COMMIT 0x08000000
189 CONSTANT: SEC_NOCACHE 0x10000000
190 ALIAS: MEM_IMAGE SEC_IMAGE
191
192 CONSTANT: FILE_MAP_ALL_ACCESS 0xf001f
193 CONSTANT: FILE_MAP_READ   4
194 CONSTANT: FILE_MAP_WRITE  2
195 CONSTANT: FILE_MAP_COPY   1
196
197 CONSTANT: THREAD_MODE_BACKGROUND_BEGIN 0x10000
198 CONSTANT: THREAD_MODE_BACKGROUND_END   0x20000
199 CONSTANT: THREAD_PRIORITY_ABOVE_NORMAL 1
200 CONSTANT: THREAD_PRIORITY_BELOW_NORMAL -1
201 CONSTANT: THREAD_PRIORITY_HIGHEST 2
202 CONSTANT: THREAD_PRIORITY_IDLE -15
203 CONSTANT: THREAD_PRIORITY_LOWEST -2
204 CONSTANT: THREAD_PRIORITY_NORMAL 0
205 CONSTANT: THREAD_PRIORITY_TIME_CRITICAL 15
206
207 ENUM: COMPUTER_NAME_FORMAT
208     ComputerNameNetBIOS
209     ComputerNameDnsHostname
210     ComputerNameDnsDomain
211     ComputerNameDnsFullyQualified
212     ComputerNamePhysicalNetBIOS
213     ComputerNamePhysicalDnsHostname
214     ComputerNamePhysicalDnsDomain
215     ComputerNamePhysicalDnsFullyQualified
216     ComputerNameMax ;
217
218 STRUCT: OVERLAPPED
219     { internal UINT_PTR }
220     { internal-high UINT_PTR }
221     { offset DWORD }
222     { offset-high DWORD }
223     { event HANDLE } ;
224
225 STRUCT: SYSTEMTIME
226     { wYear WORD }
227     { wMonth WORD }
228     { wDayOfWeek WORD }
229     { wDay WORD }
230     { wHour WORD }
231     { wMinute WORD }
232     { wSecond WORD }
233     { wMilliseconds WORD } ;
234
235 STRUCT: TIME_ZONE_INFORMATION
236     { Bias LONG }
237     { StandardName WCHAR[32] }
238     { StandardDate SYSTEMTIME }
239     { StandardBias LONG }
240     { DaylightName WCHAR[32] }
241     { DaylightDate SYSTEMTIME }
242     { DaylightBias LONG } ;
243
244 STRUCT: FILETIME
245     { dwLowDateTime DWORD }
246     { dwHighDateTime DWORD } ;
247
248 STRUCT: STARTUPINFO
249     { cb DWORD }
250     { lpReserved LPTSTR }
251     { lpDesktop LPTSTR }
252     { lpTitle LPTSTR }
253     { dwX DWORD }
254     { dwY DWORD }
255     { dwXSize DWORD }
256     { dwYSize DWORD }
257     { dwXCountChars DWORD }
258     { dwYCountChars DWORD }
259     { dwFillAttribute DWORD }
260     { dwFlags DWORD }
261     { wShowWindow WORD }
262     { cbReserved2 WORD }
263     { lpReserved2 LPBYTE }
264     { hStdInput HANDLE }
265     { hStdOutput HANDLE }
266     { hStdError HANDLE } ;
267
268 TYPEDEF: void* LPSTARTUPINFO
269
270 STRUCT: PROCESS_INFORMATION
271     { hProcess HANDLE }
272     { hThread HANDLE }
273     { dwProcessId DWORD }
274     { dwThreadId DWORD } ;
275
276 STRUCT: SYSTEM_INFO
277     { dwOemId DWORD }
278     { dwPageSize DWORD }
279     { lpMinimumApplicationAddress LPVOID }
280     { lpMaximumApplicationAddress LPVOID }
281     { dwActiveProcessorMask DWORD_PTR }
282     { dwNumberOfProcessors DWORD }
283     { dwProcessorType DWORD }
284     { dwAllocationGranularity DWORD }
285     { wProcessorLevel WORD }
286     { wProcessorRevision WORD } ;
287
288 TYPEDEF: void* LPSYSTEM_INFO
289
290 STRUCT: MEMORYSTATUS
291     { dwLength DWORD }
292     { dwMemoryLoad DWORD }
293     { dwTotalPhys SIZE_T }
294     { dwAvailPhys SIZE_T }
295     { dwTotalPageFile SIZE_T }
296     { dwAvailPageFile SIZE_T }
297     { dwTotalVirtual SIZE_T }
298     { dwAvailVirtual SIZE_T } ;
299
300 TYPEDEF: void* LPMEMORYSTATUS
301
302 STRUCT: MEMORYSTATUSEX
303     { dwLength DWORD }
304     { dwMemoryLoad DWORD }
305     { ullTotalPhys DWORDLONG }
306     { ullAvailPhys DWORDLONG }
307     { ullTotalPageFile DWORDLONG }
308     { ullAvailPageFile DWORDLONG }
309     { ullTotalVirtual DWORDLONG }
310     { ullAvailVirtual DWORDLONG }
311     { ullAvailExtendedVirtual DWORDLONG } ;
312
313 TYPEDEF: void* LPMEMORYSTATUSEX
314
315 STRUCT: OSVERSIONINFO
316     { dwOSVersionInfoSize DWORD }
317     { dwMajorVersion DWORD }
318     { dwMinorVersion DWORD }
319     { dwBuildNumber DWORD }
320     { dwPlatformId DWORD }
321     { szCSDVersion WCHAR[128] } ;
322
323 TYPEDEF: void* LPOSVERSIONINFO
324
325 STRUCT: MEMORY_BASIC_INFORMATION
326   { BaseAddress void* }
327   { AllocationBase void* }
328   { AllocationProtect DWORD }
329   { RegionSize SIZE_T }
330   { state DWORD }
331   { protect DWORD }
332   { type DWORD } ;
333
334 STRUCT: GUID
335     { Data1 ULONG }
336     { Data2 WORD }
337     { Data3 WORD }
338     { Data4 UCHAR[8] } ;
339
340 /*
341     fBinary  :1;
342     fParity  :1;
343     fOutxCtsFlow  :1;
344     fOutxDsrFlow  :1;
345     fDtrControl  :2;
346     fDsrSensitivity  :1;
347     fTXContinueOnXoff  :1;
348     fOutX  :1;
349     fInX  :1;
350     fErrorChar  :1;
351     fNull  :1;
352     fRtsControl  :2;
353     fAbortOnError  :1;
354     fDummy2  :17;
355 */
356
357 CONSTANT: SP_SERIALCOMM   0x1
358 CONSTANT: BAUD_075        0x1
359 CONSTANT: BAUD_110        0x2
360 CONSTANT: BAUD_134_5      0x4
361 CONSTANT: BAUD_150        0x8
362 CONSTANT: BAUD_300        0x10
363 CONSTANT: BAUD_600        0x20
364 CONSTANT: BAUD_1200       0x40
365 CONSTANT: BAUD_1800       0x80
366 CONSTANT: BAUD_2400       0x100
367 CONSTANT: BAUD_4800       0x200
368 CONSTANT: BAUD_7200       0x400
369 CONSTANT: BAUD_9600       0x800
370 CONSTANT: BAUD_14400      0x1000
371 CONSTANT: BAUD_19200      0x2000
372 CONSTANT: BAUD_38400      0x4000
373 CONSTANT: BAUD_56K        0x8000
374 CONSTANT: BAUD_57600      0x40000
375 CONSTANT: BAUD_115200     0x20000
376 CONSTANT: BAUD_128K       0x10000
377 CONSTANT: BAUD_USER       0x10000000
378 CONSTANT: PST_FAX     0x21
379 CONSTANT: PST_LAT     0x101
380 CONSTANT: PST_MODEM       0x6
381 CONSTANT: PST_NETWORK_BRIDGE  0x100
382 CONSTANT: PST_PARALLELPORT    0x2
383 CONSTANT: PST_RS232       0x1
384 CONSTANT: PST_RS422       0x3
385 CONSTANT: PST_RS423       0x4
386 CONSTANT: PST_RS449       0x5
387 CONSTANT: PST_SCANNER     0x22
388 CONSTANT: PST_TCPIP_TELNET    0x102
389 CONSTANT: PST_UNSPECIFIED 0
390 CONSTANT: PST_X25     0x103
391 CONSTANT: PCF_16BITMODE   0x200
392 CONSTANT: PCF_DTRDSR      0x1
393 CONSTANT: PCF_INTTIMEOUTS 0x80
394 CONSTANT: PCF_PARITY_CHECK    0x8
395 CONSTANT: PCF_RLSD        0x4
396 CONSTANT: PCF_RTSCTS      0x2
397 CONSTANT: PCF_SETXCHAR    0x20
398 CONSTANT: PCF_SPECIALCHARS    0x100
399 CONSTANT: PCF_TOTALTIMEOUTS   0x40
400 CONSTANT: PCF_XONXOFF     0x10
401 CONSTANT: SP_BAUD     0x2
402 CONSTANT: SP_DATABITS     0x4
403 CONSTANT: SP_HANDSHAKING  0x10
404 CONSTANT: SP_PARITY       0x1
405 CONSTANT: SP_PARITY_CHECK 0x20
406 CONSTANT: SP_RLSD     0x40
407 CONSTANT: SP_STOPBITS     0x8
408 CONSTANT: DATABITS_5      1
409 CONSTANT: DATABITS_6      2
410 CONSTANT: DATABITS_7      4
411 CONSTANT: DATABITS_8      8
412 CONSTANT: DATABITS_16     16
413 CONSTANT: DATABITS_16X    32
414 CONSTANT: STOPBITS_10     1
415 CONSTANT: STOPBITS_15     2
416 CONSTANT: STOPBITS_20     4
417 CONSTANT: PARITY_NONE     256
418 CONSTANT: PARITY_ODD      512
419 CONSTANT: PARITY_EVEN     1024
420 CONSTANT: PARITY_MARK     2048
421 CONSTANT: PARITY_SPACE    4096
422 CONSTANT: COMMPROP_INITIALIZED    0xe73cf52e
423
424 CONSTANT: CBR_110         110
425 CONSTANT: CBR_300         300
426 CONSTANT: CBR_600         600
427 CONSTANT: CBR_1200            1200
428 CONSTANT: CBR_2400            2400
429 CONSTANT: CBR_4800            4800
430 CONSTANT: CBR_9600            9600
431 CONSTANT: CBR_14400           14400
432 CONSTANT: CBR_19200           19200
433 CONSTANT: CBR_38400           38400
434 CONSTANT: CBR_56000           56000
435 CONSTANT: CBR_57600           57600
436 CONSTANT: CBR_115200          115200
437 CONSTANT: CBR_128000          128000
438 CONSTANT: CBR_256000          256000
439 CONSTANT: DTR_CONTROL_DISABLE     0
440 CONSTANT: DTR_CONTROL_ENABLE      1
441 CONSTANT: DTR_CONTROL_HANDSHAKE   2
442 CONSTANT: RTS_CONTROL_DISABLE     0
443 CONSTANT: RTS_CONTROL_ENABLE      1
444 CONSTANT: RTS_CONTROL_HANDSHAKE   2
445 CONSTANT: RTS_CONTROL_TOGGLE      3
446 CONSTANT: EVENPARITY          2
447 CONSTANT: MARKPARITY          3
448 CONSTANT: NOPARITY            0
449 CONSTANT: ODDPARITY           1
450 CONSTANT: SPACEPARITY         4
451 CONSTANT: ONESTOPBIT          0
452 CONSTANT: ONE5STOPBITS        1
453 CONSTANT: TWOSTOPBITS         2
454
455 ! Flowcontrol bit mask in DCB
456 CONSTANT: FM_fBinary          0x1
457 CONSTANT: FM_fParity          0x2
458 CONSTANT: FM_fOutxCtsFlow     0x4
459 CONSTANT: FM_fOutxDsrFlow     0x8
460 CONSTANT: FM_fDtrControl      0x30
461 CONSTANT: FM_fDsrSensitivity      0x40
462 CONSTANT: FM_fTXContinueOnXoff    0x80
463 CONSTANT: FM_fOutX            0x100
464 CONSTANT: FM_fInX         0x200
465 CONSTANT: FM_fErrorChar       0x400
466 CONSTANT: FM_fNull            0x800
467 CONSTANT: FM_fRtsControl      0x3000
468 CONSTANT: FM_fAbortOnError        0x4000
469 CONSTANT: FM_fDummy2          0xffff8000
470
471 CONSTANT: BM_fCtsHold     0x1
472 CONSTANT: BM_fDsrHold     0x2
473 CONSTANT: BM_fRlsdHold    0x4
474 CONSTANT: BM_fXoffHold    0x8
475 CONSTANT: BM_fXoffSent    0x10
476 CONSTANT: BM_fEof     0x20
477 CONSTANT: BM_fTxim        0x40
478 CONSTANT: BM_AllBits      0x7f
479
480 ! PurgeComm bit mask
481 CONSTANT: PURGE_TXABORT   0x1
482 CONSTANT: PURGE_RXABORT   0x2
483 CONSTANT: PURGE_TXCLEAR   0x4
484 CONSTANT: PURGE_RXCLEAR   0x8
485
486 ! GetCommModemStatus bit mask
487 CONSTANT: MS_CTS_ON       0x10
488 CONSTANT: MS_DSR_ON       0x20
489 CONSTANT: MS_RING_ON      0x40
490 CONSTANT: MS_RLSD_ON      0x80
491
492 ! EscapeCommFunction operations
493 CONSTANT: SETXOFF     0x1
494 CONSTANT: SETXON      0x2
495 CONSTANT: SETRTS      0x3
496 CONSTANT: CLRRTS      0x4
497 CONSTANT: SETDTR      0x5
498 CONSTANT: CLRDTR      0x6
499 CONSTANT: SETBREAK        0x8
500 CONSTANT: CLRBREAK        0x9
501
502 ! ClearCommError bit mask
503 CONSTANT: CE_RXOVER       0x1
504 CONSTANT: CE_OVERRUN      0x2
505 CONSTANT: CE_RXPARITY     0x4
506 CONSTANT: CE_FRAME        0x8
507 CONSTANT: CE_BREAK        0x10
508 CONSTANT: CE_TXFULL       0x100
509 ! LPT only
510 CONSTANT: CE_PTO        0x200
511 CONSTANT: CE_IOE        0x400
512 CONSTANT: CE_DNS        0x800
513 CONSTANT: CE_OOP        0x1000
514 ! LPT only
515 CONSTANT: CE_MODE     0x8000
516
517 ! GetCommMask bits
518 CONSTANT: EV_RXCHAR       0x1
519 CONSTANT: EV_RXFLAG       0x2
520 CONSTANT: EV_TXEMPTY      0x4
521 CONSTANT: EV_CTS      0x8
522 CONSTANT: EV_DSR      0x10
523 CONSTANT: EV_RLSD     0x20
524 CONSTANT: EV_BREAK        0x40
525 CONSTANT: EV_ERR      0x80
526 CONSTANT: EV_RING     0x100
527 CONSTANT: EV_PERR     0x200
528 CONSTANT: EV_RX80FULL     0x400
529 CONSTANT: EV_EVENT1       0x800
530 CONSTANT: EV_EVENT2       0x1000
531
532 STRUCT: DCB
533     { DCBlength DWORD }
534     { BaudRate DWORD }
535     { flags DWORD }
536     { wReserved WORD  }
537     { XonLim WORD  }
538     { XoffLim WORD  }
539     { ByteSize BYTE  }
540     { Parity BYTE  }
541     { StopBits BYTE  }
542     { XonChar char  }
543     { XoffChar char  }
544     { ErrorChar char  }
545     { EofChar char  }
546     { EvtChar char  }
547     { wReserved1 WORD  } ;
548 TYPEDEF: DCB* PDCB
549 TYPEDEF: DCB* LPDCB
550
551 STRUCT: COMMCONFIG
552     { dwSize DWORD }
553     { wVersion WORD }
554     { wReserved WORD }
555     { dcb DCB }
556     { dwProviderSubType DWORD }
557     { dwProviderOffset DWORD }
558     { dwProviderSize DWORD }
559     { wcProviderData { WCHAR 1 } } ;
560 TYPEDEF: COMMCONFIG* LPCOMMCONFIG
561
562 STRUCT: COMMPROP
563     { wPacketLength WORD }
564     { wPacketVersion WORD }
565     { dwServiceMask DWORD }
566     { dwReserved1 DWORD }
567     { dwMaxTxQueue DWORD }
568     { dwMaxRxQueue DWORD }
569     { dwMaxBaud DWORD }
570     { dwProvSubType DWORD }
571     { dwProvCapabilities DWORD }
572     { dwSettableParams DWORD }
573     { dwSettableBaud DWORD }
574     { wSettableData WORD  }
575     { wSettableStopParity WORD  }
576     { dwCurrentTxQueue DWORD }
577     { dwCurrentRxQueue DWORD }
578     { dwProvSpec1 DWORD }
579     { dwProvSpec2 DWORD }
580     { wcProvChar { WCHAR 1 } } ;
581 TYPEDEF: COMMPROP* LPCOMMPROP
582
583
584 CONSTANT: SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege"
585 CONSTANT: SE_ASSIGNPRIMARYTOKEN_NAME "SeAssignPrimaryTokenPrivilege"
586 CONSTANT: SE_LOCK_MEMORY_NAME "SeLockMemoryPrivilege"
587 CONSTANT: SE_INCREASE_QUOTA_NAME "SeIncreaseQuotaPrivilege"
588 CONSTANT: SE_UNSOLICITED_INPUT_NAME "SeUnsolicitedInputPrivilege"
589 CONSTANT: SE_MACHINE_ACCOUNT_NAME "SeMachineAccountPrivilege"
590 CONSTANT: SE_TCB_NAME "SeTcbPrivilege"
591 CONSTANT: SE_SECURITY_NAME "SeSecurityPrivilege"
592 CONSTANT: SE_TAKE_OWNERSHIP_NAME "SeTakeOwnershipPrivilege"
593 CONSTANT: SE_LOAD_DRIVER_NAME "SeLoadDriverPrivilege"
594 CONSTANT: SE_SYSTEM_PROFILE_NAME "SeSystemProfilePrivilege"
595 CONSTANT: SE_SYSTEMTIME_NAME "SeSystemtimePrivilege"
596 CONSTANT: SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege"
597 CONSTANT: SE_INC_BASE_PRIORITY_NAME "SeIncreaseBasePriorityPrivilege"
598 CONSTANT: SE_CREATE_PAGEFILE_NAME "SeCreatePagefilePrivilege"
599 CONSTANT: SE_CREATE_PERMANENT_NAME "SeCreatePermanentPrivilege"
600 CONSTANT: SE_BACKUP_NAME "SeBackupPrivilege"
601 CONSTANT: SE_RESTORE_NAME "SeRestorePrivilege"
602 CONSTANT: SE_SHUTDOWN_NAME "SeShutdownPrivilege"
603 CONSTANT: SE_DEBUG_NAME "SeDebugPrivilege"
604 CONSTANT: SE_AUDIT_NAME "SeAuditPrivilege"
605 CONSTANT: SE_SYSTEM_ENVIRONMENT_NAME "SeSystemEnvironmentPrivilege"
606 CONSTANT: SE_CHANGE_NOTIFY_NAME "SeChangeNotifyPrivilege"
607 CONSTANT: SE_REMOTE_SHUTDOWN_NAME "SeRemoteShutdownPrivilege"
608 CONSTANT: SE_UNDOCK_NAME "SeUndockPrivilege"
609 CONSTANT: SE_ENABLE_DELEGATION_NAME "SeEnableDelegationPrivilege"
610 CONSTANT: SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege"
611 CONSTANT: SE_IMPERSONATE_NAME "SeImpersonatePrivilege"
612 CONSTANT: SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege"
613
614 CONSTANT: SE_GROUP_MANDATORY 0x00000001
615 CONSTANT: SE_GROUP_ENABLED_BY_DEFAULT 0x00000002
616 CONSTANT: SE_GROUP_ENABLED 0x00000004
617 CONSTANT: SE_GROUP_OWNER 0x00000008
618 CONSTANT: SE_GROUP_USE_FOR_DENY_ONLY 0x00000010
619 CONSTANT: SE_GROUP_LOGON_ID 0xC0000000
620 CONSTANT: SE_GROUP_RESOURCE 0x20000000
621
622 CONSTANT: SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001
623 CONSTANT: SE_PRIVILEGE_ENABLED 0x00000002
624 CONSTANT: SE_PRIVILEGE_REMOVE 0x00000004
625 CONSTANT: SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000
626
627 CONSTANT: PRIVILEGE_SET_ALL_NECESSARY 1
628
629 CONSTANT: SE_OWNER_DEFAULTED 0x00000001
630 CONSTANT: SE_GROUP_DEFAULTED 0x00000002
631 CONSTANT: SE_DACL_PRESENT 0x00000004
632 CONSTANT: SE_DACL_DEFAULTED 0x00000008
633 CONSTANT: SE_SACL_PRESENT 0x00000010
634 CONSTANT: SE_SACL_DEFAULTED 0x00000020
635 CONSTANT: SE_DACL_AUTO_INHERIT_REQ 0x00000100
636 CONSTANT: SE_SACL_AUTO_INHERIT_REQ 0x00000200
637 CONSTANT: SE_DACL_AUTO_INHERITED 0x00000400
638 CONSTANT: SE_SACL_AUTO_INHERITED 0x00000800
639 CONSTANT: SE_DACL_PROTECTED  0x00001000
640 CONSTANT: SE_SACL_PROTECTED  0x00002000
641 CONSTANT: SE_SELF_RELATIVE 0x00008000
642
643 CONSTANT: ANYSIZE_ARRAY 1
644
645 CONSTANT: MAXIMUM_WAIT_OBJECTS 64
646 CONSTANT: MAXIMUM_SUSPEND_COUNT 0x7f
647 CONSTANT: WAIT_OBJECT_0 0
648 CONSTANT: WAIT_ABANDONED_0 128
649 CONSTANT: WAIT_TIMEOUT 258
650 CONSTANT: WAIT_IO_COMPLETION 0xc0
651 CONSTANT: WAIT_FAILED 0xffffffff
652
653 STRUCT: LUID
654     { LowPart DWORD }
655     { HighPart LONG } ;
656 TYPEDEF: LUID* PLUID
657
658 STRUCT: LUID_AND_ATTRIBUTES
659     { Luid LUID }
660     { Attributes DWORD } ;
661 TYPEDEF: LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES
662
663 STRUCT: TOKEN_PRIVILEGES
664     { PrivilegeCount DWORD }
665     { Privileges LUID_AND_ATTRIBUTES* } ;
666 TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
667
668 STRUCT: WIN32_FILE_ATTRIBUTE_DATA
669     { dwFileAttributes DWORD }
670     { ftCreationTime FILETIME }
671     { ftLastAccessTime FILETIME }
672     { ftLastWriteTime FILETIME }
673     { nFileSizeHigh DWORD }
674     { nFileSizeLow DWORD } ;
675 TYPEDEF: WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA
676
677 STRUCT: BY_HANDLE_FILE_INFORMATION
678   { dwFileAttributes DWORD }
679   { ftCreationTime FILETIME }
680   { ftLastAccessTime FILETIME }
681   { ftLastWriteTime FILETIME }
682   { dwVolumeSerialNumber DWORD }
683   { nFileSizeHigh DWORD }
684   { nFileSizeLow DWORD }
685   { nNumberOfLinks DWORD }
686   { nFileIndexHigh DWORD }
687   { nFileIndexLow DWORD } ;
688 TYPEDEF: BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION
689
690 CONSTANT: OFS_MAXPATHNAME 128
691
692 STRUCT: OFSTRUCT
693     { cBytes BYTE }
694     { fFixedDisk BYTE }
695     { nErrCode WORD }
696     { Reserved1 WORD }
697     { Reserved2 WORD }
698     { szPathName { CHAR 128 } } ;
699     ! { szPathName { CHAR OFS_MAXPATHNAME } } ;
700
701 TYPEDEF: OFSTRUCT* LPOFSTRUCT
702
703 STRUCT: WIN32_FIND_DATA
704     { dwFileAttributes DWORD }
705     { ftCreationTime FILETIME }
706     { ftLastAccessTime FILETIME }
707     { ftLastWriteTime FILETIME }
708     { nFileSizeHigh DWORD }
709     { nFileSizeLow DWORD }
710     { dwReserved0 DWORD }
711     { dwReserved1 DWORD }
712     { cFileName { TCHAR MAX_PATH } }
713     { cAlternateFileName TCHAR[14] } ;
714
715 TYPEDEF: WIN32_FIND_DATA* PWIN32_FIND_DATA
716 TYPEDEF: WIN32_FIND_DATA* LPWIN32_FIND_DATA
717 TYPEDEF: void* POVERLAPPED
718 TYPEDEF: void* LPOVERLAPPED
719 TYPEDEF: void* LPSECURITY_ATTRIBUTES
720 TYPEDEF: void* LPPROCESS_INFORMATION
721
722 TYPEDEF: SYSTEMTIME* PSYSTEMTIME
723 TYPEDEF: PSYSTEMTIME LPSYSTEMTIME
724
725 TYPEDEF: TIME_ZONE_INFORMATION* PTIME_ZONE_INFORMATION
726 TYPEDEF: PTIME_ZONE_INFORMATION LPTIME_ZONE_INFORMATION
727
728 TYPEDEF: FILETIME* PFILETIME
729 TYPEDEF: PFILETIME LPFILETIME
730
731 TYPEDEF: int GET_FILEEX_INFO_LEVELS
732
733 STRUCT: SECURITY_ATTRIBUTES
734     { nLength DWORD }
735     { lpSecurityDescriptor LPVOID }
736     { bInheritHandle BOOL } ;
737
738 CONSTANT: HANDLE_FLAG_INHERIT 1
739 CONSTANT: HANDLE_FLAG_PROTECT_FROM_CLOSE 2
740
741 CONSTANT: STARTF_USESHOWWINDOW    0x00000001
742 CONSTANT: STARTF_USESIZE          0x00000002
743 CONSTANT: STARTF_USEPOSITION      0x00000004
744 CONSTANT: STARTF_USECOUNTCHARS    0x00000008
745 CONSTANT: STARTF_USEFILLATTRIBUTE 0x00000010
746 CONSTANT: STARTF_RUNFULLSCREEN    0x00000020
747 CONSTANT: STARTF_FORCEONFEEDBACK  0x00000040
748 CONSTANT: STARTF_FORCEOFFFEEDBACK 0x00000080
749 CONSTANT: STARTF_USESTDHANDLES    0x00000100
750 CONSTANT: STARTF_USEHOTKEY        0x00000200
751
752 CONSTANT: PIPE_ACCESS_INBOUND  1
753 CONSTANT: PIPE_ACCESS_OUTBOUND 2
754 CONSTANT: PIPE_ACCESS_DUPLEX   3
755
756 CONSTANT: PIPE_TYPE_BYTE    0
757 CONSTANT: PIPE_TYPE_MESSAGE 4
758
759 CONSTANT: PIPE_READMODE_BYTE    0
760 CONSTANT: PIPE_READMODE_MESSAGE 2
761
762 CONSTANT: PIPE_WAIT   0
763 CONSTANT: PIPE_NOWAIT 1
764
765 CONSTANT: PIPE_UNLIMITED_INSTANCES 255
766
767 CONSTANT: EXCEPTION_NONCONTINUABLE          0x1
768 CONSTANT: STATUS_GUARD_PAGE_VIOLATION       0x80000001
769 CONSTANT: STATUS_DATATYPE_MISALIGNMENT      0x80000002
770 CONSTANT: STATUS_BREAKPOINT                 0x80000003
771 CONSTANT: STATUS_SINGLE_STEP                0x80000004
772 CONSTANT: STATUS_ACCESS_VIOLATION           0xC0000005
773 CONSTANT: STATUS_IN_PAGE_ERROR              0xC0000006
774 CONSTANT: STATUS_INVALID_HANDLE             0xC0000008
775 CONSTANT: STATUS_NO_MEMORY                  0xC0000017
776 CONSTANT: STATUS_ILLEGAL_INSTRUCTION        0xC000001D
777 CONSTANT: STATUS_NONCONTINUABLE_EXCEPTION   0xC0000025
778 CONSTANT: STATUS_INVALID_DISPOSITION        0xC0000026
779 CONSTANT: STATUS_ARRAY_BOUNDS_EXCEEDED      0xC000008C
780 CONSTANT: STATUS_FLOAT_DENORMAL_OPERAND     0xC000008D
781 CONSTANT: STATUS_FLOAT_DIVIDE_BY_ZERO       0xC000008E
782 CONSTANT: STATUS_FLOAT_INEXACT_RESULT       0xC000008F
783 CONSTANT: STATUS_FLOAT_INVALID_OPERATION    0xC0000090
784 CONSTANT: STATUS_FLOAT_OVERFLOW             0xC0000091
785 CONSTANT: STATUS_FLOAT_STACK_CHECK          0xC0000092
786 CONSTANT: STATUS_FLOAT_UNDERFLOW            0xC0000093
787 CONSTANT: STATUS_INTEGER_DIVIDE_BY_ZERO     0xC0000094
788 CONSTANT: STATUS_INTEGER_OVERFLOW           0xC0000095
789 CONSTANT: STATUS_PRIVILEGED_INSTRUCTION     0xC0000096
790 CONSTANT: STATUS_STACK_OVERFLOW             0xC00000FD
791 CONSTANT: STATUS_CONTROL_C_EXIT             0xC000013A
792 CONSTANT: STATUS_FLOAT_MULTIPLE_FAULTS      0xC00002B4
793 CONSTANT: STATUS_FLOAT_MULTIPLE_TRAPS       0xC00002B5
794
795 STRUCT: COORD
796 { X SHORT }
797 { Y SHORT } ;
798
799 STRUCT: SMALL_RECT
800 { Left SHORT }
801 { Top SHORT }
802 { Right SHORT }
803 { Bottom SHORT } ;
804
805 STRUCT: CONSOLE_SCREEN_BUFFER_INFO
806 { dwSize COORD }
807 { dwCursorPosition COORD }
808 { wAttributes WORD }
809 { srWindow SMALL_RECT }
810 { dwMaximumWindowSize COORD } ;
811
812 ! Resource IDs
813 : MAKEINTRESOURCE ( int -- resource ) 0xffff bitand <alien> ; inline
814
815 : RT_CURSOR       ( -- id )  1 MAKEINTRESOURCE ; inline
816 : RT_BITMAP       ( -- id )  2 MAKEINTRESOURCE ; inline
817 : RT_ICON         ( -- id )  3 MAKEINTRESOURCE ; inline
818 : RT_MENU         ( -- id )  4 MAKEINTRESOURCE ; inline
819 : RT_DIALOG       ( -- id )  5 MAKEINTRESOURCE ; inline
820 : RT_STRING       ( -- id )  6 MAKEINTRESOURCE ; inline
821 : RT_FONTDIR      ( -- id )  7 MAKEINTRESOURCE ; inline
822 : RT_FONT         ( -- id )  8 MAKEINTRESOURCE ; inline
823 : RT_ACCELERATOR  ( -- id )  9 MAKEINTRESOURCE ; inline
824 : RT_RCDATA       ( -- id ) 10 MAKEINTRESOURCE ; inline
825 : RT_MESSAGETABLE ( -- id ) 11 MAKEINTRESOURCE ; inline
826 : RT_GROUP_CURSOR ( -- id ) 12 MAKEINTRESOURCE ; inline
827 : RT_GROUP_ICON   ( -- id ) 14 MAKEINTRESOURCE ; inline
828 : RT_VERSION      ( -- id ) 16 MAKEINTRESOURCE ; inline
829 : RT_DLGINCLUDE   ( -- id ) 17 MAKEINTRESOURCE ; inline
830 : RT_PLUGPLAY     ( -- id ) 19 MAKEINTRESOURCE ; inline
831 : RT_VXD          ( -- id ) 20 MAKEINTRESOURCE ; inline
832 : RT_ANICURSOR    ( -- id ) 21 MAKEINTRESOURCE ; inline
833 : RT_ANIICON      ( -- id ) 22 MAKEINTRESOURCE ; inline
834 : RT_MANIFEST     ( -- id ) 24 MAKEINTRESOURCE ; inline
835
836 LIBRARY: kernel32
837 ! FUNCTION: _hread
838 ! FUNCTION: _hwrite
839 ! FUNCTION: _lclose
840 ! FUNCTION: _lcreat
841 ! FUNCTION: _llseek
842 ! FUNCTION: _lopen
843 ! FUNCTION: _lread
844 ! FUNCTION: _lwrite
845 ! FUNCTION: ActivateActCtx
846 ! FUNCTION: AddAtomA
847 ! FUNCTION: AddAtomW
848 ! FUNCTION: AddConsoleAliasA
849 ! FUNCTION: AddConsoleAliasW
850 ! FUNCTION: AddLocalAlternateComputerNameA
851 ! FUNCTION: AddLocalAlternateComputerNameW
852 ! FUNCTION: AddRefActCtx
853 ! FUNCTION: AddVectoredExceptionHandler
854 ! FUNCTION: AllocateUserPhysicalPages
855 FUNCTION: BOOL AllocConsole ( ) ;
856 ! FUNCTION: AreFileApisANSI
857 ! FUNCTION: AssignProcessToJobObject
858 ! FUNCTION: AttachConsole
859 ! FUNCTION: BackupRead
860 ! FUNCTION: BackupSeek
861 ! FUNCTION: BackupWrite
862 ! FUNCTION: BaseCheckAppcompatCache
863 ! FUNCTION: BaseCleanupAppcompatCache
864 ! FUNCTION: BaseCleanupAppcompatCacheSupport
865 ! FUNCTION: BaseDumpAppcompatCache
866 ! FUNCTION: BaseFlushAppcompatCache
867 ! FUNCTION: BaseInitAppcompatCache
868 ! FUNCTION: BaseInitAppcompatCacheSupport
869 ! FUNCTION: BasepCheckWinSaferRestrictions
870 ! FUNCTION: BaseProcessInitPostImport
871 ! FUNCTION: BaseQueryModuleData
872 ! FUNCTION: BaseUpdateAppcompatCache
873 ! FUNCTION: Beep
874 ! FUNCTION: BeginUpdateResourceA
875 FUNCTION: HANDLE BeginUpdateResourceW ( LPCTSTR pFileName, BOOL bDeleteExistingResources ) ;
876 ALIAS: BeginUpdateResource BeginUpdateResourceW
877 ! FUNCTION: BindIoCompletionCallback
878 ! FUNCTION: BuildCommDCBA
879 ! FUNCTION: BuildCommDCBAndTimeoutsA
880 ! FUNCTION: BuildCommDCBAndTimeoutsW
881 ! FUNCTION: BuildCommDCBW
882 ! FUNCTION: CallNamedPipeA
883 ! FUNCTION: CallNamedPipeW
884 ! FUNCTION: CancelDeviceWakeupRequest
885 FUNCTION: BOOL CancelIo ( HANDLE h ) ;
886 ! FUNCTION: CancelTimerQueueTimer
887 ! FUNCTION: CancelWaitableTimer
888 ! FUNCTION: ChangeTimerQueueTimer
889 ! FUNCTION: CheckNameLegalDOS8Dot3A
890 ! FUNCTION: CheckNameLegalDOS8Dot3W
891 ! FUNCTION: CheckRemoteDebuggerPresent
892 ! FUNCTION: ClearCommBreak
893 ! FUNCTION: ClearCommError
894 ! FUNCTION: CloseConsoleHandle
895 FUNCTION: BOOL CloseHandle ( HANDLE h ) ;
896 ! FUNCTION: CloseProfileUserMapping
897 ! FUNCTION: CmdBatNotification
898 ! FUNCTION: CommConfigDialogA
899 ! FUNCTION: CommConfigDialogW
900 ! FUNCTION: CompareFileTime
901 ! FUNCTION: CompareStringA
902 ! FUNCTION: CompareStringW
903 FUNCTION: BOOL ConnectNamedPipe ( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped ) ;
904 ! FUNCTION: ConsoleMenuControl
905 ! FUNCTION: ContinueDebugEvent
906 ! FUNCTION: ConvertDefaultLocale
907 ! FUNCTION: ConvertFiberToThread
908 ! FUNCTION: ConvertThreadToFiber
909 ! FUNCTION: CopyFileA
910 ! FUNCTION: CopyFileExA
911 ! FUNCTION: CopyFileExW
912 FUNCTION: BOOL CopyFileW ( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists ) ;
913 ALIAS: CopyFile CopyFileW
914 ! FUNCTION: CopyLZFile
915 ! FUNCTION: CreateActCtxA
916 ! FUNCTION: CreateActCtxW
917 ! FUNCTION: CreateConsoleScreenBuffer
918 ! FUNCTION: CreateDirectoryA
919 ! FUNCTION: CreateDirectoryExA
920 ! FUNCTION: CreateDirectoryExW
921 FUNCTION: BOOL CreateDirectoryW ( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttribytes ) ;
922 ALIAS: CreateDirectory CreateDirectoryW
923
924 ! FUNCTION: CreateEventA
925 ! FUNCTION: CreateEventW
926 ! FUNCTION: CreateFiber
927 ! FUNCTION: CreateFiberEx
928
929
930 FUNCTION: HANDLE CreateFileW ( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttribures, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ) ;
931 ALIAS: CreateFile CreateFileW
932
933 FUNCTION: HANDLE  CreateFileMappingW ( HANDLE hFile,
934                                        LPSECURITY_ATTRIBUTES lpAttributes,
935                                        DWORD flProtect,
936                                        DWORD dwMaximumSizeHigh,
937                                        DWORD dwMaximumSizeLow,
938                                        LPCTSTR lpName ) ;
939 ALIAS: CreateFileMapping CreateFileMappingW
940
941 ! FUNCTION: CreateHardLinkA
942 ! FUNCTION: CreateHardLinkW
943 ! FUNCTION: HANDLE CreateIoCompletionPort ( HANDLE hFileHandle, HANDLE hExistingCompletionPort, ULONG_PTR uCompletionKey, DWORD dwNumberofConcurrentThreads ) ;
944 FUNCTION: HANDLE CreateIoCompletionPort ( HANDLE hFileHandle, HANDLE hExistingCompletionPort, void* uCompletionKey, DWORD dwNumberofConcurrentThreads ) ;
945 ! FUNCTION: CreateJobObjectA
946 ! FUNCTION: CreateJobObjectW
947 ! FUNCTION: CreateJobSet
948 ! FUNCTION: CreateMailslotA
949 ! FUNCTION: CreateMailslotW
950 ! FUNCTION: CreateMemoryResourceNotification
951 ! FUNCTION: CreateMutexA
952 ! FUNCTION: CreateMutexW
953 ! FUNCTION: CreateNamedPipeA
954 FUNCTION: HANDLE CreateNamedPipeW ( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes ) ;
955 ALIAS: CreateNamedPipe CreateNamedPipeW
956
957 ! FUNCTION: CreateNlsSecurityDescriptor
958 FUNCTION: BOOL CreatePipe ( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize ) ;
959
960 CONSTANT: DEBUG_PROCESS                   0x00000001
961 CONSTANT: DEBUG_ONLY_THIS_PROCESS         0x00000002
962 CONSTANT: CREATE_SUSPENDED                0x00000004
963 CONSTANT: DETACHED_PROCESS                0x00000008
964 CONSTANT: CREATE_NEW_CONSOLE              0x00000010
965 CONSTANT: NORMAL_PRIORITY_CLASS           0x00000020
966 CONSTANT: IDLE_PRIORITY_CLASS             0x00000040
967 CONSTANT: HIGH_PRIORITY_CLASS             0x00000080
968 CONSTANT: REALTIME_PRIORITY_CLASS         0x00000100
969 CONSTANT: CREATE_NEW_PROCESS_GROUP        0x00000200
970 CONSTANT: CREATE_UNICODE_ENVIRONMENT      0x00000400
971 CONSTANT: CREATE_SEPARATE_WOW_VDM         0x00000800
972 CONSTANT: CREATE_SHARED_WOW_VDM           0x00001000
973 CONSTANT: CREATE_FORCEDOS                 0x00002000
974 CONSTANT: BELOW_NORMAL_PRIORITY_CLASS     0x00004000
975 CONSTANT: ABOVE_NORMAL_PRIORITY_CLASS     0x00008000
976 CONSTANT: CREATE_BREAKAWAY_FROM_JOB       0x01000000
977 CONSTANT: CREATE_WITH_USERPROFILE         0x02000000
978 CONSTANT: CREATE_DEFAULT_ERROR_MODE       0x04000000
979 CONSTANT: CREATE_NO_WINDOW                0x08000000
980 CONSTANT: PROFILE_USER                    0x10000000
981 CONSTANT: PROFILE_KERNEL                  0x20000000
982 CONSTANT: PROFILE_SERVER                  0x40000000
983
984 FUNCTION: BOOL CreateProcessW ( LPCTSTR lpApplicationname,
985                                 LPTSTR lpCommandLine,
986                                 LPSECURITY_ATTRIBUTES lpProcessAttributes,
987                                 LPSECURITY_ATTRIBUTES lpThreadAttributes,
988                                 BOOL bInheritHandles,
989                                 DWORD dwCreationFlags,
990                                 LPVOID lpEnvironment,
991                                 LPCTSTR lpCurrentDirectory,
992                                 LPSTARTUPINFO lpStartupInfo,
993                                 LPPROCESS_INFORMATION lpProcessInformation ) ;
994 ALIAS: CreateProcess CreateProcessW
995 ! FUNCTION: CreateProcessInternalA
996 ! FUNCTION: CreateProcessInternalW
997 ! FUNCTION: CreateProcessInternalWSecure
998 FUNCTION: HANDLE CreateRemoteThread ( HANDLE hProcess,
999                                       LPSECURITY_ATTRIBUTES lpThreadAttributes,
1000                                       SIZE_T dwStackSize,
1001                                       LPVOID lpStartAddress,
1002                                       LPVOID lpParameter,
1003                                       DWORD dwCreationFlags,
1004                                       LPDWORD lpThreadId ) ; 
1005 ! FUNCTION: CreateSemaphoreA
1006 ! FUNCTION: CreateSemaphoreW
1007 ! FUNCTION: CreateSocketHandle
1008 ! FUNCTION: CreateTapePartition
1009 ! FUNCTION: CreateThread
1010 ! FUNCTION: CreateTimerQueue
1011 ! FUNCTION: CreateTimerQueueTimer
1012 ! FUNCTION: CreateToolhelp32Snapshot
1013 ! FUNCTION: CreateVirtualBuffer
1014 ! FUNCTION: CreateWaitableTimerA
1015 ! FUNCTION: CreateWaitableTimerW
1016 ! FUNCTION: DeactivateActCtx
1017 ! FUNCTION: DebugActiveProcess
1018 ! FUNCTION: DebugActiveProcessStop
1019 ! FUNCTION: DebugBreak
1020 ! FUNCTION: DebugBreakProcess
1021 ! FUNCTION: DebugSetProcessKillOnExit
1022 ! FUNCTION: DecodePointer
1023 ! FUNCTION: DecodeSystemPointer
1024 ! FUNCTION: DefineDosDeviceA
1025 ! FUNCTION: DefineDosDeviceW
1026 ! FUNCTION: DelayLoadFailureHook
1027 ! FUNCTION: DeleteAtom
1028 ! FUNCTION: DeleteCriticalSection
1029 ! FUNCTION: DeleteFiber
1030 ! FUNCTION: DeleteFileA
1031 FUNCTION: BOOL DeleteFileW ( LPCTSTR lpFileName ) ;
1032 ALIAS: DeleteFile DeleteFileW
1033 ! FUNCTION: DeleteTimerQueue
1034 ! FUNCTION: DeleteTimerQueueEx
1035 ! FUNCTION: DeleteTimerQueueTimer
1036 ! FUNCTION: DeleteVolumeMountPointA
1037 ! FUNCTION: DeleteVolumeMountPointW
1038 ! FUNCTION: DeviceIoControl
1039 ! FUNCTION: DisableThreadLibraryCalls
1040 ! FUNCTION: DisconnectNamedPipe
1041 ! FUNCTION: DnsHostnameToComputerNameA
1042 ! FUNCTION: DnsHostnameToComputerNameW
1043 ! FUNCTION: DosDateTimeToFileTime
1044 ! FUNCTION: DosPathToSessionPathA
1045 ! FUNCTION: DosPathToSessionPathW
1046 ! FUNCTION: DuplicateConsoleHandle
1047
1048 FUNCTION: BOOL DuplicateHandle (
1049     HANDLE hSourceProcessHandle,
1050     HANDLE hSourceHandle,
1051     HANDLE hTargetProcessHandle,
1052     LPHANDLE lpTargetHandle,
1053     DWORD dwDesiredAccess,
1054     BOOL bInheritHandle,
1055     DWORD dwOptions ) ;
1056
1057 CONSTANT: DUPLICATE_CLOSE_SOURCE 1
1058 CONSTANT: DUPLICATE_SAME_ACCESS 2
1059
1060 ! FUNCTION: EncodePointer
1061 ! FUNCTION: EncodeSystemPointer
1062 ! FUNCTION: EndUpdateResourceA
1063 FUNCTION: BOOL EndUpdateResourceW ( HANDLE hUpdate, BOOL fDiscard ) ;
1064 ALIAS: EndUpdateResource EndUpdateResourceW
1065 ! FUNCTION: EnterCriticalSection
1066 ! FUNCTION: EnumCalendarInfoA
1067 ! FUNCTION: EnumCalendarInfoExA
1068 ! FUNCTION: EnumCalendarInfoExW
1069 ! FUNCTION: EnumCalendarInfoW
1070 ! FUNCTION: EnumDateFormatsA
1071 ! FUNCTION: EnumDateFormatsExA
1072 ! FUNCTION: EnumDateFormatsExW
1073 ! FUNCTION: EnumDateFormatsW
1074 ! FUNCTION: EnumerateLocalComputerNamesA
1075 ! FUNCTION: EnumerateLocalComputerNamesW
1076 ! FUNCTION: EnumLanguageGroupLocalesA
1077 ! FUNCTION: EnumLanguageGroupLocalesW
1078 ! FUNCTION: EnumResourceLanguagesA
1079 ! FUNCTION: EnumResourceLanguagesW
1080 ! FUNCTION: EnumResourceNamesA
1081 ! FUNCTION: EnumResourceNamesW
1082 ! FUNCTION: EnumResourceTypesA
1083 ! FUNCTION: EnumResourceTypesW
1084 ! FUNCTION: EnumSystemCodePagesA
1085 ! FUNCTION: EnumSystemCodePagesW
1086 ! FUNCTION: EnumSystemGeoID
1087 ! FUNCTION: EnumSystemLanguageGroupsA
1088 ! FUNCTION: EnumSystemLanguageGroupsW
1089 ! FUNCTION: EnumSystemLocalesA
1090 ! FUNCTION: EnumSystemLocalesW
1091 ! FUNCTION: EnumTimeFormatsA
1092 ! FUNCTION: EnumTimeFormatsW
1093 ! FUNCTION: EnumUILanguagesA
1094 ! FUNCTION: EnumUILanguagesW
1095 ! FUNCTION: EraseTape
1096 ! FUNCTION: EscapeCommFunction
1097 ! FUNCTION: ExitProcess
1098 ! FUNCTION: ExitThread
1099 ! FUNCTION: ExitVDM
1100 ! FUNCTION: ExpandEnvironmentStringsA
1101 ! FUNCTION: ExpandEnvironmentStringsW
1102 ! FUNCTION: ExpungeConsoleCommandHistoryA
1103 ! FUNCTION: ExpungeConsoleCommandHistoryW
1104 ! FUNCTION: ExtendVirtualBuffer
1105 ! FUNCTION: FatalAppExitA
1106 ! FUNCTION: FatalAppExitW
1107 ! FUNCTION: FatalExit
1108 ! FUNCTION: FileTimeToDosDateTime
1109 ! FUNCTION: FileTimeToLocalFileTime
1110 ! FUNCTION: FileTimeToSystemTime
1111 ! FUNCTION: FillConsoleOutputAttribute
1112 ! FUNCTION: FillConsoleOutputCharacterA
1113 ! FUNCTION: FillConsoleOutputCharacterW
1114 ! FUNCTION: FindActCtxSectionGuid
1115 ! FUNCTION: FindActCtxSectionStringA
1116 ! FUNCTION: FindActCtxSectionStringW
1117 ! FUNCTION: FindAtomA
1118 ! FUNCTION: FindAtomW
1119 FUNCTION: BOOL FindClose ( HANDLE hFindFile ) ;
1120 FUNCTION: BOOL FindCloseChangeNotification ( HANDLE hChangeHandle ) ;
1121 FUNCTION: HANDLE FindFirstChangeNotificationW ( LPCTSTR lpPathName,
1122                                         BOOL bWatchSubtree,
1123                                         DWORD dwNotifyFilter ) ;
1124 ALIAS: FindFirstChangeNotification FindFirstChangeNotificationW
1125 ! FUNCTION: FindFirstFileA
1126 ! FUNCTION: FindFirstFileExA
1127 ! FUNCTION: FindFirstFileExW
1128 FUNCTION: HANDLE FindFirstFileW ( LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData ) ;
1129 ALIAS: FindFirstFile FindFirstFileW
1130 ! FUNCTION: FindFirstVolumeA
1131 ! FUNCTION: FindFirstVolumeMountPointA
1132
1133 FUNCTION: HANDLE FindFirstVolumeMountPointW (
1134     LPTSTR lpszRootPathName,
1135     LPTSTR lpszVolumeMountPoint,
1136     DWORD cchBufferLength
1137 ) ;
1138 ALIAS: FindFirstVolumeMountPoint FindFirstVolumeMountPointW
1139
1140 FUNCTION: HANDLE FindFirstVolumeW ( LPTSTR lpszVolumeName, DWORD cchBufferLength ) ;
1141 ALIAS: FindFirstVolume FindFirstVolumeW
1142
1143 FUNCTION: BOOL FindNextChangeNotification ( HANDLE hChangeHandle ) ;
1144
1145 ! FUNCTION: FindNextFileA
1146 FUNCTION: BOOL FindNextFileW ( HANDLE hFindFile, LPWIN32_FIND_DATA lpFindFileData ) ;
1147 ALIAS: FindNextFile FindNextFileW
1148
1149 ! FUNCTION: FindNextVolumeA
1150 ! FUNCTION: FindNextVolumeMountPointA
1151
1152 FUNCTION: BOOL FindNextVolumeMountPointW (
1153     HANDLE hFindVolumeMountPoint,
1154     LPTSTR lpszVolumeMountPoint,
1155     DWORD cchBufferLength
1156 ) ;
1157 ALIAS: FindNextVolumeMountPoint FindNextVolumeMountPointW
1158
1159 FUNCTION: BOOL FindNextVolumeW ( HANDLE hFindVolume, LPTSTR lpszVolumeName, DWORD cchBufferLength ) ;
1160 ALIAS: FindNextVolume FindNextVolumeW
1161
1162 ! FUNCTION: FindResourceA
1163 ! FUNCTION: FindResourceExA
1164 ! FUNCTION: FindResourceExW
1165 ! FUNCTION: FindResourceW
1166 FUNCTION: BOOL FindVolumeClose ( HANDLE hFindVolume ) ;
1167 FUNCTION: BOOL FindVolumeMountPointClose ( HANDLE hFindVolumeMountPoint ) ;
1168 ! FUNCTION: FlushConsoleInputBuffer
1169 ! FUNCTION: FlushFileBuffers
1170 ! FUNCTION: FlushInstructionCache
1171 ! FUNCTION: FlushViewOfFile
1172 ! FUNCTION: FoldStringA
1173 ! FUNCTION: FoldStringW
1174 ! FUNCTION: FormatMessageA
1175 FUNCTION: DWORD FormatMessageW (
1176         DWORD dwFlags,
1177         LPCVOID lpSource,
1178         DWORD dwMessageId,
1179         DWORD dwLanguageId,
1180         LPTSTR lpBuffer,
1181         DWORD nSize,
1182         void* Arguments
1183     ) ;
1184
1185 ALIAS: FormatMessage FormatMessageW
1186
1187
1188 FUNCTION: BOOL FreeConsole ( ) ;
1189 ! FUNCTION: FreeEnvironmentStringsA
1190 FUNCTION: BOOL FreeEnvironmentStringsW ( LPTCH lpszEnvironmentBlock ) ;
1191 ALIAS: FreeEnvironmentStrings FreeEnvironmentStringsW
1192 FUNCTION: BOOL FreeLibrary ( HMODULE hModule ) ;
1193 ! FUNCTION: FreeLibraryAndExitThread
1194 ! FUNCTION: FreeResource
1195 ! FUNCTION: FreeUserPhysicalPages
1196 ! FUNCTION: FreeVirtualBuffer
1197 ! FUNCTION: GenerateConsoleCtrlEvent
1198 ! FUNCTION: GetACP
1199 ! FUNCTION: GetAtomNameA
1200 ! FUNCTION: GetAtomNameW
1201 ! FUNCTION: GetBinaryType
1202 ! FUNCTION: GetBinaryTypeA
1203 ! FUNCTION: GetBinaryTypeW
1204 ! FUNCTION: GetCalendarInfoA
1205 ! FUNCTION: GetCalendarInfoW
1206 ! FUNCTION: GetCommandLineA
1207 ! FUNCTION: GetCommandLineW
1208 FUNCTION: BOOL GetCommConfig ( HANDLE hCommDev, LPCOMMCONFIG lpCC, LPDWORD lpdwSize ) ;
1209 FUNCTION: BOOL GetCommMask ( HANDLE hFile, LPDWORD lpEvtMask ) ;
1210 FUNCTION: BOOL GetCommModemStatus ( HANDLE hFile, LPDWORD lpModemStat ) ;
1211 FUNCTION: BOOL GetCommProperties ( HANDLE hFile, LPCOMMPROP lpCommProp ) ;
1212 FUNCTION: BOOL GetCommState ( HANDLE hFile, LPDCB lpDCB ) ;
1213 ! FUNCTION: GetCommTimeouts
1214 ! FUNCTION: GetComPlusPackageInstallStatus
1215 ! FUNCTION: GetCompressedFileSizeA
1216 FUNCTION: DWORD GetCompressedFileSizeW ( LPCTSTR lpFileName, LPDWORD lpFileSizeHigh ) ;
1217 ALIAS: GetCompressedFileSize GetCompressedFileSizeW
1218 FUNCTION: BOOL GetComputerNameW ( LPTSTR lpBuffer, LPDWORD lpnSize ) ;
1219 ALIAS: GetComputerName GetComputerNameW
1220 FUNCTION: BOOL GetComputerNameExW ( COMPUTER_NAME_FORMAT NameType, LPTSTR lpBuffer, LPDWORD lpnSize ) ;
1221 ALIAS: GetComputerNameEx GetComputerNameExW
1222 ! FUNCTION: GetConsoleAliasA
1223 ! FUNCTION: GetConsoleAliasesA
1224 ! FUNCTION: GetConsoleAliasesLengthA
1225 ! FUNCTION: GetConsoleAliasesLengthW
1226 ! FUNCTION: GetConsoleAliasesW
1227 ! FUNCTION: GetConsoleAliasExesA
1228 ! FUNCTION: GetConsoleAliasExesLengthA
1229 ! FUNCTION: GetConsoleAliasExesLengthW
1230 ! FUNCTION: GetConsoleAliasExesW
1231 ! FUNCTION: GetConsoleAliasW
1232 ! FUNCTION: GetConsoleCharType
1233 ! FUNCTION: GetConsoleCommandHistoryA
1234 ! FUNCTION: GetConsoleCommandHistoryLengthA
1235 ! FUNCTION: GetConsoleCommandHistoryLengthW
1236 ! FUNCTION: GetConsoleCommandHistoryW
1237 ! FUNCTION: GetConsoleCP
1238 ! FUNCTION: GetConsoleCursorInfo
1239 ! FUNCTION: GetConsoleCursorMode
1240 ! FUNCTION: GetConsoleDisplayMode
1241 ! FUNCTION: GetConsoleFontInfo
1242 ! FUNCTION: GetConsoleFontSize
1243 ! FUNCTION: GetConsoleHardwareState
1244 ! FUNCTION: GetConsoleInputExeNameA
1245 ! FUNCTION: GetConsoleInputExeNameW
1246 ! FUNCTION: GetConsoleInputWaitHandle
1247 ! FUNCTION: GetConsoleKeyboardLayoutNameA
1248 ! FUNCTION: GetConsoleKeyboardLayoutNameW
1249 ! FUNCTION: GetConsoleMode
1250 ! FUNCTION: GetConsoleNlsMode
1251 ! FUNCTION: GetConsoleOutputCP
1252 ! FUNCTION: GetConsoleProcessList
1253 FUNCTION: BOOL GetConsoleScreenBufferInfo ( HANDLE hConsoleOutput, CONSOLE_SCREEN_BUFFER_INFO* lpConsoleScreenBufferInfo ) ;
1254 ! FUNCTION: GetConsoleSelectionInfo
1255 FUNCTION: DWORD GetConsoleTitleW ( LPWSTR lpConsoleTitle, DWORD nSize ) ;
1256 ALIAS: GetConsoleTitle GetConsoleTitleW
1257 FUNCTION: HWND GetConsoleWindow ( ) ;
1258 ! FUNCTION: GetCPFileNameFromRegistry
1259 ! FUNCTION: GetCPInfo
1260 ! FUNCTION: GetCPInfoExA
1261 ! FUNCTION: GetCPInfoExW
1262 ! FUNCTION: GetCurrencyFormatA
1263 ! FUNCTION: GetCurrencyFormatW
1264 ! FUNCTION: GetCurrentActCtx
1265 ! FUNCTION: GetCurrentConsoleFont
1266 ! FUNCTION: GetCurrentDirectoryA
1267 FUNCTION: BOOL GetCurrentDirectoryW ( DWORD len, LPTSTR buf ) ;
1268 ALIAS: GetCurrentDirectory GetCurrentDirectoryW
1269 FUNCTION: HANDLE GetCurrentProcess ( ) ;
1270 FUNCTION: DWORD GetCurrentProcessId ( ) ;
1271 FUNCTION: HANDLE GetCurrentThread ( ) ;
1272 ! FUNCTION: GetCurrentThreadId
1273 ! FUNCTION: GetDateFormatA
1274 ! FUNCTION: GetDateFormatW
1275 ! FUNCTION: GetDefaultCommConfigA
1276 FUNCTION: BOOL GetDefaultCommConfigW ( LPCTSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize ) ;
1277 ALIAS: GetDefaultCommConfig GetDefaultCommConfigW
1278 ! FUNCTION: GetDefaultSortkeySize
1279 ! FUNCTION: GetDevicePowerState
1280 ! FUNCTION: GetDiskFreeSpaceA
1281 ! FUNCTION: GetDiskFreeSpaceExA
1282 FUNCTION: BOOL GetDiskFreeSpaceExW ( LPCTSTR lpDirectoryName, PULARGE_INTEGER pFreeBytesAvailable, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes ) ;
1283 ALIAS: GetDiskFreeSpaceEx GetDiskFreeSpaceExW
1284 ! FUNCTION: GetDiskFreeSpaceW
1285 ! FUNCTION: GetDllDirectoryA
1286 ! FUNCTION: GetDllDirectoryW
1287 ! FUNCTION: GetDriveTypeA
1288 FUNCTION: UINT GetDriveTypeW ( LPCTSTR lpRootPathName ) ;
1289 ALIAS: GetDriveType GetDriveTypeW
1290 FUNCTION: void* GetEnvironmentStringsW ( ) ;
1291 ! FUNCTION: GetEnvironmentStringsA
1292 ALIAS: GetEnvironmentStrings GetEnvironmentStringsW
1293 ! FUNCTION: GetEnvironmentVariableA
1294 FUNCTION: DWORD GetEnvironmentVariableW ( LPCTSTR lpName, LPTSTR lpBuffer, DWORD nSize ) ;
1295 ALIAS: GetEnvironmentVariable GetEnvironmentVariableW
1296 FUNCTION: BOOL GetExitCodeProcess ( HANDLE hProcess, LPDWORD lpExitCode ) ;
1297 ! FUNCTION: GetExitCodeThread
1298 ! FUNCTION: GetExpandedNameA
1299 ! FUNCTION: GetExpandedNameW
1300 ! FUNCTION: GetFileAttributesA
1301 FUNCTION: DWORD GetFileAttributesW ( LPCTSTR lpFileName ) ;
1302 ! FUNCTION: GetFileAttributesExA
1303
1304 CONSTANT: GetFileExInfoStandard 0
1305
1306
1307 FUNCTION: BOOL GetFileAttributesExW ( LPCTSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation ) ;
1308
1309 ALIAS: GetFileAttributesEx GetFileAttributesExW
1310
1311 FUNCTION: BOOL GetFileInformationByHandle ( HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation ) ;
1312 FUNCTION: DWORD GetFileSize ( HANDLE hFile, LPDWORD lpFileSizeHigh ) ;
1313 FUNCTION: BOOL GetFileSizeEx ( HANDLE hFile, PLARGE_INTEGER lpFileSize ) ;
1314 FUNCTION: BOOL GetFileTime ( HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime ) ;
1315 FUNCTION: DWORD GetFileType ( HANDLE hFile ) ;
1316 ! FUNCTION: GetFirmwareEnvironmentVariableA
1317 ! FUNCTION: GetFirmwareEnvironmentVariableW
1318 ! FUNCTION: GetFullPathNameA
1319 FUNCTION: DWORD GetFullPathNameW ( LPCTSTR lpFileName, DWORD nBufferLength, LPTSTR lpBuffer, LPTSTR* lpFilePart ) ;
1320 ALIAS: GetFullPathName GetFullPathNameW
1321
1322 ! FUNCTION: GetGeoInfoA
1323 ! FUNCTION: GetGeoInfoW
1324 ! FUNCTION: GetHandleContext
1325 FUNCTION: BOOL GetHandleInformation ( HANDLE hObject, LPDWORD lpdwFlags ) ;
1326 ! FUNCTION: GetLargestConsoleWindowSize
1327 FUNCTION: DWORD GetLastError ( ) ;
1328 ! FUNCTION: GetLinguistLangSize
1329 ! FUNCTION: GetLocaleInfoA
1330 ! FUNCTION: GetLocaleInfoW
1331 ! FUNCTION: GetLocalTime
1332 FUNCTION: DWORD GetLogicalDrives ( ) ;
1333 ! FUNCTION: GetLogicalDriveStringsA
1334 ! FUNCTION: GetLogicalDriveStringsW
1335 ! FUNCTION: GetLongPathNameA
1336 ! FUNCTION: GetLongPathNameW
1337 ! FUNCTION: GetMailslotInfo
1338 ! FUNCTION: GetModuleFileNameA
1339 FUNCTION: DWORD GetModuleFileNameW ( HMODULE hModule, LPTSTR lpFilename, DWORD nSize ) ;
1340 ALIAS: GetModuleFileName GetModuleFileNameW
1341 FUNCTION: HMODULE GetModuleHandleW ( LPCWSTR lpModuleName ) ;
1342 ALIAS: GetModuleHandle GetModuleHandleW
1343 ! FUNCTION: GetModuleHandleExA
1344 ! FUNCTION: GetModuleHandleExW
1345 ! FUNCTION: GetNamedPipeHandleStateA
1346 ! FUNCTION: GetNamedPipeHandleStateW
1347 ! FUNCTION: GetNamedPipeInfo
1348 ! FUNCTION: GetNativeSystemInfo
1349 ! FUNCTION: GetNextVDMCommand
1350 ! FUNCTION: GetNlsSectionName
1351 ! FUNCTION: GetNumaAvailableMemory
1352 ! FUNCTION: GetNumaAvailableMemoryNode
1353 ! FUNCTION: GetNumaHighestNodeNumber
1354 ! FUNCTION: GetNumaNodeProcessorMask
1355 ! FUNCTION: GetNumaProcessorMap
1356 ! FUNCTION: GetNumaProcessorNode
1357 ! FUNCTION: GetNumberFormatA
1358 ! FUNCTION: GetNumberFormatW
1359 ! FUNCTION: GetNumberOfConsoleFonts
1360 ! FUNCTION: GetNumberOfConsoleInputEvents
1361 ! FUNCTION: GetNumberOfConsoleMouseButtons
1362 ! FUNCTION: GetOEMCP
1363 FUNCTION: BOOL GetOverlappedResult ( HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait ) ;
1364 FUNCTION: DWORD GetPriorityClass ( HANDLE hProcess ) ;
1365 ! FUNCTION: GetPrivateProfileIntA
1366 ! FUNCTION: GetPrivateProfileIntW
1367 ! FUNCTION: GetPrivateProfileSectionA
1368 ! FUNCTION: GetPrivateProfileSectionNamesA
1369 ! FUNCTION: GetPrivateProfileSectionNamesW
1370 ! FUNCTION: GetPrivateProfileSectionW
1371 ! FUNCTION: GetPrivateProfileStringA
1372 ! FUNCTION: GetPrivateProfileStringW
1373 ! FUNCTION: GetPrivateProfileStructA
1374 ! FUNCTION: GetPrivateProfileStructW
1375 FUNCTION: LPVOID GetProcAddress ( HMODULE hModule, c-string lpProcName ) ;
1376 ! FUNCTION: GetProcessAffinityMask
1377 ! FUNCTION: GetProcessHandleCount
1378 ! FUNCTION: GetProcessHeap
1379 ! FUNCTION: GetProcessHeaps
1380 ! FUNCTION: GetProcessId
1381 ! FUNCTION: GetProcessIoCounters
1382 ! FUNCTION: GetProcessPriorityBoost
1383 ! FUNCTION: GetProcessShutdownParameters
1384 ! FUNCTION: GetProcessTimes
1385 ! FUNCTION: GetProcessVersion
1386 ! FUNCTION: GetProcessWorkingSetSize
1387 ! FUNCTION: GetProfileIntA
1388 ! FUNCTION: GetProfileIntW
1389 ! FUNCTION: GetProfileSectionA
1390 ! FUNCTION: GetProfileSectionW
1391 ! FUNCTION: GetProfileStringA
1392 ! FUNCTION: GetProfileStringW
1393 FUNCTION: BOOL GetQueuedCompletionStatus ( HANDLE hCompletionPort, LPDWORD lpNumberOfBytes, void* lpCompletionKey, LPOVERLAPPED lpOverlapped, DWORD dwMilliseconds ) ;
1394 ! FUNCTION: GetShortPathNameA
1395 ! FUNCTION: GetShortPathNameW
1396 ! FUNCTION: GetStartupInfoA
1397 ! FUNCTION: GetStartupInfoW
1398 FUNCTION: HANDLE GetStdHandle ( DWORD nStdHandle ) ;
1399 ! FUNCTION: GetStringTypeA
1400 ! FUNCTION: GetStringTypeExA
1401 ! FUNCTION: GetStringTypeExW
1402 ! FUNCTION: GetStringTypeW
1403 ! FUNCTION: GetSystemDefaultLangID
1404 ! FUNCTION: GetSystemDefaultLCID
1405 ! FUNCTION: GetSystemDefaultUILanguage
1406 ! FUNCTION: GetSystemDirectoryA
1407 FUNCTION: UINT GetSystemDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ;
1408 ALIAS: GetSystemDirectory GetSystemDirectoryW
1409 FUNCTION: void GetSystemInfo ( LPSYSTEM_INFO lpSystemInfo ) ;
1410 ! FUNCTION: GetSystemPowerStatus
1411 ! FUNCTION: GetSystemRegistryQuota
1412 FUNCTION: void GetSystemTime ( LPSYSTEMTIME lpSystemTime ) ;
1413 ! FUNCTION: GetSystemTimeAdjustment
1414 FUNCTION: void GetSystemTimeAsFileTime ( LPFILETIME lpSystemTimeAsFileTime ) ;
1415 ! FUNCTION: GetSystemTimes
1416 ! FUNCTION: GetSystemWindowsDirectoryA
1417 FUNCTION: UINT GetSystemWindowsDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ;
1418 ALIAS: GetSystemWindowsDirectory GetSystemWindowsDirectoryW
1419 ! FUNCTION: GetSystemWow64DirectoryA
1420 ! FUNCTION: GetSystemWow64DirectoryW
1421 ! FUNCTION: GetTapeParameters
1422 ! FUNCTION: GetTapePosition
1423 ! FUNCTION: GetTapeStatus
1424 ! FUNCTION: GetTempFileNameA
1425 ! FUNCTION: GetTempFileNameW
1426 ! FUNCTION: GetTempPathA
1427 FUNCTION: DWORD GetTempPathW ( DWORD nBufferLength, LPWSTR lpBuffer ) ;
1428 ALIAS: GetTempPath GetTempPathW
1429 ! FUNCTION: GetThreadContext
1430 ! FUNCTION: GetThreadIOPendingFlag
1431 ! FUNCTION: GetThreadLocale
1432 FUNCTION: int GetThreadPriority ( HANDLE hThread ) ;
1433 FUNCTION: BOOL GetThreadPriorityBoost ( HANDLE hThread, PBOOL pDisablePriorityBoost ) ;
1434 ! FUNCTION: GetThreadSelectorEntry
1435 ! FUNCTION: GetThreadTimes
1436 ! FUNCTION: GetTickCount
1437 ! FUNCTION: GetTimeFormatA
1438 ! FUNCTION: GetTimeFormatW
1439 FUNCTION: DWORD GetTimeZoneInformation ( LPTIME_ZONE_INFORMATION lpTimeZoneInformation ) ;
1440 ! FUNCTION: GetUserDefaultLangID
1441 ! FUNCTION: GetUserDefaultLCID
1442 ! FUNCTION: GetUserDefaultUILanguage
1443 ! FUNCTION: GetUserGeoID
1444 ! FUNCTION: GetVDMCurrentDirectories
1445 FUNCTION: DWORD GetVersion ( ) ;
1446 FUNCTION: BOOL GetVersionExW ( LPOSVERSIONINFO lpVersionInfo ) ;
1447 ALIAS: GetVersionEx GetVersionExW
1448 ! FUNCTION: GetVolumeInformationA
1449 FUNCTION: BOOL GetVolumeInformationW (
1450     LPCTSTR lpRootPathName,
1451     LPTSTR lpVolumNameBuffer,
1452     DWORD nVolumeNameSize,
1453     LPDWORD lpVolumeSerialNumber,
1454     LPDWORD lpMaximumComponentLength,
1455     LPDWORD lpFileSystemFlags,
1456     LPCTSTR lpFileSystemNameBuffer,
1457     DWORD nFileSystemNameSize
1458 ) ;
1459 ALIAS: GetVolumeInformation GetVolumeInformationW
1460 ! FUNCTION: GetVolumeNameForVolumeMountPointA
1461 ! FUNCTION: GetVolumeNameForVolumeMountPointW
1462 ! FUNCTION: GetVolumePathNameA
1463 ! FUNCTION: GetVolumePathNamesForVolumeNameA
1464 FUNCTION: BOOL GetVolumePathNamesForVolumeNameW ( LPCTSTR lpszVolumeName, LPTSTR lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength ) ;
1465 ALIAS: GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
1466
1467 ! FUNCTION: GetVolumePathNameW
1468 ! FUNCTION: GetWindowsDirectoryA
1469 FUNCTION: UINT GetWindowsDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ;
1470 ALIAS: GetWindowsDirectory GetWindowsDirectoryW
1471 ! FUNCTION: GetWriteWatch
1472 ! FUNCTION: GlobalAddAtomA
1473 ! FUNCTION: GlobalAddAtomW
1474 FUNCTION: HGLOBAL GlobalAlloc ( UINT uFlags, SIZE_T dwBytes ) ;
1475 ! FUNCTION: GlobalCompact
1476 ! FUNCTION: GlobalDeleteAtom
1477 ! FUNCTION: GlobalFindAtomA
1478 ! FUNCTION: GlobalFindAtomW
1479 ! FUNCTION: GlobalFix
1480 ! FUNCTION: GlobalFlags
1481 ! FUNCTION: GlobalFree
1482 ! FUNCTION: GlobalGetAtomNameA
1483 ! FUNCTION: GlobalGetAtomNameW
1484 ! FUNCTION: GlobalHandle
1485 FUNCTION: LPVOID GlobalLock ( HGLOBAL hMem ) ;
1486 FUNCTION: void GlobalMemoryStatus ( LPMEMORYSTATUS lpBuffer ) ;
1487 FUNCTION: BOOL GlobalMemoryStatusEx ( LPMEMORYSTATUSEX lpBuffer ) ;
1488 ! FUNCTION: GlobalReAlloc
1489 ! FUNCTION: GlobalSize
1490 ! FUNCTION: GlobalUnfix
1491 FUNCTION: BOOL GlobalUnlock ( HGLOBAL hMem ) ;
1492 ! FUNCTION: GlobalUnWire
1493 ! FUNCTION: GlobalWire
1494 ! FUNCTION: Heap32First
1495 ! FUNCTION: Heap32ListFirst
1496 ! FUNCTION: Heap32ListNext
1497 ! FUNCTION: Heap32Next
1498 FUNCTION: LPVOID HeapAlloc ( HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes ) ;
1499 ! FUNCTION: HeapCompact
1500 ! FUNCTION: HeapCreate
1501 ! FUNCTION: HeapCreateTagsW
1502 ! FUNCTION: HeapDestroy
1503 ! FUNCTION: HeapExtend
1504 FUNCTION: BOOL HeapFree ( HANDLE hHeap, DWORD dwFlags, LPVOID lpMem ) ;
1505 ! FUNCTION: HeapLock
1506 ! FUNCTION: HeapQueryInformation
1507 ! FUNCTION: HeapQueryTagW
1508 ! FUNCTION: HeapReAlloc
1509 ! FUNCTION: HeapSetInformation
1510 ! FUNCTION: HeapSize
1511 ! FUNCTION: HeapSummary
1512 ! FUNCTION: HeapUnlock
1513 ! FUNCTION: HeapUsage
1514 ! FUNCTION: HeapValidate
1515 ! FUNCTION: HeapWalk
1516 ! FUNCTION: InitAtomTable
1517 ! FUNCTION: InitializeCriticalSection
1518 ! FUNCTION: InitializeCriticalSectionAndSpinCount
1519 ! FUNCTION: InitializeSListHead
1520 ! FUNCTION: InterlockedCompareExchange
1521 ! FUNCTION: InterlockedDecrement
1522 ! FUNCTION: InterlockedExchange
1523 ! FUNCTION: InterlockedExchangeAdd
1524 ! FUNCTION: InterlockedFlushSList
1525 ! FUNCTION: InterlockedIncrement
1526 ! FUNCTION: InterlockedPopEntrySList
1527 ! FUNCTION: InterlockedPushEntrySList
1528 ! FUNCTION: InvalidateConsoleDIBits
1529 ! FUNCTION: IsBadCodePtr
1530 ! FUNCTION: IsBadHugeReadPtr
1531 ! FUNCTION: IsBadHugeWritePtr
1532 ! FUNCTION: IsBadReadPtr
1533 ! FUNCTION: IsBadStringPtrA
1534 ! FUNCTION: IsBadStringPtrW
1535 ! FUNCTION: IsBadWritePtr
1536 ! FUNCTION: IsDBCSLeadByte
1537 ! FUNCTION: IsDBCSLeadByteEx
1538 ! FUNCTION: IsDebuggerPresent
1539 ! FUNCTION: IsProcessInJob
1540 FUNCTION: BOOL IsProcessorFeaturePresent ( DWORD ProcessorFeature ) ;
1541 ! FUNCTION: IsSystemResumeAutomatic
1542 ! FUNCTION: IsValidCodePage
1543 ! FUNCTION: IsValidLanguageGroup
1544 ! FUNCTION: IsValidLocale
1545 ! FUNCTION: IsValidUILanguage
1546 ! FUNCTION: IsWow64Process
1547 ! FUNCTION: LCMapStringA
1548 ! FUNCTION: LCMapStringW
1549 ! FUNCTION: LeaveCriticalSection
1550 ! FUNCTION: LoadLibraryA
1551 ! FUNCTION: LoadLibraryExA
1552 FUNCTION: HMODULE LoadLibraryExW ( LPCTSTR lpFile, HANDLE hFile, DWORD flags ) ;
1553 ALIAS: LoadLibraryEx LoadLibraryExW
1554 ! FUNCTION: LoadLibraryW
1555 ! FUNCTION: LoadModule
1556 ! FUNCTION: LoadResource
1557 FUNCTION: HLOCAL LocalAlloc ( UINT uFlags, SIZE_T uBytes ) ;
1558 ! FUNCTION: LocalCompact
1559 ! FUNCTION: LocalFileTimeToFileTime
1560 ! FUNCTION: LocalFlags
1561 FUNCTION: HLOCAL LocalFree ( HLOCAL hMem ) ;
1562 ! FUNCTION: LocalHandle
1563 ! FUNCTION: LocalLock
1564 ! FUNCTION: LocalReAlloc
1565 ! FUNCTION: LocalShrink
1566 ! FUNCTION: LocalSize
1567 ! FUNCTION: LocalUnlock
1568 ! FUNCTION: LockFile
1569 ! FUNCTION: LockFileEx
1570 ! FUNCTION: LockResource
1571 ! FUNCTION: lstrcat
1572 ! FUNCTION: lstrcatA
1573 ! FUNCTION: lstrcatW
1574 ! FUNCTION: lstrcmp
1575 ! FUNCTION: lstrcmpA
1576 ! FUNCTION: lstrcmpi
1577 ! FUNCTION: lstrcmpiA
1578 ! FUNCTION: lstrcmpiW
1579 ! FUNCTION: lstrcmpW
1580 ! FUNCTION: lstrcpy
1581 ! FUNCTION: lstrcpyA
1582 ! FUNCTION: lstrcpyn
1583 ! FUNCTION: lstrcpynA
1584 ! FUNCTION: lstrcpynW
1585 ! FUNCTION: lstrcpyW
1586 ! FUNCTION: lstrlen
1587 ! FUNCTION: lstrlenA
1588 ! FUNCTION: lstrlenW
1589 ! FUNCTION: LZClose
1590 ! FUNCTION: LZCloseFile
1591 ! FUNCTION: LZCopy
1592 ! FUNCTION: LZCreateFileW
1593 ! FUNCTION: LZDone
1594 ! FUNCTION: LZInit
1595 ! FUNCTION: LZOpenFileA
1596 ! FUNCTION: LZOpenFileW
1597 ! FUNCTION: LZRead
1598 ! FUNCTION: LZSeek
1599 ! FUNCTION: LZStart
1600 ! FUNCTION: MapUserPhysicalPages
1601 ! FUNCTION: MapUserPhysicalPagesScatter
1602 FUNCTION: LPVOID MapViewOfFile ( HANDLE hFileMappingObject,
1603                                  DWORD dwDesiredAccess,
1604                                  DWORD dwFileOffsetHigh,
1605                                  DWORD dwFileOffsetLow,
1606                                  SIZE_T dwNumberOfBytesToMap ) ;
1607
1608 FUNCTION: LPVOID MapViewOfFileEx ( HANDLE hFileMappingObject,
1609                                  DWORD dwDesiredAccess,
1610                                  DWORD dwFileOffsetHigh,
1611                                  DWORD dwFileOffsetLow,
1612                                  SIZE_T dwNumberOfBytesToMap,
1613                                  LPVOID lpBaseAddress ) ;
1614
1615 ! FUNCTION: Module32First
1616 ! FUNCTION: Module32FirstW
1617 ! FUNCTION: Module32Next
1618 ! FUNCTION: Module32NextW
1619 ! FUNCTION: MoveFileA
1620 ! FUNCTION: MoveFileExA
1621 ! FUNCTION: MoveFileExW
1622 FUNCTION: BOOL MoveFileW ( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName ) ;
1623 ALIAS: MoveFile MoveFileW
1624 ! FUNCTION: MoveFileWithProgressA
1625 ! FUNCTION: MoveFileWithProgressW
1626 ! FUNCTION: MulDiv
1627 ! FUNCTION: MultiByteToWideChar
1628 ! FUNCTION: NlsConvertIntegerToString
1629 ! FUNCTION: NlsGetCacheUpdateCount
1630 ! FUNCTION: NlsResetProcessLocale
1631 ! FUNCTION: NumaVirtualQueryNode
1632 ! FUNCTION: OpenConsoleW
1633 ! FUNCTION: OpenDataFile
1634 ! FUNCTION: OpenEventA
1635 ! FUNCTION: OpenEventW
1636 ! WARNING: OpenFile is limited to paths of 128 chars in length.  Do not use!
1637 ! FUNCTION: HFILE OpenFile ( LPCTSTR lpFileName, LPOFSTRUCT lpReOpenBuff, UINT uStyle ) ;
1638 FUNCTION: HANDLE OpenFileMappingW ( DWORD dwDesiredAccess,
1639                                     BOOL bInheritHandle,
1640                                     LPCTSTR lpName ) ;
1641 ALIAS: OpenFileMapping OpenFileMappingW
1642 ! FUNCTION: OpenJobObjectA
1643 ! FUNCTION: OpenJobObjectW
1644 ! FUNCTION: OpenMutexA
1645 ! FUNCTION: OpenMutexW
1646 FUNCTION: HANDLE OpenProcess ( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId ) ;
1647 ! FUNCTION: OpenProfileUserMapping
1648 ! FUNCTION: OpenSemaphoreA
1649 ! FUNCTION: OpenSemaphoreW
1650 ! FUNCTION: OpenThread
1651 ! FUNCTION: OpenWaitableTimerA
1652 ! FUNCTION: OpenWaitableTimerW
1653 ! FUNCTION: OutputDebugStringA
1654 ! FUNCTION: OutputDebugStringW
1655 ! FUNCTION: PeekConsoleInputA
1656 ! FUNCTION: PeekConsoleInputW
1657 ! FUNCTION: PeekNamedPipe
1658 ! FUNCTION: PostQueuedCompletionStatus
1659 ! FUNCTION: PrepareTape
1660 ! FUNCTION: PrivCopyFileExW
1661 ! FUNCTION: PrivMoveFileIdentityW
1662 ! FUNCTION: Process32First
1663 ! FUNCTION: Process32FirstW
1664 ! FUNCTION: Process32Next
1665 ! FUNCTION: Process32NextW
1666 ! FUNCTION: ProcessIdToSessionId
1667 ! FUNCTION: PulseEvent
1668 ! FUNCTION: PurgeComm
1669 ! FUNCTION: QueryActCtxW
1670 ! FUNCTION: QueryDepthSList
1671 ! FUNCTION: QueryDosDeviceA
1672 ! FUNCTION: QueryDosDeviceW
1673 ! FUNCTION: QueryInformationJobObject
1674 ! FUNCTION: QueryMemoryResourceNotification
1675 FUNCTION: BOOL QueryPerformanceCounter ( LARGE_INTEGER* lpPerformanceCount ) ;
1676 FUNCTION: BOOL QueryPerformanceFrequency ( LARGE_INTEGER* lpFrequency ) ;
1677 ! FUNCTION: QueryWin31IniFilesMappedToRegistry
1678 ! FUNCTION: QueueUserAPC
1679 ! FUNCTION: QueueUserWorkItem
1680 ! FUNCTION: RaiseException
1681 ! FUNCTION: ReadConsoleA
1682 ! FUNCTION: ReadConsoleInputA
1683 ! FUNCTION: ReadConsoleInputExA
1684 ! FUNCTION: ReadConsoleInputExW
1685 ! FUNCTION: ReadConsoleInputW
1686 ! FUNCTION: ReadConsoleOutputA
1687 ! FUNCTION: ReadConsoleOutputAttribute
1688 ! FUNCTION: ReadConsoleOutputCharacterA
1689 ! FUNCTION: ReadConsoleOutputCharacterW
1690 ! FUNCTION: ReadConsoleOutputW
1691 ! FUNCTION: ReadConsoleW
1692 FUNCTION: BOOL ReadDirectoryChangesW ( HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, BOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, void* lpCompletionRoutine ) ;
1693 FUNCTION: BOOL ReadFile ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, void* lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ) ;
1694 ! FUNCTION: BOOL ReadFile ( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ) ;
1695 FUNCTION: BOOL ReadFileEx ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ) ;
1696 ! FUNCTION: ReadFileScatter
1697 FUNCTION: BOOL ReadProcessMemory ( HANDLE hProcess, void* lpBaseAddress, void* lpBuffer, long nSize, long* lpNumberOfBytesRead )  ;
1698 ! FUNCTION: RegisterConsoleIME
1699 ! FUNCTION: RegisterConsoleOS2
1700 ! FUNCTION: RegisterConsoleVDM
1701 ! FUNCTION: RegisterWaitForInputIdle
1702 ! FUNCTION: RegisterWaitForSingleObject
1703 ! FUNCTION: RegisterWaitForSingleObjectEx
1704 ! FUNCTION: RegisterWowBaseHandlers
1705 ! FUNCTION: RegisterWowExec
1706 ! FUNCTION: ReleaseActCtx
1707 ! FUNCTION: ReleaseMutex
1708 ! FUNCTION: ReleaseSemaphore
1709 ! FUNCTION: RemoveDirectoryA
1710 FUNCTION: BOOL RemoveDirectoryW ( LPCTSTR lpPathName ) ;
1711 ALIAS: RemoveDirectory RemoveDirectoryW
1712 ! FUNCTION: RemoveLocalAlternateComputerNameA
1713 ! FUNCTION: RemoveLocalAlternateComputerNameW
1714 ! FUNCTION: RemoveVectoredExceptionHandler
1715 ! FUNCTION: ReplaceFile
1716 ! FUNCTION: ReplaceFileA
1717 ! FUNCTION: ReplaceFileW
1718 ! FUNCTION: RequestDeviceWakeup
1719 ! FUNCTION: RequestWakeupLatency
1720 ! FUNCTION: ResetEvent
1721 ! FUNCTION: ResetWriteWatch
1722 ! FUNCTION: RestoreLastError
1723 ! FUNCTION: ResumeThread
1724 ! FUNCTION: RtlCaptureContext
1725 ! FUNCTION: RtlCaptureStackBackTrace
1726 ! FUNCTION: RtlFillMemory
1727 ! FUNCTION: RtlMoveMemory
1728 ! FUNCTION: RtlUnwind
1729 ! FUNCTION: RtlZeroMemory
1730 ! FUNCTION: ScrollConsoleScreenBufferA
1731 ! FUNCTION: ScrollConsoleScreenBufferW
1732 ! FUNCTION: SearchPathA
1733 ! FUNCTION: SearchPathW
1734 ! FUNCTION: SetCalendarInfoA
1735 ! FUNCTION: SetCalendarInfoW
1736 ! FUNCTION: SetClientTimeZoneInformation
1737 FUNCTION: BOOL SetCommBreak ( HANDLE hFile ) ;
1738 FUNCTION: BOOL SetCommConfig ( HANDLE hCommDev, LPCOMMCONFIG lpCC, DWORD dwSize ) ;
1739 FUNCTION: BOOL SetCommMask ( HANDLE hFile, DWORD dwEvtMask ) ;
1740 FUNCTION: BOOL SetCommState ( HANDLE hFile, LPDCB lpDCB ) ;
1741 ! FUNCTION: SetCommTimeouts
1742 ! FUNCTION: SetComPlusPackageInstallStatus
1743 ! FUNCTION: SetComputerNameA
1744 ! FUNCTION: SetComputerNameExA
1745 ! FUNCTION: SetComputerNameExW
1746 ! FUNCTION: SetComputerNameW
1747 ! FUNCTION: SetConsoleActiveScreenBuffer
1748 ! FUNCTION: SetConsoleCommandHistoryMode
1749 ! FUNCTION: SetConsoleCP
1750 ! FUNCTION: SetConsoleCtrlHandler
1751 ! FUNCTION: SetConsoleCursor
1752 ! FUNCTION: SetConsoleCursorInfo
1753 ! FUNCTION: SetConsoleCursorMode
1754 ! FUNCTION: SetConsoleCursorPosition
1755 ! FUNCTION: SetConsoleDisplayMode
1756 ! FUNCTION: SetConsoleFont
1757 ! FUNCTION: SetConsoleHardwareState
1758 ! FUNCTION: SetConsoleIcon
1759 ! FUNCTION: SetConsoleInputExeNameA
1760 ! FUNCTION: SetConsoleInputExeNameW
1761 ! FUNCTION: SetConsoleKeyShortcuts
1762 ! FUNCTION: SetConsoleLocalEUDC
1763 ! FUNCTION: SetConsoleMaximumWindowSize
1764 ! FUNCTION: SetConsoleMenuClose
1765 ! FUNCTION: SetConsoleMode
1766 ! FUNCTION: SetConsoleNlsMode
1767 ! FUNCTION: SetConsoleNumberOfCommandsA
1768 ! FUNCTION: SetConsoleNumberOfCommandsW
1769 ! FUNCTION: SetConsoleOS2OemFormat
1770 ! FUNCTION: SetConsoleOutputCP
1771 ! FUNCTION: SetConsolePalette
1772 ! FUNCTION: SetConsoleScreenBufferSize
1773 FUNCTION: BOOL SetConsoleTextAttribute ( HANDLE hConsoleOutput, WORD wAttributes ) ;
1774 FUNCTION: BOOL SetConsoleTitleW ( LPCWSTR lpConsoleTitle ) ;
1775 ALIAS: SetConsoleTitle SetConsoleTitleW
1776 ! FUNCTION: SetConsoleWindowInfo
1777 ! FUNCTION: SetCPGlobal
1778 ! FUNCTION: SetCriticalSectionSpinCount
1779 ! FUNCTION: SetCurrentDirectoryA
1780 FUNCTION: BOOL SetCurrentDirectoryW ( LPCWSTR lpDirectory ) ;
1781 ALIAS: SetCurrentDirectory SetCurrentDirectoryW
1782 ! FUNCTION: SetDefaultCommConfigA
1783 FUNCTION: BOOL SetDefaultCommConfigW ( LPCTSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize ) ;
1784 ALIAS: SetDefaultCommConfig SetDefaultCommConfigW
1785 ! FUNCTION: SetDllDirectoryA
1786 ! FUNCTION: SetDllDirectoryW
1787 FUNCTION: BOOL SetEndOfFile ( HANDLE hFile ) ;
1788 ! FUNCTION: SetEnvironmentVariableA
1789 FUNCTION: BOOL SetEnvironmentVariableW ( LPCTSTR key, LPCTSTR value ) ;
1790 ALIAS: SetEnvironmentVariable SetEnvironmentVariableW
1791 ! FUNCTION: SetErrorMode
1792 ! FUNCTION: SetEvent
1793 ! FUNCTION: SetFileApisToANSI
1794 ! FUNCTION: SetFileApisToOEM
1795 ! FUNCTION: SetFileAttributesA
1796 FUNCTION: BOOL SetFileAttributesW ( LPCTSTR lpFileName, DWORD dwFileAttributes ) ;
1797 ALIAS: SetFileAttributes SetFileAttributesW
1798 FUNCTION: DWORD SetFilePointer ( HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod ) ;
1799 FUNCTION: DWORD SetFilePointerEx ( HANDLE hFile, LARGE_INTEGER lDistanceToMove, PLARGE_INTEGER lpDistanceToMoveHigh, DWORD dwMoveMethod ) ;
1800 ! FUNCTION: SetFileShortNameA
1801 ! FUNCTION: SetFileShortNameW
1802 FUNCTION: BOOL SetFileTime ( HANDLE hFile, FILETIME* lpCreationTime, FILETIME* lpLastAccessTime, FILETIME* lpLastWriteTime ) ;
1803 ! FUNCTION: SetFileValidData
1804 ! FUNCTION: SetFirmwareEnvironmentVariableA
1805 ! FUNCTION: SetFirmwareEnvironmentVariableW
1806 ! FUNCTION: SetHandleContext
1807 ! FUNCTION: SetHandleCount
1808 FUNCTION: BOOL SetHandleInformation ( HANDLE hObject, DWORD dwMask, DWORD dwFlags ) ;
1809 ! FUNCTION: SetInformationJobObject
1810 ! FUNCTION: SetLastConsoleEventActive
1811 ! FUNCTION: SetLastError
1812 ! FUNCTION: SetLocaleInfoA
1813 ! FUNCTION: SetLocaleInfoW
1814 ! FUNCTION: SetLocalPrimaryComputerNameA
1815 ! FUNCTION: SetLocalPrimaryComputerNameW
1816 ! FUNCTION: SetLocalTime
1817 ! FUNCTION: SetMailslotInfo
1818 ! FUNCTION: SetMessageWaitingIndicator
1819 ! FUNCTION: SetNamedPipeHandleState
1820 FUNCTION: BOOL SetPriorityClass ( HANDLE hProcess, DWORD dwPriorityClass ) ;
1821 ! FUNCTION: SetProcessAffinityMask
1822 FUNCTION: BOOL SetProcessPriorityBoost ( HANDLE hProcess, BOOL disablePriorityBoost ) ;
1823 ! FUNCTION: SetProcessShutdownParameters
1824 ! FUNCTION: SetProcessWorkingSetSize
1825 ! FUNCTION: SetStdHandle
1826 ! FUNCTION: SetSystemPowerState
1827 FUNCTION: BOOL SetSystemTime ( SYSTEMTIME* lpSystemTime ) ;
1828 ! FUNCTION: SetSystemTimeAdjustment
1829 ! FUNCTION: SetTapeParameters
1830 ! FUNCTION: SetTapePosition
1831 ! FUNCTION: SetTermsrvAppInstallMode
1832 ! FUNCTION: SetThreadAffinityMask
1833 ! FUNCTION: SetThreadContext
1834 ! FUNCTION: SetThreadExecutionState
1835 ! FUNCTION: SetThreadIdealProcessor
1836 ! FUNCTION: SetThreadLocale
1837 FUNCTION: BOOL SetThreadPriority ( HANDLE hThread, int nPriority ) ;
1838 FUNCTION: BOOL SetThreadPriorityBoost ( HANDLE hThread, BOOL disablePriorityBoost ) ;
1839 ! FUNCTION: SetThreadUILanguage
1840 ! FUNCTION: SetTimerQueueTimer
1841 ! FUNCTION: SetTimeZoneInformation
1842 ! FUNCTION: SetUnhandledExceptionFilter
1843 ! FUNCTION: SetupComm
1844 ! FUNCTION: SetUserGeoID
1845 ! FUNCTION: SetVDMCurrentDirectories
1846 ! FUNCTION: SetVolumeLabelA
1847 ! FUNCTION: SetVolumeLabelW
1848 ! FUNCTION: SetVolumeMountPointA
1849 ! FUNCTION: SetVolumeMountPointW
1850 ! FUNCTION: SetWaitableTimer
1851 ! FUNCTION: ShowConsoleCursor
1852 ! FUNCTION: SignalObjectAndWait
1853 ! FUNCTION: SizeofResource
1854 ! FUNCTION: Sleep
1855 FUNCTION: DWORD SleepEx ( DWORD dwMilliSeconds, BOOL bAlertable ) ;
1856 ! FUNCTION: SuspendThread
1857 ! FUNCTION: SwitchToFiber
1858 ! FUNCTION: SwitchToThread
1859 FUNCTION: BOOL SystemTimeToFileTime ( SYSTEMTIME* lpSystemTime, LPFILETIME lpFileTime ) ;
1860 ! FUNCTION: SystemTimeToTzSpecificLocalTime
1861 ! FUNCTION: TerminateJobObject
1862 FUNCTION: BOOL TerminateProcess ( HANDLE hProcess, DWORD uExit ) ;
1863 ! FUNCTION: TerminateThread
1864 ! FUNCTION: TermsrvAppInstallMode
1865 ! FUNCTION: Thread32First
1866 ! FUNCTION: Thread32Next
1867 ! FUNCTION: TlsAlloc
1868 ! FUNCTION: TlsFree
1869 ! FUNCTION: TlsGetValue
1870 ! FUNCTION: TlsSetValue
1871 ! FUNCTION: Toolhelp32ReadProcessMemory
1872 ! FUNCTION: TransactNamedPipe
1873 ! FUNCTION: TransmitCommChar
1874 ! FUNCTION: TrimVirtualBuffer
1875 ! FUNCTION: TryEnterCriticalSection
1876 ! FUNCTION: TzSpecificLocalTimeToSystemTime
1877 ! FUNCTION: UnhandledExceptionFilter
1878 ! FUNCTION: UnlockFile
1879 ! FUNCTION: UnlockFileEx
1880 FUNCTION: BOOL UnmapViewOfFile ( LPCVOID lpBaseAddress ) ;
1881 ! FUNCTION: UnregisterConsoleIME
1882 ! FUNCTION: UnregisterWait
1883 ! FUNCTION: UnregisterWaitEx
1884 ! FUNCTION: UpdateResourceA
1885 FUNCTION: BOOL UpdateResourceW ( HANDLE hUpdate, LPCTSTR lpType, LPCTSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cbData ) ;
1886 ALIAS: UpdateResource UpdateResourceW
1887 ! FUNCTION: UTRegister
1888 ! FUNCTION: UTUnRegister
1889 ! FUNCTION: ValidateLCType
1890 ! FUNCTION: ValidateLocale
1891 ! FUNCTION: VDMConsoleOperation
1892 ! FUNCTION: VDMOperationStarted
1893 ! FUNCTION: VerifyConsoleIoHandle
1894 ! FUNCTION: VerifyVersionInfoA
1895 ! FUNCTION: VerifyVersionInfoW
1896 ! FUNCTION: VerLanguageNameA
1897 ! FUNCTION: VerLanguageNameW
1898 ! FUNCTION: VerSetConditionMask
1899 ! FUNCTION: VirtualAlloc
1900 FUNCTION: HANDLE VirtualAllocEx ( HANDLE hProcess, void* lpAddress, long dwSize, DWORD flAllocationType, DWORD flProtect ) ;
1901 ! FUNCTION: VirtualBufferExceptionHandler
1902 ! FUNCTION: VirtualFree
1903 FUNCTION: BOOL VirtualFreeEx ( HANDLE hProcess, void* lpAddress, long dwSize, DWORD dwFreeType ) ;
1904 ! FUNCTION: VirtualLock
1905 ! FUNCTION: VirtualProtect
1906 ! FUNCTION: VirtualProtectEx
1907 ! FUNCTION: VirtualQuery
1908 FUNCTION: BOOL VirtualQueryEx ( HANDLE hProcess, void* lpAddress, MEMORY_BASIC_INFORMATION* lpBuffer, SIZE_T dwLength ) ;
1909 ! FUNCTION: VirtualUnlock
1910 ! FUNCTION: WaitCommEvent
1911 ! FUNCTION: WaitForDebugEvent
1912 FUNCTION: DWORD WaitForMultipleObjects ( DWORD nCount, HANDLE* lpHandles, BOOL bWaitAll, DWORD dwMilliseconds ) ;
1913 ! FUNCTION: WaitForMultipleObjectsEx
1914 FUNCTION: BOOL WaitForSingleObject ( HANDLE hHandle, DWORD dwMilliseconds ) ;
1915 ! FUNCTION: WaitForSingleObjectEx
1916 ! FUNCTION: WaitNamedPipeA
1917 ! FUNCTION: WaitNamedPipeW
1918 ! FUNCTION: WideCharToMultiByte
1919 ! FUNCTION: WinExec
1920 ! FUNCTION: WriteConsoleA
1921 ! FUNCTION: WriteConsoleInputA
1922 ! FUNCTION: WriteConsoleInputVDMA
1923 ! FUNCTION: WriteConsoleInputVDMW
1924 ! FUNCTION: WriteConsoleInputW
1925 ! FUNCTION: WriteConsoleOutputA
1926 ! FUNCTION: WriteConsoleOutputAttribute
1927 ! FUNCTION: WriteConsoleOutputCharacterA
1928 ! FUNCTION: WriteConsoleOutputCharacterW
1929 ! FUNCTION: WriteConsoleOutputW
1930 ! FUNCTION: WriteConsoleW
1931 FUNCTION: BOOL WriteFile ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToWrite, void* lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ) ;
1932 FUNCTION: BOOL WriteFileEx ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ) ;
1933 ! FUNCTION: WriteFileGather
1934 ! FUNCTION: WritePrivateProfileSectionA
1935 ! FUNCTION: WritePrivateProfileSectionW
1936 ! FUNCTION: WritePrivateProfileStringA
1937 ! FUNCTION: WritePrivateProfileStringW
1938 ! FUNCTION: WritePrivateProfileStructA
1939 ! FUNCTION: WritePrivateProfileStructW
1940 FUNCTION: BOOL WriteProcessMemory ( HANDLE hProcess, void* lpBaseAddress, void* lpBuffer, long nSize, long* lpNumberOfBytesWritten )  ;
1941 ! FUNCTION: WriteProfileSectionA
1942 ! FUNCTION: WriteProfileSectionW
1943 ! FUNCTION: WriteProfileStringA
1944 ! FUNCTION: WriteProfileStringW
1945 ! FUNCTION: WriteTapemark
1946 ! FUNCTION: WTSGetActiveConsoleSessionId
1947 ! FUNCTION: ZombifyActCtx
1948
1949 : with-global-lock ( HGLOBAL quot -- )
1950     swap [ GlobalLock swap call ] keep GlobalUnlock drop ; inline