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