forked from factor/factor
/
kernel32.factor
1980 lines (1845 loc) · 67.8 KB
/
kernel32.factor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
! Copyright (C) 2005, 2006 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.syntax kernel windows.types
math multiline classes.struct alien.data arrays literals ;
QUALIFIED-WITH: alien.c-types c
IN: windows.kernel32
: lo-word ( wparam -- lo ) c:short <ref> c:short deref ; inline
: hi-word ( wparam -- hi ) -16 shift lo-word ; inline
: >lo-hi ( WORD -- array ) [ lo-word ] [ hi-word ] bi 2array ; inline
CONSTANT: MAX_PATH 260
CONSTANT: GHND 0x40
CONSTANT: GMEM_FIXED 0
CONSTANT: GMEM_MOVEABLE 2
CONSTANT: GMEM_ZEROINIT 0x40
CONSTANT: GPTR 0x40
CONSTANT: GENERIC_READ 0x80000000
CONSTANT: GENERIC_WRITE 0x40000000
CONSTANT: GENERIC_EXECUTE 0x20000000
CONSTANT: GENERIC_ALL 0x10000000
CONSTANT: CREATE_NEW 1
CONSTANT: CREATE_ALWAYS 2
CONSTANT: OPEN_EXISTING 3
CONSTANT: OPEN_ALWAYS 4
CONSTANT: TRUNCATE_EXISTING 5
CONSTANT: FILE_LIST_DIRECTORY 0x00000001
CONSTANT: FILE_READ_DAT 0x00000001
CONSTANT: FILE_ADD_FILE 0x00000002
CONSTANT: FILE_WRITE_DATA 0x00000002
CONSTANT: FILE_ADD_SUBDIRECTORY 0x00000004
CONSTANT: FILE_APPEND_DATA 0x00000004
CONSTANT: FILE_CREATE_PIPE_INSTANCE 0x00000004
CONSTANT: FILE_READ_EA 0x00000008
CONSTANT: FILE_READ_PROPERTIES 0x00000008
CONSTANT: FILE_WRITE_EA 0x00000010
CONSTANT: FILE_WRITE_PROPERTIES 0x00000010
CONSTANT: FILE_EXECUTE 0x00000020
CONSTANT: FILE_TRAVERSE 0x00000020
CONSTANT: FILE_DELETE_CHILD 0x00000040
CONSTANT: FILE_READ_ATTRIBUTES 0x00000080
CONSTANT: FILE_WRITE_ATTRIBUTES 0x00000100
CONSTANT: FILE_SHARE_READ 1
CONSTANT: FILE_SHARE_WRITE 2
CONSTANT: FILE_SHARE_DELETE 4
CONSTANT: FILE_SHARE_VALID_FLAGS 7
CONSTANT: FILE_FLAG_WRITE_THROUGH 0x80000000
CONSTANT: FILE_FLAG_OVERLAPPED 0x40000000
CONSTANT: FILE_FLAG_NO_BUFFERING 0x20000000
CONSTANT: FILE_FLAG_RANDOM_ACCESS 0x10000000
CONSTANT: FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
CONSTANT: FILE_FLAG_DELETE_ON_CLOSE 0x04000000
CONSTANT: FILE_FLAG_BACKUP_SEMANTICS 0x02000000
CONSTANT: FILE_FLAG_POSIX_SEMANTICS 0x01000000
CONSTANT: FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
CONSTANT: FILE_FLAG_OPEN_NO_RECALL 0x00100000
CONSTANT: FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
CONSTANT: FILE_ATTRIBUTE_READONLY 0x00000001
CONSTANT: FILE_ATTRIBUTE_HIDDEN 0x00000002
CONSTANT: FILE_ATTRIBUTE_SYSTEM 0x00000004
CONSTANT: FILE_ATTRIBUTE_DIRECTORY 0x00000010
CONSTANT: FILE_ATTRIBUTE_ARCHIVE 0x00000020
CONSTANT: FILE_ATTRIBUTE_DEVICE 0x00000040
CONSTANT: FILE_ATTRIBUTE_NORMAL 0x00000080
CONSTANT: FILE_ATTRIBUTE_TEMPORARY 0x00000100
CONSTANT: FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
CONSTANT: FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
CONSTANT: FILE_ATTRIBUTE_COMPRESSED 0x00000800
CONSTANT: FILE_ATTRIBUTE_OFFLINE 0x00001000
CONSTANT: FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
CONSTANT: FILE_ATTRIBUTE_ENCRYPTED 0x00004000
CONSTANT: FILE_NOTIFY_CHANGE_FILE 0x001
CONSTANT: FILE_NOTIFY_CHANGE_DIR_NAME 0x002
CONSTANT: FILE_NOTIFY_CHANGE_ATTRIBUTES 0x004
CONSTANT: FILE_NOTIFY_CHANGE_SIZE 0x008
CONSTANT: FILE_NOTIFY_CHANGE_LAST_WRITE 0x010
CONSTANT: FILE_NOTIFY_CHANGE_LAST_ACCESS 0x020
CONSTANT: FILE_NOTIFY_CHANGE_CREATION 0x040
CONSTANT: FILE_NOTIFY_CHANGE_EA 0x080
CONSTANT: FILE_NOTIFY_CHANGE_SECURITY 0x100
CONSTANT: FILE_NOTIFY_CHANGE_FILE_NAME 0x200
CONSTANT: FILE_NOTIFY_CHANGE_ALL 0x3ff
CONSTANT: FILE_ACTION_ADDED 1
CONSTANT: FILE_ACTION_REMOVED 2
CONSTANT: FILE_ACTION_MODIFIED 3
CONSTANT: FILE_ACTION_RENAMED_OLD_NAME 4
CONSTANT: FILE_ACTION_RENAMED_NEW_NAME 5
CONSTANT: DONT_RESOLVE_DLL_REFERENCES 1
STRUCT: FILE_NOTIFY_INFORMATION
{ NextEntryOffset DWORD }
{ Action DWORD }
{ FileNameLength DWORD }
{ FileName WCHAR[1] } ;
TYPEDEF: FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION
CONSTANT: STD_INPUT_HANDLE -10
CONSTANT: STD_OUTPUT_HANDLE -11
CONSTANT: STD_ERROR_HANDLE -12
: INVALID_HANDLE_VALUE ( -- alien ) -1 <alien> ; inline
CONSTANT: INVALID_FILE_SIZE 0xFFFFFFFF
CONSTANT: INVALID_SET_FILE_POINTER 0xffffffff
CONSTANT: FILE_BEGIN 0
CONSTANT: FILE_CURRENT 1
CONSTANT: FILE_END 2
CONSTANT: OF_READ 0
CONSTANT: OF_READWRITE 2
CONSTANT: OF_WRITE 1
CONSTANT: OF_SHARE_COMPAT 0
CONSTANT: OF_SHARE_DENY_NONE 64
CONSTANT: OF_SHARE_DENY_READ 48
CONSTANT: OF_SHARE_DENY_WRITE 32
CONSTANT: OF_SHARE_EXCLUSIVE 16
CONSTANT: OF_CANCEL 2048
CONSTANT: OF_CREATE 4096
CONSTANT: OF_DELETE 512
CONSTANT: OF_EXIST 16384
CONSTANT: OF_PARSE 256
CONSTANT: OF_PROMPT 8192
CONSTANT: OF_REOPEN 32768
CONSTANT: OF_VERIFY 1024
CONSTANT: INFINITE 0xFFFFFFFF
! From C:\cygwin\usr\include\w32api\winbase.h
CONSTANT: FILE_TYPE_UNKNOWN 0
CONSTANT: FILE_TYPE_DISK 1
CONSTANT: FILE_TYPE_CHAR 2
CONSTANT: FILE_TYPE_PIPE 3
CONSTANT: FILE_TYPE_REMOTE 0x8000
CONSTANT: TIME_ZONE_ID_UNKNOWN 0
CONSTANT: TIME_ZONE_ID_STANDARD 1
CONSTANT: TIME_ZONE_ID_DAYLIGHT 2
CONSTANT: TIME_ZONE_ID_INVALID 0xFFFFFFFF
CONSTANT: PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
CONSTANT: PF_SSE3_INSTRUCTIONS_AVAILABLE 13
CONSTANT: MAX_COMPUTERNAME_LENGTH 15
CONSTANT: UNLEN 256
CONSTANT: PROCESS_TERMINATE 0x1
CONSTANT: PROCESS_CREATE_THREAD 0x2
CONSTANT: PROCESS_VM_OPERATION 0x8
CONSTANT: PROCESS_VM_READ 0x10
CONSTANT: PROCESS_VM_WRITE 0x20
CONSTANT: PROCESS_DUP_HANDLE 0x40
CONSTANT: PROCESS_CREATE_PROCESS 0x80
CONSTANT: PROCESS_SET_QUOTA 0x100
CONSTANT: PROCESS_SET_INFORMATION 0x200
CONSTANT: PROCESS_QUERY_INFORMATION 0x400
CONSTANT: MEM_COMMIT 0x1000
CONSTANT: MEM_RELEASE 0x8000
CONSTANT: PAGE_NOACCESS 1
CONSTANT: PAGE_READONLY 2
CONSTANT: PAGE_READWRITE 4
CONSTANT: PAGE_WRITECOPY 8
CONSTANT: PAGE_EXECUTE 0x10
CONSTANT: PAGE_EXECUTE_READ 0x20
CONSTANT: PAGE_EXECUTE_READWRITE 0x40
CONSTANT: PAGE_EXECUTE_WRITECOPY 0x80
CONSTANT: PAGE_GUARD 0x100
CONSTANT: PAGE_NOCACHE 0x200
CONSTANT: SEC_BASED 0x00200000
CONSTANT: SEC_NO_CHANGE 0x00400000
CONSTANT: SEC_FILE 0x00800000
CONSTANT: SEC_IMAGE 0x01000000
CONSTANT: SEC_VLM 0x02000000
CONSTANT: SEC_RESERVE 0x04000000
CONSTANT: SEC_COMMIT 0x08000000
CONSTANT: SEC_NOCACHE 0x10000000
ALIAS: MEM_IMAGE SEC_IMAGE
CONSTANT: FILE_MAP_ALL_ACCESS 0xf001f
CONSTANT: FILE_MAP_READ 4
CONSTANT: FILE_MAP_WRITE 2
CONSTANT: FILE_MAP_COPY 1
CONSTANT: THREAD_MODE_BACKGROUND_BEGIN 0x10000
CONSTANT: THREAD_MODE_BACKGROUND_END 0x20000
CONSTANT: THREAD_PRIORITY_ABOVE_NORMAL 1
CONSTANT: THREAD_PRIORITY_BELOW_NORMAL -1
CONSTANT: THREAD_PRIORITY_HIGHEST 2
CONSTANT: THREAD_PRIORITY_IDLE -15
CONSTANT: THREAD_PRIORITY_LOWEST -2
CONSTANT: THREAD_PRIORITY_NORMAL 0
CONSTANT: THREAD_PRIORITY_TIME_CRITICAL 15
ENUM: COMPUTER_NAME_FORMAT
ComputerNameNetBIOS
ComputerNameDnsHostname
ComputerNameDnsDomain
ComputerNameDnsFullyQualified
ComputerNamePhysicalNetBIOS
ComputerNamePhysicalDnsHostname
ComputerNamePhysicalDnsDomain
ComputerNamePhysicalDnsFullyQualified
ComputerNameMax ;
STRUCT: OVERLAPPED
{ internal UINT_PTR }
{ internal-high UINT_PTR }
{ offset DWORD }
{ offset-high DWORD }
{ event HANDLE } ;
STRUCT: SYSTEMTIME
{ wYear WORD }
{ wMonth WORD }
{ wDayOfWeek WORD }
{ wDay WORD }
{ wHour WORD }
{ wMinute WORD }
{ wSecond WORD }
{ wMilliseconds WORD } ;
STRUCT: TIME_ZONE_INFORMATION
{ Bias LONG }
{ StandardName WCHAR[32] }
{ StandardDate SYSTEMTIME }
{ StandardBias LONG }
{ DaylightName WCHAR[32] }
{ DaylightDate SYSTEMTIME }
{ DaylightBias LONG } ;
STRUCT: FILETIME
{ dwLowDateTime DWORD }
{ dwHighDateTime DWORD } ;
STRUCT: STARTUPINFO
{ cb DWORD }
{ lpReserved LPTSTR }
{ lpDesktop LPTSTR }
{ lpTitle LPTSTR }
{ dwX DWORD }
{ dwY DWORD }
{ dwXSize DWORD }
{ dwYSize DWORD }
{ dwXCountChars DWORD }
{ dwYCountChars DWORD }
{ dwFillAttribute DWORD }
{ dwFlags DWORD }
{ wShowWindow WORD }
{ cbReserved2 WORD }
{ lpReserved2 LPBYTE }
{ hStdInput HANDLE }
{ hStdOutput HANDLE }
{ hStdError HANDLE } ;
TYPEDEF: void* LPSTARTUPINFO
STRUCT: PROCESS_INFORMATION
{ hProcess HANDLE }
{ hThread HANDLE }
{ dwProcessId DWORD }
{ dwThreadId DWORD } ;
STRUCT: SYSTEM_INFO
{ dwOemId DWORD }
{ dwPageSize DWORD }
{ lpMinimumApplicationAddress LPVOID }
{ lpMaximumApplicationAddress LPVOID }
{ dwActiveProcessorMask DWORD_PTR }
{ dwNumberOfProcessors DWORD }
{ dwProcessorType DWORD }
{ dwAllocationGranularity DWORD }
{ wProcessorLevel WORD }
{ wProcessorRevision WORD } ;
TYPEDEF: void* LPSYSTEM_INFO
STRUCT: MEMORYSTATUS
{ dwLength DWORD }
{ dwMemoryLoad DWORD }
{ dwTotalPhys SIZE_T }
{ dwAvailPhys SIZE_T }
{ dwTotalPageFile SIZE_T }
{ dwAvailPageFile SIZE_T }
{ dwTotalVirtual SIZE_T }
{ dwAvailVirtual SIZE_T } ;
TYPEDEF: void* LPMEMORYSTATUS
STRUCT: MEMORYSTATUSEX
{ dwLength DWORD }
{ dwMemoryLoad DWORD }
{ ullTotalPhys DWORDLONG }
{ ullAvailPhys DWORDLONG }
{ ullTotalPageFile DWORDLONG }
{ ullAvailPageFile DWORDLONG }
{ ullTotalVirtual DWORDLONG }
{ ullAvailVirtual DWORDLONG }
{ ullAvailExtendedVirtual DWORDLONG } ;
TYPEDEF: void* LPMEMORYSTATUSEX
STRUCT: OSVERSIONINFO
{ dwOSVersionInfoSize DWORD }
{ dwMajorVersion DWORD }
{ dwMinorVersion DWORD }
{ dwBuildNumber DWORD }
{ dwPlatformId DWORD }
{ szCSDVersion WCHAR[128] } ;
TYPEDEF: void* LPOSVERSIONINFO
STRUCT: MEMORY_BASIC_INFORMATION
{ BaseAddress void* }
{ AllocationBase void* }
{ AllocationProtect DWORD }
{ RegionSize SIZE_T }
{ state DWORD }
{ protect DWORD }
{ type DWORD } ;
STRUCT: GUID
{ Data1 ULONG }
{ Data2 WORD }
{ Data3 WORD }
{ Data4 UCHAR[8] } ;
/*
fBinary :1;
fParity :1;
fOutxCtsFlow :1;
fOutxDsrFlow :1;
fDtrControl :2;
fDsrSensitivity :1;
fTXContinueOnXoff :1;
fOutX :1;
fInX :1;
fErrorChar :1;
fNull :1;
fRtsControl :2;
fAbortOnError :1;
fDummy2 :17;
*/
CONSTANT: SP_SERIALCOMM 0x1
CONSTANT: BAUD_075 0x1
CONSTANT: BAUD_110 0x2
CONSTANT: BAUD_134_5 0x4
CONSTANT: BAUD_150 0x8
CONSTANT: BAUD_300 0x10
CONSTANT: BAUD_600 0x20
CONSTANT: BAUD_1200 0x40
CONSTANT: BAUD_1800 0x80
CONSTANT: BAUD_2400 0x100
CONSTANT: BAUD_4800 0x200
CONSTANT: BAUD_7200 0x400
CONSTANT: BAUD_9600 0x800
CONSTANT: BAUD_14400 0x1000
CONSTANT: BAUD_19200 0x2000
CONSTANT: BAUD_38400 0x4000
CONSTANT: BAUD_56K 0x8000
CONSTANT: BAUD_57600 0x40000
CONSTANT: BAUD_115200 0x20000
CONSTANT: BAUD_128K 0x10000
CONSTANT: BAUD_USER 0x10000000
CONSTANT: PST_FAX 0x21
CONSTANT: PST_LAT 0x101
CONSTANT: PST_MODEM 0x6
CONSTANT: PST_NETWORK_BRIDGE 0x100
CONSTANT: PST_PARALLELPORT 0x2
CONSTANT: PST_RS232 0x1
CONSTANT: PST_RS422 0x3
CONSTANT: PST_RS423 0x4
CONSTANT: PST_RS449 0x5
CONSTANT: PST_SCANNER 0x22
CONSTANT: PST_TCPIP_TELNET 0x102
CONSTANT: PST_UNSPECIFIED 0
CONSTANT: PST_X25 0x103
CONSTANT: PCF_16BITMODE 0x200
CONSTANT: PCF_DTRDSR 0x1
CONSTANT: PCF_INTTIMEOUTS 0x80
CONSTANT: PCF_PARITY_CHECK 0x8
CONSTANT: PCF_RLSD 0x4
CONSTANT: PCF_RTSCTS 0x2
CONSTANT: PCF_SETXCHAR 0x20
CONSTANT: PCF_SPECIALCHARS 0x100
CONSTANT: PCF_TOTALTIMEOUTS 0x40
CONSTANT: PCF_XONXOFF 0x10
CONSTANT: SP_BAUD 0x2
CONSTANT: SP_DATABITS 0x4
CONSTANT: SP_HANDSHAKING 0x10
CONSTANT: SP_PARITY 0x1
CONSTANT: SP_PARITY_CHECK 0x20
CONSTANT: SP_RLSD 0x40
CONSTANT: SP_STOPBITS 0x8
CONSTANT: DATABITS_5 1
CONSTANT: DATABITS_6 2
CONSTANT: DATABITS_7 4
CONSTANT: DATABITS_8 8
CONSTANT: DATABITS_16 16
CONSTANT: DATABITS_16X 32
CONSTANT: STOPBITS_10 1
CONSTANT: STOPBITS_15 2
CONSTANT: STOPBITS_20 4
CONSTANT: PARITY_NONE 256
CONSTANT: PARITY_ODD 512
CONSTANT: PARITY_EVEN 1024
CONSTANT: PARITY_MARK 2048
CONSTANT: PARITY_SPACE 4096
CONSTANT: COMMPROP_INITIALIZED 0xe73cf52e
CONSTANT: CBR_110 110
CONSTANT: CBR_300 300
CONSTANT: CBR_600 600
CONSTANT: CBR_1200 1200
CONSTANT: CBR_2400 2400
CONSTANT: CBR_4800 4800
CONSTANT: CBR_9600 9600
CONSTANT: CBR_14400 14400
CONSTANT: CBR_19200 19200
CONSTANT: CBR_38400 38400
CONSTANT: CBR_56000 56000
CONSTANT: CBR_57600 57600
CONSTANT: CBR_115200 115200
CONSTANT: CBR_128000 128000
CONSTANT: CBR_256000 256000
CONSTANT: DTR_CONTROL_DISABLE 0
CONSTANT: DTR_CONTROL_ENABLE 1
CONSTANT: DTR_CONTROL_HANDSHAKE 2
CONSTANT: RTS_CONTROL_DISABLE 0
CONSTANT: RTS_CONTROL_ENABLE 1
CONSTANT: RTS_CONTROL_HANDSHAKE 2
CONSTANT: RTS_CONTROL_TOGGLE 3
CONSTANT: EVENPARITY 2
CONSTANT: MARKPARITY 3
CONSTANT: NOPARITY 0
CONSTANT: ODDPARITY 1
CONSTANT: SPACEPARITY 4
CONSTANT: ONESTOPBIT 0
CONSTANT: ONE5STOPBITS 1
CONSTANT: TWOSTOPBITS 2
! Flowcontrol bit mask in DCB
CONSTANT: FM_fBinary 0x1
CONSTANT: FM_fParity 0x2
CONSTANT: FM_fOutxCtsFlow 0x4
CONSTANT: FM_fOutxDsrFlow 0x8
CONSTANT: FM_fDtrControl 0x30
CONSTANT: FM_fDsrSensitivity 0x40
CONSTANT: FM_fTXContinueOnXoff 0x80
CONSTANT: FM_fOutX 0x100
CONSTANT: FM_fInX 0x200
CONSTANT: FM_fErrorChar 0x400
CONSTANT: FM_fNull 0x800
CONSTANT: FM_fRtsControl 0x3000
CONSTANT: FM_fAbortOnError 0x4000
CONSTANT: FM_fDummy2 0xffff8000
CONSTANT: BM_fCtsHold 0x1
CONSTANT: BM_fDsrHold 0x2
CONSTANT: BM_fRlsdHold 0x4
CONSTANT: BM_fXoffHold 0x8
CONSTANT: BM_fXoffSent 0x10
CONSTANT: BM_fEof 0x20
CONSTANT: BM_fTxim 0x40
CONSTANT: BM_AllBits 0x7f
! PurgeComm bit mask
CONSTANT: PURGE_TXABORT 0x1
CONSTANT: PURGE_RXABORT 0x2
CONSTANT: PURGE_TXCLEAR 0x4
CONSTANT: PURGE_RXCLEAR 0x8
! GetCommModemStatus bit mask
CONSTANT: MS_CTS_ON 0x10
CONSTANT: MS_DSR_ON 0x20
CONSTANT: MS_RING_ON 0x40
CONSTANT: MS_RLSD_ON 0x80
! EscapeCommFunction operations
CONSTANT: SETXOFF 0x1
CONSTANT: SETXON 0x2
CONSTANT: SETRTS 0x3
CONSTANT: CLRRTS 0x4
CONSTANT: SETDTR 0x5
CONSTANT: CLRDTR 0x6
CONSTANT: SETBREAK 0x8
CONSTANT: CLRBREAK 0x9
! ClearCommError bit mask
CONSTANT: CE_RXOVER 0x1
CONSTANT: CE_OVERRUN 0x2
CONSTANT: CE_RXPARITY 0x4
CONSTANT: CE_FRAME 0x8
CONSTANT: CE_BREAK 0x10
CONSTANT: CE_TXFULL 0x100
! LPT only
CONSTANT: CE_PTO 0x200
CONSTANT: CE_IOE 0x400
CONSTANT: CE_DNS 0x800
CONSTANT: CE_OOP 0x1000
! LPT only
CONSTANT: CE_MODE 0x8000
! GetCommMask bits
CONSTANT: EV_RXCHAR 0x1
CONSTANT: EV_RXFLAG 0x2
CONSTANT: EV_TXEMPTY 0x4
CONSTANT: EV_CTS 0x8
CONSTANT: EV_DSR 0x10
CONSTANT: EV_RLSD 0x20
CONSTANT: EV_BREAK 0x40
CONSTANT: EV_ERR 0x80
CONSTANT: EV_RING 0x100
CONSTANT: EV_PERR 0x200
CONSTANT: EV_RX80FULL 0x400
CONSTANT: EV_EVENT1 0x800
CONSTANT: EV_EVENT2 0x1000
STRUCT: DCB
{ DCBlength DWORD }
{ BaudRate DWORD }
{ flags DWORD }
{ wReserved WORD }
{ XonLim WORD }
{ XoffLim WORD }
{ ByteSize BYTE }
{ Parity BYTE }
{ StopBits BYTE }
{ XonChar char }
{ XoffChar char }
{ ErrorChar char }
{ EofChar char }
{ EvtChar char }
{ wReserved1 WORD } ;
TYPEDEF: DCB* PDCB
TYPEDEF: DCB* LPDCB
STRUCT: COMMCONFIG
{ dwSize DWORD }
{ wVersion WORD }
{ wReserved WORD }
{ dcb DCB }
{ dwProviderSubType DWORD }
{ dwProviderOffset DWORD }
{ dwProviderSize DWORD }
{ wcProviderData { WCHAR 1 } } ;
TYPEDEF: COMMCONFIG* LPCOMMCONFIG
STRUCT: COMMPROP
{ wPacketLength WORD }
{ wPacketVersion WORD }
{ dwServiceMask DWORD }
{ dwReserved1 DWORD }
{ dwMaxTxQueue DWORD }
{ dwMaxRxQueue DWORD }
{ dwMaxBaud DWORD }
{ dwProvSubType DWORD }
{ dwProvCapabilities DWORD }
{ dwSettableParams DWORD }
{ dwSettableBaud DWORD }
{ wSettableData WORD }
{ wSettableStopParity WORD }
{ dwCurrentTxQueue DWORD }
{ dwCurrentRxQueue DWORD }
{ dwProvSpec1 DWORD }
{ dwProvSpec2 DWORD }
{ wcProvChar { WCHAR 1 } } ;
TYPEDEF: COMMPROP* LPCOMMPROP
CONSTANT: SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege"
CONSTANT: SE_ASSIGNPRIMARYTOKEN_NAME "SeAssignPrimaryTokenPrivilege"
CONSTANT: SE_LOCK_MEMORY_NAME "SeLockMemoryPrivilege"
CONSTANT: SE_INCREASE_QUOTA_NAME "SeIncreaseQuotaPrivilege"
CONSTANT: SE_UNSOLICITED_INPUT_NAME "SeUnsolicitedInputPrivilege"
CONSTANT: SE_MACHINE_ACCOUNT_NAME "SeMachineAccountPrivilege"
CONSTANT: SE_TCB_NAME "SeTcbPrivilege"
CONSTANT: SE_SECURITY_NAME "SeSecurityPrivilege"
CONSTANT: SE_TAKE_OWNERSHIP_NAME "SeTakeOwnershipPrivilege"
CONSTANT: SE_LOAD_DRIVER_NAME "SeLoadDriverPrivilege"
CONSTANT: SE_SYSTEM_PROFILE_NAME "SeSystemProfilePrivilege"
CONSTANT: SE_SYSTEMTIME_NAME "SeSystemtimePrivilege"
CONSTANT: SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege"
CONSTANT: SE_INC_BASE_PRIORITY_NAME "SeIncreaseBasePriorityPrivilege"
CONSTANT: SE_CREATE_PAGEFILE_NAME "SeCreatePagefilePrivilege"
CONSTANT: SE_CREATE_PERMANENT_NAME "SeCreatePermanentPrivilege"
CONSTANT: SE_BACKUP_NAME "SeBackupPrivilege"
CONSTANT: SE_RESTORE_NAME "SeRestorePrivilege"
CONSTANT: SE_SHUTDOWN_NAME "SeShutdownPrivilege"
CONSTANT: SE_DEBUG_NAME "SeDebugPrivilege"
CONSTANT: SE_AUDIT_NAME "SeAuditPrivilege"
CONSTANT: SE_SYSTEM_ENVIRONMENT_NAME "SeSystemEnvironmentPrivilege"
CONSTANT: SE_CHANGE_NOTIFY_NAME "SeChangeNotifyPrivilege"
CONSTANT: SE_REMOTE_SHUTDOWN_NAME "SeRemoteShutdownPrivilege"
CONSTANT: SE_UNDOCK_NAME "SeUndockPrivilege"
CONSTANT: SE_ENABLE_DELEGATION_NAME "SeEnableDelegationPrivilege"
CONSTANT: SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege"
CONSTANT: SE_IMPERSONATE_NAME "SeImpersonatePrivilege"
CONSTANT: SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege"
CONSTANT: SE_GROUP_MANDATORY 0x00000001
CONSTANT: SE_GROUP_ENABLED_BY_DEFAULT 0x00000002
CONSTANT: SE_GROUP_ENABLED 0x00000004
CONSTANT: SE_GROUP_OWNER 0x00000008
CONSTANT: SE_GROUP_USE_FOR_DENY_ONLY 0x00000010
CONSTANT: SE_GROUP_LOGON_ID 0xC0000000
CONSTANT: SE_GROUP_RESOURCE 0x20000000
CONSTANT: SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001
CONSTANT: SE_PRIVILEGE_ENABLED 0x00000002
CONSTANT: SE_PRIVILEGE_REMOVE 0x00000004
CONSTANT: SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000
CONSTANT: PRIVILEGE_SET_ALL_NECESSARY 1
CONSTANT: SE_OWNER_DEFAULTED 0x00000001
CONSTANT: SE_GROUP_DEFAULTED 0x00000002
CONSTANT: SE_DACL_PRESENT 0x00000004
CONSTANT: SE_DACL_DEFAULTED 0x00000008
CONSTANT: SE_SACL_PRESENT 0x00000010
CONSTANT: SE_SACL_DEFAULTED 0x00000020
CONSTANT: SE_DACL_AUTO_INHERIT_REQ 0x00000100
CONSTANT: SE_SACL_AUTO_INHERIT_REQ 0x00000200
CONSTANT: SE_DACL_AUTO_INHERITED 0x00000400
CONSTANT: SE_SACL_AUTO_INHERITED 0x00000800
CONSTANT: SE_DACL_PROTECTED 0x00001000
CONSTANT: SE_SACL_PROTECTED 0x00002000
CONSTANT: SE_SELF_RELATIVE 0x00008000
CONSTANT: ANYSIZE_ARRAY 1
CONSTANT: MAXIMUM_WAIT_OBJECTS 64
CONSTANT: MAXIMUM_SUSPEND_COUNT 0x7f
CONSTANT: WAIT_OBJECT_0 0
CONSTANT: WAIT_ABANDONED_0 128
CONSTANT: WAIT_TIMEOUT 258
CONSTANT: WAIT_IO_COMPLETION 0xc0
CONSTANT: WAIT_FAILED 0xffffffff
STRUCT: LUID
{ LowPart DWORD }
{ HighPart LONG } ;
TYPEDEF: LUID* PLUID
STRUCT: LUID_AND_ATTRIBUTES
{ Luid LUID }
{ Attributes DWORD } ;
TYPEDEF: LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES
STRUCT: TOKEN_PRIVILEGES
{ PrivilegeCount DWORD }
{ Privileges LUID_AND_ATTRIBUTES* } ;
TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
STRUCT: WIN32_FILE_ATTRIBUTE_DATA
{ dwFileAttributes DWORD }
{ ftCreationTime FILETIME }
{ ftLastAccessTime FILETIME }
{ ftLastWriteTime FILETIME }
{ nFileSizeHigh DWORD }
{ nFileSizeLow DWORD } ;
TYPEDEF: WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA
STRUCT: BY_HANDLE_FILE_INFORMATION
{ dwFileAttributes DWORD }
{ ftCreationTime FILETIME }
{ ftLastAccessTime FILETIME }
{ ftLastWriteTime FILETIME }
{ dwVolumeSerialNumber DWORD }
{ nFileSizeHigh DWORD }
{ nFileSizeLow DWORD }
{ nNumberOfLinks DWORD }
{ nFileIndexHigh DWORD }
{ nFileIndexLow DWORD } ;
TYPEDEF: BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION
CONSTANT: OFS_MAXPATHNAME 128
STRUCT: OFSTRUCT
{ cBytes BYTE }
{ fFixedDisk BYTE }
{ nErrCode WORD }
{ Reserved1 WORD }
{ Reserved2 WORD }
{ szPathName { CHAR 128 } } ;
! { szPathName { CHAR OFS_MAXPATHNAME } } ;
TYPEDEF: OFSTRUCT* LPOFSTRUCT
STRUCT: WIN32_FIND_DATA
{ dwFileAttributes DWORD }
{ ftCreationTime FILETIME }
{ ftLastAccessTime FILETIME }
{ ftLastWriteTime FILETIME }
{ nFileSizeHigh DWORD }
{ nFileSizeLow DWORD }
{ dwReserved0 DWORD }
{ dwReserved1 DWORD }
{ cFileName { TCHAR MAX_PATH } }
{ cAlternateFileName TCHAR[14] } ;
TYPEDEF: WIN32_FIND_DATA* PWIN32_FIND_DATA
TYPEDEF: WIN32_FIND_DATA* LPWIN32_FIND_DATA
TYPEDEF: void* POVERLAPPED
TYPEDEF: void* LPOVERLAPPED
TYPEDEF: void* LPSECURITY_ATTRIBUTES
TYPEDEF: void* LPPROCESS_INFORMATION
TYPEDEF: SYSTEMTIME* PSYSTEMTIME
TYPEDEF: PSYSTEMTIME LPSYSTEMTIME
TYPEDEF: TIME_ZONE_INFORMATION* PTIME_ZONE_INFORMATION
TYPEDEF: PTIME_ZONE_INFORMATION LPTIME_ZONE_INFORMATION
TYPEDEF: FILETIME* PFILETIME
TYPEDEF: PFILETIME LPFILETIME
TYPEDEF: int GET_FILEEX_INFO_LEVELS
STRUCT: SECURITY_ATTRIBUTES
{ nLength DWORD }
{ lpSecurityDescriptor LPVOID }
{ bInheritHandle BOOL } ;
CONSTANT: HANDLE_FLAG_INHERIT 1
CONSTANT: HANDLE_FLAG_PROTECT_FROM_CLOSE 2
CONSTANT: STARTF_USESHOWWINDOW 0x00000001
CONSTANT: STARTF_USESIZE 0x00000002
CONSTANT: STARTF_USEPOSITION 0x00000004
CONSTANT: STARTF_USECOUNTCHARS 0x00000008
CONSTANT: STARTF_USEFILLATTRIBUTE 0x00000010
CONSTANT: STARTF_RUNFULLSCREEN 0x00000020
CONSTANT: STARTF_FORCEONFEEDBACK 0x00000040
CONSTANT: STARTF_FORCEOFFFEEDBACK 0x00000080
CONSTANT: STARTF_USESTDHANDLES 0x00000100
CONSTANT: STARTF_USEHOTKEY 0x00000200
CONSTANT: PIPE_ACCESS_INBOUND 1
CONSTANT: PIPE_ACCESS_OUTBOUND 2
CONSTANT: PIPE_ACCESS_DUPLEX 3
CONSTANT: PIPE_TYPE_BYTE 0
CONSTANT: PIPE_TYPE_MESSAGE 4
CONSTANT: PIPE_READMODE_BYTE 0
CONSTANT: PIPE_READMODE_MESSAGE 2
CONSTANT: PIPE_WAIT 0
CONSTANT: PIPE_NOWAIT 1
CONSTANT: PIPE_UNLIMITED_INSTANCES 255
CONSTANT: EXCEPTION_NONCONTINUABLE 0x1
CONSTANT: STATUS_GUARD_PAGE_VIOLATION 0x80000001
CONSTANT: STATUS_DATATYPE_MISALIGNMENT 0x80000002
CONSTANT: STATUS_BREAKPOINT 0x80000003
CONSTANT: STATUS_SINGLE_STEP 0x80000004
CONSTANT: STATUS_ACCESS_VIOLATION 0xC0000005
CONSTANT: STATUS_IN_PAGE_ERROR 0xC0000006
CONSTANT: STATUS_INVALID_HANDLE 0xC0000008
CONSTANT: STATUS_NO_MEMORY 0xC0000017
CONSTANT: STATUS_ILLEGAL_INSTRUCTION 0xC000001D
CONSTANT: STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
CONSTANT: STATUS_INVALID_DISPOSITION 0xC0000026
CONSTANT: STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
CONSTANT: STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
CONSTANT: STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
CONSTANT: STATUS_FLOAT_INEXACT_RESULT 0xC000008F
CONSTANT: STATUS_FLOAT_INVALID_OPERATION 0xC0000090
CONSTANT: STATUS_FLOAT_OVERFLOW 0xC0000091
CONSTANT: STATUS_FLOAT_STACK_CHECK 0xC0000092
CONSTANT: STATUS_FLOAT_UNDERFLOW 0xC0000093
CONSTANT: STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
CONSTANT: STATUS_INTEGER_OVERFLOW 0xC0000095
CONSTANT: STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
CONSTANT: STATUS_STACK_OVERFLOW 0xC00000FD
CONSTANT: STATUS_CONTROL_C_EXIT 0xC000013A
CONSTANT: STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4
CONSTANT: STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5
STRUCT: COORD
{ X SHORT }
{ Y SHORT } ;
STRUCT: SMALL_RECT
{ Left SHORT }
{ Top SHORT }
{ Right SHORT }
{ Bottom SHORT } ;
STRUCT: CONSOLE_SCREEN_BUFFER_INFO
{ dwSize COORD }
{ dwCursorPosition COORD }
{ wAttributes WORD }
{ srWindow SMALL_RECT }
{ dwMaximumWindowSize COORD } ;
STRUCT: PROCESSENTRY32
{ dwSize DWORD }
{ cntUsage DWORD }
{ th32ProcessID DWORD }
{ th32DefaultHeapID ULONG_PTR }
{ th32ModuleID DWORD }
{ cntThreads DWORD }
{ th32ParentProcessID DWORD }
{ pcPriClassBase LONG }
{ dwFlags DWORD }
{ szExeFile TCHAR[MAX_PATH] } ;
TYPEDEF: PROCESSENTRY32* PPROCESSENTRY32
TYPEDEF: PROCESSENTRY32* LPPROCESSENTRY32
! Resource IDs
: MAKEINTRESOURCE ( int -- resource ) 0xffff bitand <alien> ; inline
: RT_CURSOR ( -- id ) 1 MAKEINTRESOURCE ; inline
: RT_BITMAP ( -- id ) 2 MAKEINTRESOURCE ; inline
: RT_ICON ( -- id ) 3 MAKEINTRESOURCE ; inline
: RT_MENU ( -- id ) 4 MAKEINTRESOURCE ; inline
: RT_DIALOG ( -- id ) 5 MAKEINTRESOURCE ; inline
: RT_STRING ( -- id ) 6 MAKEINTRESOURCE ; inline
: RT_FONTDIR ( -- id ) 7 MAKEINTRESOURCE ; inline
: RT_FONT ( -- id ) 8 MAKEINTRESOURCE ; inline
: RT_ACCELERATOR ( -- id ) 9 MAKEINTRESOURCE ; inline
: RT_RCDATA ( -- id ) 10 MAKEINTRESOURCE ; inline
: RT_MESSAGETABLE ( -- id ) 11 MAKEINTRESOURCE ; inline
: RT_GROUP_CURSOR ( -- id ) 12 MAKEINTRESOURCE ; inline
: RT_GROUP_ICON ( -- id ) 14 MAKEINTRESOURCE ; inline
: RT_VERSION ( -- id ) 16 MAKEINTRESOURCE ; inline
: RT_DLGINCLUDE ( -- id ) 17 MAKEINTRESOURCE ; inline
: RT_PLUGPLAY ( -- id ) 19 MAKEINTRESOURCE ; inline
: RT_VXD ( -- id ) 20 MAKEINTRESOURCE ; inline
: RT_ANICURSOR ( -- id ) 21 MAKEINTRESOURCE ; inline
: RT_ANIICON ( -- id ) 22 MAKEINTRESOURCE ; inline
: RT_MANIFEST ( -- id ) 24 MAKEINTRESOURCE ; inline
LIBRARY: kernel32
! FUNCTION: _hread
! FUNCTION: _hwrite
! FUNCTION: _lclose
! FUNCTION: _lcreat
! FUNCTION: _llseek
! FUNCTION: _lopen
! FUNCTION: _lread
! FUNCTION: _lwrite
! FUNCTION: ActivateActCtx
! FUNCTION: AddAtomA
! FUNCTION: AddAtomW
! FUNCTION: AddConsoleAliasA
! FUNCTION: AddConsoleAliasW
! FUNCTION: AddLocalAlternateComputerNameA
! FUNCTION: AddLocalAlternateComputerNameW
! FUNCTION: AddRefActCtx
! FUNCTION: AddVectoredExceptionHandler
! FUNCTION: AllocateUserPhysicalPages
FUNCTION: BOOL AllocConsole ( )
! FUNCTION: AreFileApisANSI
! FUNCTION: AssignProcessToJobObject
! FUNCTION: AttachConsole
! FUNCTION: BackupRead
! FUNCTION: BackupSeek
! FUNCTION: BackupWrite
! FUNCTION: BaseCheckAppcompatCache
! FUNCTION: BaseCleanupAppcompatCache
! FUNCTION: BaseCleanupAppcompatCacheSupport
! FUNCTION: BaseDumpAppcompatCache
! FUNCTION: BaseFlushAppcompatCache
! FUNCTION: BaseInitAppcompatCache
! FUNCTION: BaseInitAppcompatCacheSupport
! FUNCTION: BasepCheckWinSaferRestrictions
! FUNCTION: BaseProcessInitPostImport
! FUNCTION: BaseQueryModuleData
! FUNCTION: BaseUpdateAppcompatCache
! FUNCTION: Beep
! FUNCTION: BeginUpdateResourceA
FUNCTION: HANDLE BeginUpdateResourceW ( LPCTSTR pFileName, BOOL bDeleteExistingResources )
ALIAS: BeginUpdateResource BeginUpdateResourceW
! FUNCTION: BindIoCompletionCallback
! FUNCTION: BuildCommDCBA
! FUNCTION: BuildCommDCBAndTimeoutsA
! FUNCTION: BuildCommDCBAndTimeoutsW
! FUNCTION: BuildCommDCBW
! FUNCTION: CallNamedPipeA
! FUNCTION: CallNamedPipeW
! FUNCTION: CancelDeviceWakeupRequest
FUNCTION: BOOL CancelIo ( HANDLE h )
! FUNCTION: CancelTimerQueueTimer
! FUNCTION: CancelWaitableTimer
! FUNCTION: ChangeTimerQueueTimer
! FUNCTION: CheckNameLegalDOS8Dot3A
! FUNCTION: CheckNameLegalDOS8Dot3W
! FUNCTION: CheckRemoteDebuggerPresent
! FUNCTION: ClearCommBreak
! FUNCTION: ClearCommError
! FUNCTION: CloseConsoleHandle
FUNCTION: BOOL CloseHandle ( HANDLE h )
! FUNCTION: CloseProfileUserMapping
! FUNCTION: CmdBatNotification
! FUNCTION: CommConfigDialogA
! FUNCTION: CommConfigDialogW
! FUNCTION: CompareFileTime
! FUNCTION: CompareStringA
! FUNCTION: CompareStringW
FUNCTION: BOOL ConnectNamedPipe ( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped )
! FUNCTION: ConsoleMenuControl
! FUNCTION: ContinueDebugEvent
! FUNCTION: ConvertDefaultLocale
! FUNCTION: ConvertFiberToThread
! FUNCTION: ConvertThreadToFiber
! FUNCTION: CopyFileA
! FUNCTION: CopyFileExA
! FUNCTION: CopyFileExW
FUNCTION: BOOL CopyFileW ( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists )
ALIAS: CopyFile CopyFileW
! FUNCTION: CopyLZFile
FUNCTION: void CopyMemory ( PVOID Destination, VOID* Source, SIZE_T Length )
! FUNCTION: CreateActCtxA
! FUNCTION: CreateActCtxW
! FUNCTION: CreateConsoleScreenBuffer
! FUNCTION: CreateDirectoryA
! FUNCTION: CreateDirectoryExA
! FUNCTION: CreateDirectoryExW
FUNCTION: BOOL CreateDirectoryW ( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttribytes )
ALIAS: CreateDirectory CreateDirectoryW
! FUNCTION: CreateEventA
! FUNCTION: CreateEventW
! FUNCTION: CreateFiber
! FUNCTION: CreateFiberEx
FUNCTION: HANDLE CreateFileW ( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttribures, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile )
ALIAS: CreateFile CreateFileW
FUNCTION: HANDLE CreateFileMappingW ( HANDLE hFile,
LPSECURITY_ATTRIBUTES lpAttributes,
DWORD flProtect,
DWORD dwMaximumSizeHigh,
DWORD dwMaximumSizeLow,
LPCTSTR lpName )
ALIAS: CreateFileMapping CreateFileMappingW
! FUNCTION: CreateHardLinkA
! FUNCTION: CreateHardLinkW
! FUNCTION: HANDLE CreateIoCompletionPort ( HANDLE hFileHandle, HANDLE hExistingCompletionPort, ULONG_PTR uCompletionKey, DWORD dwNumberofConcurrentThreads ) ;
FUNCTION: HANDLE CreateIoCompletionPort ( HANDLE hFileHandle, HANDLE hExistingCompletionPort, void* uCompletionKey, DWORD dwNumberofConcurrentThreads )
! FUNCTION: CreateJobObjectA
! FUNCTION: CreateJobObjectW
! FUNCTION: CreateJobSet
! FUNCTION: CreateMailslotA
! FUNCTION: CreateMailslotW
! FUNCTION: CreateMemoryResourceNotification
! FUNCTION: CreateMutexA
! FUNCTION: CreateMutexW
! FUNCTION: CreateNamedPipeA
FUNCTION: HANDLE CreateNamedPipeW ( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes )
ALIAS: CreateNamedPipe CreateNamedPipeW
! FUNCTION: CreateNlsSecurityDescriptor
FUNCTION: BOOL CreatePipe ( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize )
CONSTANT: DEBUG_PROCESS 0x00000001
CONSTANT: DEBUG_ONLY_THIS_PROCESS 0x00000002
CONSTANT: CREATE_SUSPENDED 0x00000004
CONSTANT: DETACHED_PROCESS 0x00000008
CONSTANT: CREATE_NEW_CONSOLE 0x00000010
CONSTANT: NORMAL_PRIORITY_CLASS 0x00000020
CONSTANT: IDLE_PRIORITY_CLASS 0x00000040
CONSTANT: HIGH_PRIORITY_CLASS 0x00000080
CONSTANT: REALTIME_PRIORITY_CLASS 0x00000100
CONSTANT: CREATE_NEW_PROCESS_GROUP 0x00000200
CONSTANT: CREATE_UNICODE_ENVIRONMENT 0x00000400
CONSTANT: CREATE_SEPARATE_WOW_VDM 0x00000800
CONSTANT: CREATE_SHARED_WOW_VDM 0x00001000
CONSTANT: CREATE_FORCEDOS 0x00002000
CONSTANT: BELOW_NORMAL_PRIORITY_CLASS 0x00004000
CONSTANT: ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
CONSTANT: CREATE_BREAKAWAY_FROM_JOB 0x01000000
CONSTANT: CREATE_WITH_USERPROFILE 0x02000000
CONSTANT: CREATE_DEFAULT_ERROR_MODE 0x04000000
CONSTANT: CREATE_NO_WINDOW 0x08000000
CONSTANT: PROFILE_USER 0x10000000
CONSTANT: PROFILE_KERNEL 0x20000000
CONSTANT: PROFILE_SERVER 0x40000000