2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
15 #ifndef _NLSCMP_DEFINED
16 #define _NLSCMP_DEFINED
17 #define _NLSCMPERROR 2147483647
24 #define NULL ((void *)0)
28 #ifndef _CRT_MEMORY_DEFINED
29 #define _CRT_MEMORY_DEFINED
35 _Out_writes_bytes_opt_(_MaxCount
) void *_Dst
,
36 _In_
const void *_Src
,
38 _In_
size_t _MaxCount
);
46 _In_reads_bytes_opt_(_MaxCount
) const void *_Buf
,
48 _In_
size_t _MaxCount
);
55 _In_reads_bytes_opt_(_Size
) const void *_Buf1
,
56 _In_reads_bytes_opt_(_Size
) const void *_Buf2
,
64 _In_reads_bytes_opt_(_Size
) const void *_Buf1
,
65 _In_reads_bytes_opt_(_Size
) const void *_Buf2
,
67 _In_opt_ _locale_t _Locale
);
73 _In_reads_bytes_(_Size
) const void *_Buf1
,
74 _In_reads_bytes_(_Size
) const void *_Buf2
,
78 _At_buffer_((unsigned char*)_Dst
,
81 _Post_satisfies_(((unsigned char*)_Dst
)[_Iter_
] == ((unsigned char*)_Src
)[_Iter_
]))
82 _CRT_INSECURE_DEPRECATE_MEMORY(memcpy_s
)
86 _Out_writes_bytes_all_(_MaxCount
) void *_Dst
,
87 _In_reads_bytes_(_MaxCount
) const void *_Src
,
88 _In_
size_t _MaxCount
);
91 _At_buffer_((unsigned char*)_Dst
,
94 _Post_satisfies_(((unsigned char*)_Dst
)[_Iter_
] == _Val
))
98 _Out_writes_bytes_all_(_Size
) void *_Dst
,
105 _CRT_NONSTDC_DEPRECATE(_memccpy
)
109 _Out_writes_bytes_opt_(_Size
) void *_Dst
,
110 _In_reads_bytes_opt_(_Size
) const void *_Src
,
116 _CRT_NONSTDC_DEPRECATE(_memicmp
)
120 _In_reads_bytes_opt_(_Size
) const void *_Buf1
,
121 _In_reads_bytes_opt_(_Size
) const void *_Buf2
,
124 #endif /* NO_OLDNAMES */
126 #endif /* _CRT_MEMORY_DEFINED */
131 _Inout_z_
char *_Str
,
137 _Out_writes_z_(_String_length_(_Source
) + 1) char *_Dest
,
138 _In_z_
const char *_Source
);
143 _Inout_updates_z_(_String_length_(_Dest
) + _String_length_(_Source
) + 1) char *_Dest
,
144 _In_z_
const char *_Source
);
150 _In_z_
const char *_Str1
,
151 _In_z_
const char *_Str2
);
156 _In_z_
const char *_Str
);
158 _When_(_MaxCount
> _String_length_(_Str
),
159 _Post_satisfies_(return == _String_length_(_Str
)))
160 _When_(_MaxCount
<= _String_length_(_Str
),
161 _Post_satisfies_(return == _MaxCount
))
166 _In_reads_or_z_(_MaxCount
) const char *_Str
,
167 _In_
size_t _MaxCount
);
169 _CRT_INSECURE_DEPRECATE_MEMORY(memmove_s
)
173 _Out_writes_bytes_all_opt_(_MaxCount
) void *_Dst
,
174 _In_reads_bytes_opt_(_MaxCount
) const void *_Src
,
175 _In_
size_t _MaxCount
);
182 _In_opt_z_
const char *_Src
);
190 _In_z_
const char *_Str
,
198 _In_z_
const char *_Str1
,
199 _In_z_
const char *_Str2
);
206 _In_z_
const char *_Str1
,
207 _In_z_
const char *_Str2
);
214 _In_z_
const char *_Str1
,
215 _In_z_
const char *_Str2
,
216 _In_opt_ _locale_t _Locale
);
223 _In_z_
const char *_Str1
,
224 _In_z_
const char *_Str2
);
231 _In_z_
const char *_Str1
,
232 _In_z_
const char *_Str2
,
233 _In_opt_ _locale_t _Locale
);
240 _In_z_
const char *_Str1
,
241 _In_z_
const char *_Str2
);
248 _In_z_
const char *_Str1
,
249 _In_z_
const char *_Str2
,
250 _In_opt_ _locale_t _Locale
);
257 _In_z_
const char *_Str1
,
258 _In_z_
const char *_Str2
,
259 _In_
size_t _MaxCount
);
266 _In_z_
const char *_Str1
,
267 _In_z_
const char *_Str2
,
268 _In_
size_t _MaxCount
,
269 _In_opt_ _locale_t _Locale
);
276 _In_z_
const char *_Str1
,
277 _In_z_
const char *_Str2
,
278 _In_
size_t _MaxCount
);
285 _In_z_
const char *_Str1
,
286 _In_z_
const char *_Str2
,
287 _In_
size_t _MaxCount
,
288 _In_opt_ _locale_t _Locale
);
295 _In_z_
const char *_Str
,
296 _In_z_
const char *_Control
);
300 _CRT_INSECURE_DEPRECATE(_strerror_s
)
304 _In_opt_z_
const char *_ErrMsg
);
308 _CRT_INSECURE_DEPRECATE(strerror_s
)
318 _Inout_z_
char *_String
);
336 _In_reads_or_z_(_MaxCount
) const char *_Str1
,
337 _In_reads_or_z_(_MaxCount
) const char *_Str2
,
338 _In_
size_t _MaxCount
);
345 _In_reads_or_z_(_MaxCount
) const char *_Str1
,
346 _In_reads_or_z_(_MaxCount
) const char *_Str2
,
347 _In_
size_t _MaxCount
);
354 _In_reads_or_z_(_MaxCount
) const char *_Str1
,
355 _In_reads_or_z_(_MaxCount
) const char *_Str2
,
356 _In_
size_t _MaxCount
,
357 _In_opt_ _locale_t _Locale
);
366 _CRT_INSECURE_DEPRECATE_CORE(_strnset_s
)
380 _In_z_
const char *_Str
,
381 _In_z_
const char *_Control
);
389 _In_z_
const char *_Str
,
396 _Inout_z_
char *_Str
);
403 _In_z_
const char *_Str
,
404 _In_z_
const char *_Control
);
412 _In_z_
const char *_Str
,
413 _In_z_
const char *_SubStr
);
417 _CRT_INSECURE_DEPRECATE_CORE(strtok_s
)
421 _Inout_opt_z_
char *_Str
,
422 _In_z_
const char *_Delim
);
428 _Inout_z_
char *_String
);
441 _Out_writes_opt_(_MaxCount
) _Post_maybez_
char *_Dst
,
442 _In_z_
const char *_Src
,
443 _In_
size_t _MaxCount
);
450 _Out_writes_opt_(_MaxCount
) _Post_maybez_
char *_Dst
,
451 _In_z_
const char *_Src
,
452 _In_
size_t _MaxCount
,
453 _In_opt_ _locale_t _Locale
);
455 #if __STDC_WANT_SECURE_LIB__
462 _Inout_updates_z_(_DstSize
) char *_Dst
,
463 _In_
size_t _DstSize
,
471 _Out_writes_z_(_SizeInBytes
) char *_Buf
,
472 _In_
size_t _SizeInBytes
,
473 _In_opt_z_
const char *_ErrMsg
);
480 _Inout_updates_z_(_Size
) char *_Str
,
488 _Inout_updates_z_(_Size
) char *_Str
,
490 _In_opt_ _locale_t _Locale
);
497 _Inout_updates_z_(_Size
) char *_Str
,
500 _In_
size_t _MaxCount
);
507 _Inout_updates_z_(_Size
) char *_Str
,
515 _Inout_updates_z_(_Size
) char *_Str
,
524 _Out_writes_z_(_Size
) char *_Dst
,
526 _In_z_
const char *_Src
);
533 _Inout_updates_z_(_Size
) char *_Dst
,
535 _In_z_
const char *_Src
);
537 #endif /* __STDC_WANT_SECURE_LIB__ */
543 _CRT_NONSTDC_DEPRECATE(_strdup
)
547 _In_opt_z_
const char *_Src
);
551 _CRT_NONSTDC_DEPRECATE(_strcmpi
)
555 _In_z_
const char *_Str1
,
556 _In_z_
const char *_Str2
);
560 _CRT_NONSTDC_DEPRECATE(_stricmp
)
564 _In_z_
const char *_Str1
,
565 _In_z_
const char *_Str2
);
568 _CRT_NONSTDC_DEPRECATE(_strlwr
)
572 _Inout_z_
char *_Str
);
576 _CRT_NONSTDC_DEPRECATE(_strnicmp
)
580 _In_z_
const char *_Str1
,
581 _In_z_
const char *_Str
,
582 _In_
size_t _MaxCount
);
584 // __CRT_INLINE int __cdecl strncasecmp (const char *__sz1, const char *__sz2, size_t __sizeMaxCompare) { return _strnicmp (__sz1, __sz2, __sizeMaxCompare); }
585 // __CRT_INLINE int __cdecl strcasecmp (const char *__sz1, const char *__sz2) { return _stricmp (__sz1, __sz2); }
588 _CRT_NONSTDC_DEPRECATE(_strnset
)
592 _Inout_updates_z_(_MaxCount
) char *_Str
,
594 _In_
size_t _MaxCount
);
597 _CRT_NONSTDC_DEPRECATE(_strrev
)
601 _Inout_z_
char *_Str
);
604 _CRT_NONSTDC_DEPRECATE(_strset
)
608 _Inout_z_
char *_Str
,
612 _CRT_NONSTDC_DEPRECATE(_strupr
)
616 _Inout_z_
char *_Str
);
618 #endif /* NO_OLDNAMES */
620 #ifndef _WSTRING_DEFINED
621 #define _WSTRING_DEFINED
628 _In_z_
const wchar_t *_Str
);
631 _CRT_INSECURE_DEPRECATE(wcsat_s
)
635 _Inout_updates_z_(_String_length_(_Dest
) + _String_length_(_Source
) + 1) wchar_t *_Dest
,
636 _In_z_
const wchar_t *_Source
);
639 _When_(return != 0, _Ret_range_(_Str
, _Str
+ _String_length_(_Str
) - 1))
645 _In_z_
const wchar_t *_Str
,
653 _In_z_
const wchar_t *_Str1
,
654 _In_z_
const wchar_t *_Str2
);
657 _CRT_INSECURE_DEPRECATE(wcscpy_s
)
661 _Out_writes_z_(_String_length_(_Source
) + 1) wchar_t *_Dest
,
662 _In_z_
const wchar_t *_Source
);
669 _In_z_
const wchar_t *_Str
,
670 _In_z_
const wchar_t *_Control
);
676 const wchar_t *_Source
,
679 _Ret_range_(==,_String_length_(_Str
))
684 _In_z_
const wchar_t *_Str
);
686 _When_(_MaxCount
> _String_length_(_Src
),
687 _Post_satisfies_(return == _String_length_(_Src
)))
688 _When_(_MaxCount
<= _String_length_(_Src
),
689 _Post_satisfies_(return == _MaxCount
))
691 _CRT_INSECURE_DEPRECATE(wcsnlen_s
)
695 _In_reads_or_z_(_MaxCount
) const wchar_t *_Src
,
696 _In_
size_t _MaxCount
);
703 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
704 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
705 _In_
size_t _MaxCount
);
708 _CRT_INSECURE_DEPRECATE(wcsncpy_s
)
712 const wchar_t *_Source
,
721 _In_z_
const wchar_t *_Str
,
722 _In_z_
const wchar_t *_Control
);
730 _In_z_
const wchar_t *_Str
,
738 _In_z_
const wchar_t *_Str
,
739 _In_z_
const wchar_t *_Control
);
742 _Ret_range_(_Str
, _Str
+ _String_length_(_Str
) - 1))
748 _In_z_
const wchar_t *_Str
,
749 _In_z_
const wchar_t *_SubStr
);
753 _CRT_INSECURE_DEPRECATE_CORE(wcstok_s
)
757 _Inout_opt_z_
wchar_t *_Str
,
758 _In_z_
const wchar_t *_Delim
);
762 _CRT_INSECURE_DEPRECATE(_wcserror_s
)
770 _CRT_INSECURE_DEPRECATE(__wcserror_s
)
774 _In_opt_z_
const wchar_t *_Str
);
781 _In_z_
const wchar_t *_Str1
,
782 _In_z_
const wchar_t *_Str2
);
789 _In_z_
const wchar_t *_Str1
,
790 _In_z_
const wchar_t *_Str2
,
791 _In_opt_ _locale_t _Locale
);
798 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
799 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
800 _In_
size_t _MaxCount
);
807 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
808 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
809 _In_
size_t _MaxCount
,
810 _In_opt_ _locale_t _Locale
);
813 _CRT_INSECURE_DEPRECATE_CORE(_wcsnset_s
)
825 _Inout_z_
wchar_t *_Str
);
828 _CRT_INSECURE_DEPRECATE_CORE(_wcsset_s
)
839 _Inout_z_
wchar_t *_String
);
851 _Inout_z_
wchar_t *_String
);
864 _Out_writes_opt_(_MaxCount
) _Post_maybez_
wchar_t *_Dst
,
865 _In_z_
const wchar_t *_Src
,
866 _In_
size_t _MaxCount
);
873 _Out_writes_opt_(_MaxCount
) _Post_maybez_
wchar_t *_Dst
,
874 _In_z_
const wchar_t *_Src
,
875 _In_
size_t _MaxCount
,
876 _In_opt_ _locale_t _Locale
);
883 _In_z_
const wchar_t *_Str1
,
884 _In_z_
const wchar_t *_Str2
);
891 _In_z_
const wchar_t *_Str1
,
892 _In_z_
const wchar_t *_Str2
,
893 _In_opt_ _locale_t _Locale
);
900 _In_z_
const wchar_t *_Str1
,
901 _In_z_
const wchar_t *_Str2
);
908 _In_z_
const wchar_t *_Str1
,
909 _In_z_
const wchar_t *_Str2
,
910 _In_opt_ _locale_t _Locale
);
917 _In_z_
const wchar_t *_Str1
,
918 _In_z_
const wchar_t *_Str2
,
919 _In_
size_t _MaxCount
);
926 _In_z_
const wchar_t *_Str1
,
927 _In_z_
const wchar_t *_Str2
,
928 _In_
size_t _MaxCount
,
929 _In_opt_ _locale_t _Locale
);
936 _In_z_
const wchar_t *_Str1
,
937 _In_z_
const wchar_t *_Str2
,
938 _In_
size_t _MaxCount
);
945 _In_z_
const wchar_t *_Str1
,
946 _In_z_
const wchar_t *_Str2
,
947 _In_
size_t _MaxCount
,
948 _In_opt_ _locale_t _Locale
);
950 #if __STDC_WANT_SECURE_LIB__
958 const wchar_t *_Source
);
965 _Out_writes_z_(SizeInWords
) wchar_t *Dest
,
966 _In_
size_t SizeInWords
,
967 _In_z_
const wchar_t *_Source
);
981 _Out_writes_z_(_DstSizeInChars
) wchar_t *_Dst
,
982 _In_
size_t _DstSizeInChars
,
983 _In_z_
const wchar_t *_Src
,
984 _In_
size_t _MaxCount
);
991 _Out_writes_opt_z_(_SizeInWords
) wchar_t *_Buf
,
992 _In_
size_t _SizeInWords
,
1000 _Out_writes_opt_z_(_SizeInWords
) wchar_t *_Buffer
,
1001 _In_
size_t _SizeInWords
,
1002 _In_z_
const wchar_t *_ErrMsg
);
1009 _Inout_updates_z_(_DstSizeInWords
) wchar_t *_Dst
,
1010 _In_
size_t _DstSizeInWords
,
1012 _In_
size_t _MaxCount
);
1019 _Inout_updates_z_(_SizeInWords
) wchar_t *_Str
,
1020 _In_
size_t _SizeInWords
,
1028 _Inout_updates_z_(_SizeInWords
) wchar_t *_Str
,
1029 _In_
size_t _SizeInWords
);
1036 _Inout_updates_z_(_SizeInWords
) wchar_t *_Str
,
1037 _In_
size_t _SizeInWords
,
1038 _In_opt_ _locale_t _Locale
);
1045 _Inout_updates_z_(_Size
) wchar_t *_Str
,
1053 _Inout_updates_z_(_Size
) wchar_t *_Str
,
1055 _In_opt_ _locale_t _Locale
);
1057 #endif /* __STDC_WANT_SECURE_LIB__ */
1063 _CRT_NONSTDC_DEPRECATE(_wcsdup
)
1067 _In_z_
const wchar_t *_Str
);
1069 #define wcswcs wcsstr
1073 _CRT_NONSTDC_DEPRECATE(_wcsicmp
)
1077 _In_z_
const wchar_t *_Str1
,
1078 _In_z_
const wchar_t *_Str2
);
1082 _CRT_NONSTDC_DEPRECATE(_wcsnicmp
)
1086 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str1
,
1087 _In_reads_or_z_(_MaxCount
) const wchar_t *_Str2
,
1088 _In_
size_t _MaxCount
);
1091 _CRT_NONSTDC_DEPRECATE(_wcsnset
)
1095 _Inout_updates_z_(_MaxCount
) wchar_t *_Str
,
1097 _In_
size_t _MaxCount
);
1100 _CRT_NONSTDC_DEPRECATE(_wcsrev
)
1104 _Inout_z_
wchar_t *_Str
);
1107 _CRT_NONSTDC_DEPRECATE(_wcsset
)
1111 _Inout_z_
wchar_t *_Str
,
1115 _CRT_NONSTDC_DEPRECATE(_wcslwr
)
1119 _Inout_z_
wchar_t *_Str
);
1122 _CRT_NONSTDC_DEPRECATE(_wcsupr
)
1126 _Inout_z_
wchar_t *_Str
);
1130 _CRT_NONSTDC_DEPRECATE(_wcsicoll
)
1134 _In_z_
const wchar_t *_Str1
,
1135 _In_z_
const wchar_t *_Str2
);
1137 #endif /* NO_OLDNAMES */
1139 #endif /* !_WSTRING_DEFINED */
1146 #define strcasecmp _stricmp
1147 #define strncasecmp _strnicmp
1148 #define stricmp _stricmp
1149 #define wcsicmp _wcsicmp