-
Notifications
You must be signed in to change notification settings - Fork 5
/
tchar.inc
1839 lines (1605 loc) · 39.7 KB
/
tchar.inc
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
ifndef _INC_TCHAR
define _INC_TCHAR
.pragma list(push, 0)
ifndef __LIBC_INC
include libc.inc
endif
_ftcscat equ <_tcscat>
_ftcschr equ <_tcschr>
_ftcscpy equ <_tcscpy>
_ftcscspn equ <_tcscspn>
_ftcslen equ <_tcslen>
_ftcsncat equ <_tcsncat>
_ftcsncpy equ <_tcsncpy>
_ftcspbrk equ <_tcspbrk>
_ftcsrchr equ <_tcsrchr>
_ftcsspn equ <_tcsspn>
_ftcsstr equ <_tcsstr>
_ftcstok equ <_tcstok>
_ftcsdup equ <_tcsdup>
_ftcsnset equ <_tcsnset>
_ftcsrev equ <_tcsrev>
_ftcsset equ <_tcsset>
_ftcscmp equ <_tcscmp>
_ftcsicmp equ <_tcsicmp>
_ftcsnccmp equ <_tcsnccmp>
_ftcsncmp equ <_tcsncmp>
_ftcsncicmp equ <_tcsncicmp>
_ftcsnicmp equ <_tcsnicmp>
_ftcscoll equ <_tcscoll>
_ftcsicoll equ <_tcsicoll>
_ftcsnccoll equ <_tcsnccoll>
_ftcsncoll equ <_tcsncoll>
_ftcsncicoll equ <_tcsncicoll>
_ftcsnicoll equ <_tcsnicoll>
_ftcsclen equ <_tcsclen>
_ftcsnccat equ <_tcsnccat>
_ftcsnccpy equ <_tcsnccpy>
_ftcsncset equ <_tcsncset>
_ftcsdec equ <_tcsdec>
_ftcsinc equ <_tcsinc>
_ftcsnbcnt equ <_tcsnbcnt>
_ftcsnccnt equ <_tcsnccnt>
_ftcsnextc equ <_tcsnextc>
_ftcsninc equ <_tcsninc>
_ftcsspnp equ <_tcsspnp>
_ftcslwr equ <_tcslwr>
_ftcsupr equ <_tcsupr>
_ftclen equ <_tclen>
_ftccpy equ <_tccpy>
_ftccmp equ <_tccmp>
ifdef _UNICODE
include wchar.inc
ifndef _WCTYPE_T_DEFINED
define _WCTYPE_T_DEFINED
wint_t typedef wchar_t
wctype_t typedef wchar_t
endif
ifndef __TCHAR_DEFINED
define __TCHAR_DEFINED
_TCHAR typedef wchar_t
_TSCHAR typedef wchar_t
_TUCHAR typedef wchar_t
_TXCHAR typedef wchar_t
_TINT typedef wint_t
endif
ifndef _TCHAR_DEFINED
define _TCHAR_DEFINED
if NOT __STDC__
TCHAR typedef wchar_t
endif
endif
define _tal <ax>
define _tbl <bx>
define _tcl <cx>
define _tdl <dx>
define _tlodsb <lodsw>
define _tstosb <stosw>
define _tscasb <scasw>
define _tmovsb <movsw>
define _tcsistr <_wstristr>
define _tcsxchg <_wstrxchg>
define _tcsmove <_wstrmove>
define _tcsfn <_wstrfn>
define _tcsshr <_wstrshr>
define _tcsext <_wstrext>
define _tcsfcat <_wstrfcat>
define _tcsfxcat <_wstrfxcat>
define _tcstrim <_wstrtrim>
define _tcsstart <_wstrstart>
define _tcstrunc <_wstrtrunc>
define _tcswild <_wstrwild>
define _tcsesc <_wstresc>
define _tcsdos <_wstrdos>
define _tcsunix <_wstrunix>
define _tosopen <_wosopen>
define _tgetfattr <_wgetfattr>
define _tsetfattr <_wsetfattr>
define _tfilexist <_wfilexist>
define _TEOF WEOF
_tmain equ <wmain>
_tWinMain equ <wWinMain>
_tenviron equ <_wenviron>
__targv equ <__wargv>
_tgetmainargs equ <__wgetmainargs>
_tmainCRTStartup equ <wmainCRTStartup>
_tWinMainCRTStartup equ <wWinMainCRTStartup>
;; Formatted i/o
_tprintf equ <wprintf>
_tprintf_l equ <_wprintf_l>
_tprintf_s equ <wprintf_s>
_tprintf_s_l equ <_wprintf_s_l>
_tprintf_p equ <_wprintf_p>
_tprintf_p_l equ <_wprintf_p_l>
_tcprintf equ <_cwprintf>
_tcprintf_l equ <_cwprintf_l>
_tcprintf_s equ <_cwprintf_s>
_tcprintf_s_l equ <_cwprintf_s_l>
_tcprintf_p equ <_cwprintf_p>
_tcprintf_p_l equ <_cwprintf_p_l>
_vtcprintf equ <_vcwprintf>
_vtcprintf_l equ <_vcwprintf_l>
_vtcprintf_s equ <_vcwprintf_s>
_vtcprintf_s_l equ <_vcwprintf_s_l>
_vtcprintf_p equ <_vcwprintf_p>
_vtcprintf_p_l equ <_vcwprintf_p_l>
_ftprintf equ <fwprintf>
_ftprintf_l equ <_fwprintf_l>
_ftprintf_s equ <fwprintf_s>
_ftprintf_s_l equ <_fwprintf_s_l>
_ftprintf_p equ <_fwprintf_p>
_ftprintf_p_l equ <_fwprintf_p_l>
_stprintf equ <_swprintf>
_stprintf_l equ <__swprintf_l>
_stprintf_s equ <swprintf_s>
_stprintf_s_l equ <_swprintf_s_l>
_stprintf_p equ <_swprintf_p>
_stprintf_p_l equ <_swprintf_p_l>
_sctprintf equ <_scwprintf>
_sctprintf_l equ <_scwprintf_l>
_sctprintf_p equ <_scwprintf_p>
_sctprintf_p_l equ <_scwprintf_p_l>
_sntprintf equ <_snwprintf>
_sntprintf_l equ <_snwprintf_l>
_sntprintf_s equ <_snwprintf_s>
_sntprintf_s_l equ <_snwprintf_s_l>
_vtprintf equ <vwprintf>
_vtprintf_l equ <_vwprintf_l>
_vtprintf_s equ <vwprintf_s>
_vtprintf_s_l equ <_vwprintf_s_l>
_vtprintf_p equ <_vwprintf_p>
_vtprintf_p_l equ <_vwprintf_p_l>
_vftprintf equ <vfwprintf>
_vftprintf_l equ <_vfwprintf_l>
_vftprintf_s equ <vfwprintf_s>
_vftprintf_s_l equ <_vfwprintf_s_l>
_vftprintf_p equ <_vfwprintf_p>
_vftprintf_p_l equ <_vfwprintf_p_l>
_vstprintf equ <vswprintf>
_vstprintf_l equ <_vswprintf_l>
_vstprintf_s equ <vswprintf_s>
_vstprintf_s_l equ <_vswprintf_s_l>
_vstprintf_p equ <_vswprintf_p>
_vstprintf_p_l equ <_vswprintf_p_l>
_vsctprintf equ <_vscwprintf>
_vsctprintf_l equ <_vscwprintf_l>
_vsctprintf_p equ <_vscwprintf_p>
_vsctprintf_p_l equ <_vscwprintf_p_l>
_vsntprintf equ <_vsnwprintf>
_vsntprintf_l equ <_vsnwprintf_l>
_vsntprintf_s equ <_vsnwprintf_s>
_vsntprintf_s_l equ <_vsnwprintf_s_l>
_tscanf equ <wscanf>
_tscanf_l equ <_wscanf_l>
_tscanf_s equ <wscanf_s>
_tscanf_s_l equ <_wscanf_s_l>
_tcscanf equ <_cwscanf>
_tcscanf_l equ <_cwscanf_l>
_tcscanf_s equ <_cwscanf_s>
_tcscanf_s_l equ <_cwscanf_s_l>
_ftscanf equ <fwscanf>
_ftscanf_l equ <_fwscanf_l>
_ftscanf_s equ <fwscanf_s>
_ftscanf_s_l equ <_fwscanf_s_l>
_stscanf equ <swscanf>
_stscanf_l equ <_swscanf_l>
_stscanf_s equ <swscanf_s>
_stscanf_s_l equ <_swscanf_s_l>
_sntscanf equ <_snwscanf>
_sntscanf_l equ <_snwscanf_l>
_sntscanf_s equ <_snwscanf_s>
_sntscanf_s_l equ <_snwscanf_s_l>
_vtscanf equ <vwscanf>
_vtscanf_s equ <vwscanf_s>
_vftscanf equ <vfwscanf>
_vftscanf_s equ <vfwscanf_s>
_vstscanf equ <vswscanf>
_vstscanf_s equ <vswscanf_s>
_tprintf equ <wprintf>
_ftprintf equ <fwprintf>
_stprintf equ <swprintf>
_sntprintf equ <_snwprintf>
_vtprintf equ <vwprintf>
_vftprintf equ <vfwprintf>
_vstprintf equ <vswprintf>
_vsntprintf equ <_vsnwprintf>
_tscanf equ <wscanf>
_ftscanf equ <fwscanf>
_stscanf equ <swscanf>
;; Unformatted i/o
_fgettc equ <fgetwc>
_fgettc_nolock equ <_fgetwc_nolock>
_fgettchar equ <_fgetwchar>
_fgetts equ <fgetws>
_fputtc equ <fputwc>
_fputtc_nolock equ <_fputwc_nolock>
_fputtchar equ <_fputwchar>
_fputts equ <fputws>
_cputts equ <_cputws>
_cgetts equ <_cgetws>
_cgetts_s equ <_cgetws_s>
_gettc equ <getwc>
_gettc_nolock equ <_getwc_nolock>
_gettch equ <_getwch>
_gettch_nolock equ <_getwch_nolock>
_gettche equ <_getwche>
_gettche_nolock equ <_getwche_nolock>
_gettchar equ <getwchar>
_gettchar_nolock equ <_getwchar_nolock>
_getts equ <_getws>
_getts_s equ <_getws_s>
_puttc equ <putwc>
_puttc_nolock equ <_putwc_nolock>
_puttchar equ <putwchar>
_puttchar_nolock equ <_putwchar_nolock>
_puttch equ <_putwch>
_puttch_nolock equ <_putwch_nolock>
_putts equ <_putws>
_ungettc equ <ungetwc>
_ungettc_nolock equ <_ungetwc_nolock>
_ungettch equ <_ungetwch>
_ungettch_nolock equ <_ungetwch_nolock>
;; String conversion functions
_tcstod equ <wcstod>
_tcstof equ <wcstof>
_tcstol equ <wcstol>
_tcstold equ <wcstold>
_tcstoll equ <wcstoll>
_tcstoul equ <wcstoul>
_tcstoull equ <wcstoull>
_tcstoimax equ <wcstoimax>
_tcstoumax equ <wcstoumax>
_tcstoi64 equ <_wcstoi64>
_tcstoui64 equ <_wcstoui64>
_ttof equ <_wtof>
_tstof equ <_wtof>
_tstol equ <_wtol>
_tstoll equ <_wtoll>
_tstoi equ <_wtoi>
_tstoi64 equ <_wtoi64>
_tcstod_l equ <_wcstod_l>
_tcstof_l equ <_wcstof_l>
_tcstol_l equ <_wcstol_l>
_tcstold_l equ <_wcstold_l>
_tcstoll_l equ <_wcstoll_l>
_tcstoul_l equ <_wcstoul_l>
_tcstoull_l equ <_wcstoull_l>
_tcstoi64_l equ <_wcstoi64_l>
_tcstoui64_l equ <_wcstoui64_l>
_tcstoimax_l equ <_wcstoimax_l>
_tcstoumax_l equ <_wcstoumax_l>
_tstof_l equ <_wtof_l>
_tstol_l equ <_wtol_l>
_tstoll_l equ <_wtoll_l>
_tstoi_l equ <_wtoi_l>
_tstoi64_l equ <_wtoi64_l>
_itot_s equ <_itow_s>
_ltot_s equ <_ltow_s>
_ultot_s equ <_ultow_s>
_itot equ <_itow>
_ltot equ <_ltow>
_ultot equ <_ultow>
_ttoi equ <_wtoi>
_ttol equ <_wtol>
_ttoi64 equ <_wtoi64>
_i64tot_s equ <_i64tow_s>
_ui64tot_s equ <_ui64tow_s>
_i64tot equ <_i64tow>
_ui64tot equ <_ui64tow>
;; String functions
_tcscat equ <wcscat>
_tcscat_s equ <wcscat_s>
_tcschr equ <wcschr>
_tcscpy equ <wcscpy>
_tcscpy_s equ <wcscpy_s>
_tcscspn equ <wcscspn>
_tcslen equ <wcslen>
_tcsncat equ <wcsncat>
_tcsncat_s equ <wcsncat_s>
_tcsncat_l equ <_wcsncat_l>
_tcsncat_s_l equ <_wcsncat_s_l>
_tcsncpy equ <wcsncpy>
_tcsncpy_s equ <wcsncpy_s>
_tcspbrk equ <wcspbrk>
_tcsrchr equ <wcsrchr>
_tcsspn equ <wcsspn>
_tcsstr equ <wcsstr>
_tcstok equ <wcstok>
_tcstok_s equ <wcstok_s>
_tcstok_l equ <_wcstok_l>
_tcstok_s_l equ <_wcstok_s_l>
_tcserror equ <_wcserror>
_tcserror_s equ <_wcserror_s>
__tcserror equ <__wcserror>
__tcserror_s equ <__wcserror_s>
_tcsdup equ <_wcsdup>
_tcsnset equ <_wcsnset>
_tcsrev equ <_wcsrev>
_tcsset equ <_wcsset>
_tcsdup equ <_wcsdup>
_tcsnset equ <_wcsnset>
_tcsnset_s equ <_wcsnset_s>
_tcsnset_l equ <_wcsnset_l>
_tcsnset_s_l equ <_wcsnset_s_l>
_tcsrev equ <_wcsrev>
_tcsset equ <_wcsset>
_tcsset_s equ <_wcsset_s>
_tcsset_l equ <_wcsset_l>
_tcsset_s_l equ <_wcsset_s_l>
_tcscmp equ <wcscmp>
_tcsicmp equ <_wcsicmp>
_tcsicmp_l equ <_wcsicmp_l>
_tcsnccmp equ <wcsncmp>
_tcsncmp equ <wcsncmp>
_tcsncicmp equ <_wcsnicmp>
_tcsncicmp_l equ <_wcsnicmp_l>
_tcsnicmp equ <_wcsnicmp>
_tcsnicmp_l equ <_wcsnicmp_l>
_tcscoll equ <wcscoll>
_tcscoll_l equ <_wcscoll_l>
_tcsicoll equ <_wcsicoll>
_tcsicoll_l equ <_wcsicoll_l>
_tcsnccoll equ <_wcsncoll>
_tcsnccoll_l equ <_wcsncoll_l>
_tcsncoll equ <_wcsncoll>
_tcsncoll_l equ <_wcsncoll_l>
_tcsncicoll equ <_wcsnicoll>
_tcsncicoll_l equ <_wcsnicoll_l>
_tcsnicoll equ <_wcsnicoll>
_tcsnicoll_l equ <_wcsnicoll_l>
ifdef _DEBUG
_tcsdup_dbg equ <_wcsdup_dbg>
endif
;; Execute functions
_texecl equ <_wexecl>
_texecle equ <_wexecle>
_texeclp equ <_wexeclp>
_texeclpe equ <_wexeclpe>
_texecv equ <_wexecv>
_texecve equ <_wexecve>
_texecvp equ <_wexecvp>
_texecvpe equ <_wexecvpe>
_tspawnl equ <_wspawnl>
_tspawnle equ <_wspawnle>
_tspawnlp equ <_wspawnlp>
_tspawnlpe equ <_wspawnlpe>
_tspawnv equ <_wspawnv>
_tspawnve equ <_wspawnve>
_tspawnvp equ <_wspawnvp>
_tspawnvp equ <_wspawnvp>
_tspawnvpe equ <_wspawnvpe>
_tsystem equ <_wsystem>
;; Time functions
_tasctime equ <_wasctime>
_tctime equ <_wctime>
_tctime32 equ <_wctime32>
_tctime64 equ <_wctime64>
_tstrdate equ <_wstrdate>
_tstrtime equ <_wstrtime>
_tutime equ <_wutime>
_tutime32 equ <_wutime32>
_tutime64 equ <_wutime64>
_tcsftime equ <wcsftime>
_tcsftime_l equ <_wcsftime_l>
_tasctime_s equ <_wasctime_s>
_tctime_s equ <_wctime_s>
_tctime32_s equ <_wctime32_s>
_tctime64_s equ <_wctime64_s>
_tstrdate_s equ <_wstrdate_s>
_tstrtime_s equ <_wstrtime_s>
;; Directory functions
_tchdir equ <_wchdir>
_tgetcwd equ <_wgetcwd>
_tgetdcwd equ <_wgetdcwd>
_tgetdcwd_nolock equ <_wgetdcwd_nolock>
_tmkdir equ <_wmkdir>
_trmdir equ <_wrmdir>
ifdef _DEBUG
_tgetcwd_dbg equ <_wgetcwd_dbg>
_tgetdcwd_dbg equ <_wgetdcwd_dbg>
_tgetdcwd_lk_dbg equ <_wgetdcwd_lk_dbg>
endif
;; Environment/Path functions
_tfullpath equ <_wfullpath>
_tgetenv equ <_wgetenv>
_tgetenv_s equ <_wgetenv_s>
_tdupenv_s equ <_wdupenv_s>
_tmakepath equ <_wmakepath>
_tmakepath_s equ <_wmakepath_s>
_tpgmptr equ <_wpgmptr>
_get_tpgmptr equ <_get_wpgmptr>
_tputenv equ <_wputenv>
_tputenv_s equ <_wputenv_s>
_tsearchenv equ <_wsearchenv>
_tsearchenv_s equ <_wsearchenv_s>
_tsplitpath equ <_wsplitpath>
_tsplitpath_s equ <_wsplitpath_s>
ifdef _DEBUG
_tfullpath_dbg equ <_wfullpath_dbg>
_tdupenv_s_dbg equ <_wdupenv_s_dbg>
endif
;; Stdio functions
_tfdopen equ <_wfdopen>
_tfsopen equ <_wfsopen>
_tfopen equ <_wfopen>
_tfopen_s equ <_wfopen_s>
_tfreopen equ <_wfreopen>
_tfreopen_s equ <_wfreopen_s>
_tperror equ <_wperror>
_tpopen equ <_wpopen>
_ttempnam equ <_wtempnam>
_ttmpnam equ <_wtmpnam>
_ttmpnam_s equ <_wtmpnam_s>
ifdef _DEBUG
_ttempnam_dbg equ <_wtempnam_dbg>
endif
;; Io functions
_taccess equ <_waccess>
_taccess_s equ <_waccess_s>
_tchmod equ <_wchmod>
_tcreat equ <_wcreat>
_tfindfirst equ <_wfindfirst>
_tfindfirst32 equ <_wfindfirst32>
_tfindfirst64 equ <_wfindfirst64>
_tfindfirsti64 equ <_wfindfirsti64>
_tfindfirst32i64 equ <_wfindfirst32i64>
_tfindfirst64i32 equ <_wfindfirst64i32>
_tfindnext equ <_wfindnext>
_tfindnext32 equ <_wfindnext32>
_tfindnext64 equ <_wfindnext64>
_tfindnexti64 equ <_wfindnexti64>
_tfindnext32i64 equ <_wfindnext32i64>
_tfindnext64i32 equ <_wfindnext64i32>
_tmktemp equ <_wmktemp>
_tmktemp_s equ <_wmktemp_s>
_topen equ <_wopen>
_tremove equ <_wremove>
_trename equ <_wrename>
_tsopen equ <_wsopen>
_tsopen_s equ <_wsopen_s>
_tunlink equ <_wunlink>
_tfinddata_t equ <_wfinddata_t>
_tfinddata32_t equ <_wfinddata32_t>
_tfinddata64_t equ <_wfinddata64_t>
_tfinddatai64_t equ <_wfinddatai64_t>
_tfinddata32i64_t equ <_wfinddata32i64_t>
_tfinddata64i32_t equ <_wfinddata64i32_t>
;; Stat functions
_tstat equ <_wstat>
_tstat32 equ <_wstat32>
_tstat32i64 equ <_wstat32i64>
_tstat64 equ <_wstat64>
_tstat64i32 equ <_wstat64i32>
_tstati64 equ <_wstati64>
;; Setlocale functions
_tsetlocale equ <_wsetlocale>
;; Redundant "logical-character" mappings
_tcsclen equ <wcslen>
_tcscnlen equ <wcsnlen>
_tcsclen_l macro _String, _Locale
exitm<wcslen(_String)>
endm
_tcscnlen_l macro _String, _Max_count, _Locale
exitm<wcsnlen((_String), (_Max_count))>
endm
_tcsnccat equ <wcsncat>
_tcsnccat_s equ <wcsncat_s>
_tcsnccat_l equ <_wcsncat_l>
_tcsnccat_s_l equ <_wcsncat_s_l>
_tcsnccpy equ <wcsncpy>
_tcsnccpy_s equ <wcsncpy_s>
_tcsnccpy_l equ <_wcsncpy_l>
_tcsnccpy_s_l equ <_wcsncpy_s_l>
_tcsncset equ <_wcsnset>
_tcsncset_s equ <_wcsnset_s>
_tcsncset_l equ <_wcsnset_l>
_tcsncset_s_l equ <_wcsnset_s_l>
_tcsdec equ <_wcsdec>
_tcsinc equ <_wcsinc>
_tcsnbcnt equ <_wcsncnt>
_tcsnccnt equ <_wcsncnt>
_tcsnextc equ <_wcsnextc>
_tcsninc equ <_wcsninc>
_tcsspnp equ <_wcsspnp>
_tcslwr equ <_wcslwr>
_tcslwr_l equ <_wcslwr_l>
_tcslwr_s equ <_wcslwr_s>
_tcslwr_s_l equ <_wcslwr_s_l>
_tcsupr equ <_wcsupr>
_tcsupr_l equ <_wcsupr_l>
_tcsupr_s equ <_wcsupr_s>
_tcsupr_s_l equ <_wcsupr_s_l>
_tcsxfrm equ <wcsxfrm>
_tcsxfrm_l equ <_wcsxfrm_l>
if (__STDC__ OR defined(_NO_INLINING)) AND NOT defined(_M_M68K)
_tclen macro _pc
exitm<1>
endm
_tccpy macro _pc1,_cpc2
movzx ax,[_cpc2]
mov [_pc1],ax
exitm<eax>
endm
_tccmp macro _cpc1,_cpc2
mov ax,[_cpc1]
sub ax,[_cpc2]
movsx eax,ax
exitm<eax>
endm
else
_tclen proto WINAPI :ptr WORD
_tccpy proto WINAPI :ptr WORD, :ptr WORD
_tccmp proto WINAPI :ptr WORD, :ptr WORD
endif
;; ctype functions
_istalnum equ <iswalnum>
_istalnum_l equ <_iswalnum_l>
_istalpha equ <iswalpha>
_istalpha_l equ <_iswalpha_l>
_istascii equ <iswascii>
_istcntrl equ <iswcntrl>
_istcntrl_l equ <_iswcntrl_l>
_istdigit equ <iswdigit>
_istdigit_l equ <_iswdigit_l>
_istgraph equ <iswgraph>
_istgraph_l equ <_iswgraph_l>
_istlower equ <iswlower>
_istlower_l equ <_iswlower_l>
_istprint equ <iswprint>
_istprint_l equ <_iswprint_l>
_istpunct equ <iswpunct>
_istpunct_l equ <_iswpunct_l>
_istblank equ <iswblank>
_istblank_l equ <_iswblank_l>
_istspace equ <iswspace>
_istspace_l equ <_iswspace_l>
_istupper equ <iswupper>
_istupper_l equ <_iswupper_l>
_istxdigit equ <iswxdigit>
_istxdigit_l equ <_iswxdigit_l>
_istcsym equ <__iswcsym>
_istcsymf equ <__iswcsymf>
_ttoupper equ <_towupper>
_ttolower equ <_towlower>
_totupper equ <towupper>
_totupper_l equ <_towupper_l>
_totlower equ <towlower>
_totlower_l equ <_towlower_l>
_totascii equ <towascii>
_istlegal macro _c
exitm<1>
endm
_istlead macro _c
exitm<0>
endm
_istleadbyte macro _c
exitm<0>
endm
_istleadbyte_l macro _c, _L
exitm<0>
endm
if (__STDC__ OR defined(_NO_INLINING)) AND NOT defined(_M_M68K)
_wcsdec macro _cpc1,_cpc2
mov rax,_cpc1
.if rax >= _cpc2
xor rax,rax
.else
lea rax,[rdx-2]
.endif
exitm<rax>
endm
_wcsinc macro _pc
mov rax,_pc
add rax,2
exitm<rax>
endm
_wcsnextc macro _cpc
mov rax,_cpc
movzx eax,word ptr [rax]
exitm<eax>
endm
_wcsninc macro _pc,_sz
mov rax,_pc
add rax,_sz
add rax,_sz
exitm<rax>
endm
_wcsncnt macro _cpc,_sz
.if wcslen(_cpc) > _sz
mov rax,_sz
.endif
exitm<rax>
endm
_wcsspnp macro _cpc1,_cpc2
wcsspn(_cpc1,_cpc2)
add rax,_cpc1
.if word ptr [rax] == 0
xor rax,rax
.endif
exitm<rax>
endm
else
_wcsdec proto :ptr wchar_t, :ptr wchar_t
_wcsinc proto :ptr wchar_t
_wcsnextc proto :ptr wchar_t
_wcsninc proto :ptr wchar_t, :size_t
_wcsncnt proto :ptr wchar_t, :size_t
_wcsspnp proto :ptr wchar_t, :ptr wchar_t
endif
else
include string.inc
define _tal <al>
define _tbl <bl>
define _tcl <cl>
define _tdl <dl>
define _tlodsb <lodsb>
define _tstosb <stosb>
define _tscasb <scasb>
define _tmovsb <movsb>
define _tcsistr <stristr>
define _tcsxchg <strxchg>
define _tcsmove <strmove>
define _tcsfn <strfn>
define _tcsshr <strshr>
define _tcsext <strext>
define _tcsfcat <strfcat>
define _tcsfxcat <strfxcat>
define _tcstrim <strtrim>
define _tcsstart <strstart>
define _tcstrunc <strtrunc>
define _tcswild <strwild>
define _tcsesc <stresc>
define _tcsdos <strdos>
define _tcsunix <strunix>
define _tosopen <osopen>
define _tgetfattr <getfattr>
define _tsetfattr <setfattr>
define _tfilexist <filexist>
define _TEOF EOF
_tmain equ <main>
_tWinMain equ <WinMain>
ifdef _POSIX_
_tenviron equ <environ>
else
_tenviron equ <_environ>
endif
__targv equ <__argv>
_tgetmainargs equ <__getmainargs>
_tmainCRTStartup equ <mainCRTStartup>
_tWinMainCRTStartup equ <WinMainCRTStartup>
;; Formatted i/o
_tprintf equ <printf>
_tprintf_l equ <_printf_l>
_tprintf_s equ <printf_s>
_tprintf_s_l equ <_printf_s_l>
_tprintf_p equ <_printf_p>
_tprintf_p_l equ <_printf_p_l>
_tcprintf equ <_cprintf>
_tcprintf_l equ <_cprintf_l>
_tcprintf_s equ <_cprintf_s>
_tcprintf_s_l equ <_cprintf_s_l>
_tcprintf_p equ <_cprintf_p>
_tcprintf_p_l equ <_cprintf_p_l>
_vtcprintf equ <_vcprintf>
_vtcprintf_l equ <_vcprintf_l>
_vtcprintf_s equ <_vcprintf_s>
_vtcprintf_s_l equ <_vcprintf_s_l>
_vtcprintf_p equ <_vcprintf_p>
_vtcprintf_p_l equ <_vcprintf_p_l>
_ftprintf equ <fprintf>
_ftprintf_l equ <_fprintf_l>
_ftprintf_s equ <fprintf_s>
_ftprintf_s_l equ <_fprintf_s_l>
_ftprintf_p equ <_fprintf_p>
_ftprintf_p_l equ <_fprintf_p_l>
_stprintf equ <sprintf>
_stprintf_l equ <_sprintf_l>
_stprintf_s equ <sprintf_s>
_stprintf_s_l equ <_sprintf_s_l>
_stprintf_p equ <_sprintf_p>
_stprintf_p_l equ <_sprintf_p_l>
_sctprintf equ <scprintf> ; _*
_sctprintf_l equ <_scprintf_l>
_sctprintf_p equ <_scprintf_p>
_sctprintf_p_l equ <_scprintf_p_l>
_sntprintf equ <snprintf> ; _*
_sntprintf_l equ <_snprintf_l>
_sntprintf_s equ <_snprintf_s>
_sntprintf_s_l equ <_snprintf_s_l>
_vtprintf equ <vprintf>
_vtprintf_l equ <_vprintf_l>
_vtprintf_s equ <vprintf_s>
_vtprintf_s_l equ <_vprintf_s_l>
_vtprintf_p equ <_vprintf_p>
_vtprintf_p_l equ <_vprintf_p_l>
_vftprintf equ <vfprintf>
_vftprintf_l equ <_vfprintf_l>
_vftprintf_s equ <vfprintf_s>
_vftprintf_s_l equ <_vfprintf_s_l>
_vftprintf_p equ <_vfprintf_p>
_vftprintf_p_l equ <_vfprintf_p_l>
_vstprintf equ <vsprintf>
_vstprintf_l equ <_vsprintf_l>
_vstprintf_s equ <vsprintf_s>
_vstprintf_s_l equ <_vsprintf_s_l>
_vstprintf_p equ <_vsprintf_p>
_vstprintf_p_l equ <_vsprintf_p_l>
_vsctprintf equ <vscprintf> ; _*
_vsctprintf_l equ <_vscprintf_l>
_vsctprintf_p equ <_vscprintf_p>
_vsctprintf_p_l equ <_vscprintf_p_l>
_vsntprintf equ <vsnprintf> ; _*
_vsntprintf_l equ <_vsnprintf_l>
_vsntprintf_s equ <_vsnprintf_s>
_vsntprintf_s_l equ <_vsnprintf_s_l>
_tscanf equ <scanf>
_tscanf_l equ <_scanf_l>
_tscanf_s equ <scanf_s>
_tscanf_s_l equ <_scanf_s_l>
_tcscanf equ <_cscanf>
_tcscanf_l equ <_cscanf_l>
_tcscanf_s equ <_cscanf_s>
_tcscanf_s_l equ <_cscanf_s_l>
_ftscanf equ <fscanf>
_ftscanf_l equ <_fscanf_l>
_ftscanf_s equ <fscanf_s>
_ftscanf_s_l equ <_fscanf_s_l>
_stscanf equ <sscanf>
_stscanf_l equ <_sscanf_l>
_stscanf_s equ <sscanf_s>
_stscanf_s_l equ <_sscanf_s_l>
_sntscanf equ <_snscanf>
_sntscanf_l equ <_snscanf_l>
_sntscanf_s equ <_snscanf_s>
_sntscanf_s_l equ <_snscanf_s_l>
_vtscanf equ <vscanf>
_vtscanf_s equ <vscanf_s>
_vftscanf equ <vfscanf>
_vftscanf_s equ <vfscanf_s>
_vstscanf equ <vsscanf>
_vstscanf_s equ <vsscanf_s>
;; Unformatted i/o
_fgettc equ <fgetc>
_fgettc_nolock equ <_fgetc_nolock>
_fgettchar equ <_fgetchar>
_fgetts equ <fgets>
_fputtc equ <fputc>
_fputtc_nolock equ <_fputc_nolock>
_fputtchar equ <_fputchar>
_fputts equ <fputs>
_cputts equ <_cputs>
_gettc equ <getc>
_gettc_nolock equ <_getc_nolock>
_gettch equ <_getch>
_gettch_nolock equ <_getch_nolock>
_gettche equ <_getche>
_gettche_nolock equ <_getche_nolock>
_gettchar equ <getchar>
_gettchar_nolock equ <_getchar_nolock>
_getts equ <gets>
_getts_s equ <gets_s>
_cgetts equ <_cgets>
_cgetts_s equ <_cgets_s>
_puttc equ <putc>
_puttc_nolock equ <_putc_nolock>
_puttchar equ <putchar>
_puttchar_nolock equ <_putchar_nolock>
_puttch equ <_putch>
_puttch_nolock equ <_putch_nolock>
_putts equ <puts>
_ungettc equ <ungetc>
_ungettc_nolock equ <_ungetc_nolock>
_ungettch equ <_ungetch>
_ungettch_nolock equ <_ungetch_nolock>
;; String conversion functions
_tcstod equ <strtod>
_tcstof equ <strtof>
_tcstol equ <strtol>
_tcstold equ <strtold>
_tcstoll equ <strtoll>
_tcstoul equ <strtoul>
_tcstoull equ <strtoull>
_tcstoimax equ <strtoimax>
_tcstoumax equ <strtoumax>
_ttof equ <atof>
_tstof equ <atof>
_tstol equ <atol>
_tstoll equ <atoll>
_tstoi equ <atoi>
_tstoi64 equ <_atoi64>
_tcstod_l equ <_strtod_l>
_tcstof_l equ <_strtof_l>
_tcstol_l equ <_strtol_l>
_tcstold_l equ <_strtold_l>
_tcstoll_l equ <_strtoll_l>
_tcstoul_l equ <_strtoul_l>
_tcstoull_l equ <_strtoull_l>
_tcstoimax_l equ <_strtoimax_l>
_tcstoumax_l equ <_strtoumax_l>
_tstof_l equ <_atof_l>
_tstol_l equ <_atol_l>
_tstoll_l equ <_atoll_l>
_tstoi_l equ <_atoi_l>
_tstoi64_l equ <_atoi64_l>
_itot_s equ <_itoa_s>
_ltot_s equ <_ltoa_s>
_ultot_s equ <_ultoa_s>
_itot equ <_itoa>
_ltot equ <_ltoa>
_ultot equ <_ultoa>
_ttoi equ <atoi>
_ttol equ <atol>
_ttoll equ <atoll>
_ttoi64 equ <_atoi64>
_tcstoi64 equ <_strtoi64>
_tcstoi64_l equ <_strtoi64_l>
_tcstoui64 equ <_strtoui64>
_tcstoui64_l equ <_strtoui64_l>
_i64tot_s equ <_i64toa_s>
_ui64tot_s equ <_ui64toa_s>
_i64tot equ <_i64toa>
_ui64tot equ <_ui64toa>
;; String functions
;; Note that _mbscat, _mbscpy and _mbsdup are functionally equivalent to
;; strcat, strcpy and strdup, respectively.
_tcscat equ <strcat>
_tcscat_s equ <strcat_s>
_tcscpy equ <strcpy>
_tcscpy_s equ <strcpy_s>
_tcsdup equ <_strdup>
_tcslen equ <strlen>
_tcsnlen equ <strnlen>
_tcsxfrm equ <strxfrm>
_tcsxfrm_l equ <_strxfrm_l>
_tcserror equ <strerror>
_tcserror_s equ <strerror_s>
__tcserror equ <_strerror>
__tcserror_s equ <_strerror_s>
ifdef _DEBUG
_tcsdup_dbg equ <_strdup_dbg>
endif
;; Execute functions
_texecl equ <_execl>
_texecle equ <_execle>
_texeclp equ <_execlp>
_texeclpe equ <_execlpe>
_texecv equ <_execv>
_texecve equ <_execve>
_texecvp equ <_execvp>
_texecvpe equ <_execvpe>
_tspawnl equ <_spawnl>
_tspawnle equ <_spawnle>
_tspawnlp equ <_spawnlp>
_tspawnlpe equ <_spawnlpe>
_tspawnv equ <_spawnv>
_tspawnve equ <_spawnve>
_tspawnvp equ <_spawnvp>
_tspawnvpe equ <_spawnvpe>
_tsystem equ <system>
;; Time functions
_tasctime equ <asctime>
_tctime equ <ctime>
_tctime32 equ <_ctime32>
_tctime64 equ <_ctime64>
_tstrdate equ <_strdate>
_tstrtime equ <_strtime>
_tutime equ <_utime>
_tutime32 equ <_utime32>
_tutime64 equ <_utime64>
_tcsftime equ <strftime>
_tcsftime_l equ <_strftime_l>
_tasctime_s equ <asctime_s>
_tctime_s equ <ctime_s>
_tctime32_s equ <_ctime32_s>