ReactOS 0.4.17-dev-966-gf06eace
string.h
Go to the documentation of this file.
1
6#ifndef _INC_STRING
7#define _INC_STRING
8
9#include <corecrt.h>
10
11#define __CORRECT_ISO_CPP_STRING_H_PROTO // For stl
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#ifndef _NLSCMP_DEFINED
18#define _NLSCMP_DEFINED
19#define _NLSCMPERROR 2147483647
20#endif
21
22#ifndef _CRT_MEMORY_DEFINED
23#define _CRT_MEMORY_DEFINED
24
26 void*
30 _In_ const void *_Src,
31 _In_ int _Val,
32 _In_ size_t _MaxCount);
33
38 void*
41 _In_reads_bytes_opt_(_MaxCount) const void *_Buf,
42 _In_ int _Val,
43 _In_ size_t _MaxCount);
45
46#if defined __cplusplus
47 extern "C++" _Must_inspect_result_
48 inline void* __CRTDECL memchr(
50 _In_ int _Val,
51 _In_ size_t _MaxCount)
52 {
53 const void *_Bufc = _Buf;
54 return const_cast<void*>(memchr(_Bufc, _Val, _MaxCount));
55 }
56#endif
57
60 int
63 _In_reads_bytes_opt_(_Size) const void *_Buf1,
64 _In_reads_bytes_opt_(_Size) const void *_Buf2,
65 _In_ size_t _Size);
66
69 int
72 _In_reads_bytes_opt_(_Size) const void *_Buf1,
73 _In_reads_bytes_opt_(_Size) const void *_Buf2,
74 _In_ size_t _Size,
76
78 int
81 _In_reads_bytes_(_Size) const void *_Buf1,
82 _In_reads_bytes_(_Size) const void *_Buf2,
83 _In_ size_t _Size);
84
86 _At_buffer_((unsigned char*)_Dst,
89 _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == ((unsigned char*)_Src)[_Iter_]))
91 void*
93 memcpy(
95 _In_reads_bytes_(_MaxCount) const void *_Src,
96 _In_ size_t _MaxCount);
97
98 _Post_equal_to_(_Dst)
99 _At_buffer_((unsigned char*)_Dst,
100 _Iter_,
102 _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == _Val))
103 void*
104 __cdecl
105 memset(
106 _Out_writes_bytes_all_(_Size) void *_Dst,
108 _In_ size_t _Size);
109
110#ifndef NO_OLDNAMES
111
112 _CRTIMP
114 void*
115 __cdecl
117 _Out_writes_bytes_opt_(_Size) void *_Dst,
118 _In_reads_bytes_opt_(_Size) const void *_Src,
119 _In_ int _Val,
120 _In_ size_t _Size);
121
123 _CRTIMP
125 int
126 __cdecl
128 _In_reads_bytes_opt_(_Size) const void *_Buf1,
129 _In_reads_bytes_opt_(_Size) const void *_Buf2,
130 _In_ size_t _Size);
131
132#endif /* NO_OLDNAMES */
133
134#endif /* _CRT_MEMORY_DEFINED */
135
136 char*
137 __cdecl
139 _Inout_z_ char *_Str,
140 _In_ int _Val);
141
142 char*
143 __cdecl
145 _Out_writes_z_(_String_length_(_Source) + 1) char *_Dest,
146 _In_z_ const char *_Source);
147
148 char*
149 __cdecl
151 _Inout_updates_z_(_String_length_(_Dest) + _String_length_(_Source) + 1) char *_Dest,
152 _In_z_ const char *_Source);
153
155 int
156 __cdecl
158 _In_z_ const char *_Str1,
159 _In_z_ const char *_Str2);
160
161 _CRTIMP
162 size_t
163 __cdecl
165 _In_z_ const char *_Str);
166
167 _When_(_MaxCount > _String_length_(_Str),
168 _Post_satisfies_(return == _String_length_(_Str)))
169 _When_(_MaxCount <= _String_length_(_Str),
171 size_t
172 __cdecl
173 strnlen(
174 _In_reads_or_z_(_MaxCount) const char *_Str,
175 _In_ size_t _MaxCount);
176
178 void*
179 __cdecl
182 _In_reads_bytes_opt_(_MaxCount) const void *_Src,
183 _In_ size_t _MaxCount);
184
186 _CRTIMP
187 char*
188 __cdecl
190 _In_opt_z_ const char *_Src);
191
194 _CRTIMP
196 char*
197 __cdecl
199 _In_z_ const char *_Str,
200 _In_ int _Val);
202
203#ifdef __cplusplus
204 extern "C++"
206 inline char* __CRTDECL strchr(_In_z_ char *_String, _In_ int _Ch)
207 {
208 return const_cast<char*>(strchr(static_cast<const char*>(_String), _Ch));
209 }
210#endif // __cplusplus
211
213 _CRTIMP
214 int
215 __cdecl
216 _stricmp(
217 _In_z_ const char *_Str1,
218 _In_z_ const char *_Str2);
219
221 _CRTIMP
222 int
223 __cdecl
225 _In_z_ const char *_Str1,
226 _In_z_ const char *_Str2);
227
229 _CRTIMP
230 int
231 __cdecl
233 _In_z_ const char *_Str1,
234 _In_z_ const char *_Str2,
236
238 _CRTIMP
239 int
240 __cdecl
242 _In_z_ const char *_Str1,
243 _In_z_ const char *_Str2);
244
246 _CRTIMP
247 int
248 __cdecl
250 _In_z_ const char *_Str1,
251 _In_z_ const char *_Str2,
253
255 _CRTIMP
256 int
257 __cdecl
259 _In_z_ const char *_Str1,
260 _In_z_ const char *_Str2);
261
263 _CRTIMP
264 int
265 __cdecl
267 _In_z_ const char *_Str1,
268 _In_z_ const char *_Str2,
270
272 _CRTIMP
273 int
274 __cdecl
276 _In_z_ const char *_Str1,
277 _In_z_ const char *_Str2,
278 _In_ size_t _MaxCount);
279
281 _CRTIMP
282 int
283 __cdecl
285 _In_z_ const char *_Str1,
286 _In_z_ const char *_Str2,
287 _In_ size_t _MaxCount,
289
291 _CRTIMP
292 int
293 __cdecl
295 _In_z_ const char *_Str1,
296 _In_z_ const char *_Str2,
297 _In_ size_t _MaxCount);
298
300 _CRTIMP
301 int
302 __cdecl
304 _In_z_ const char *_Str1,
305 _In_z_ const char *_Str2,
306 _In_ size_t _MaxCount,
308
310 _CRTIMP
311 size_t
312 __cdecl
314 _In_z_ const char *_Str,
315 _In_z_ const char *_Control);
316
318 _CRTIMP
320 char*
321 __cdecl
323 _In_opt_z_ const char *_ErrMsg);
324
326 _CRTIMP
328 char*
329 __cdecl
331 _In_ int);
332
333 _CRTIMP
334 char*
335 __cdecl
336 _strlwr(
337 _Inout_z_ char *_String);
338
339 char*
341 char *_String,
343
344 char*
345 __cdecl
346 strncat(
347 char *_Dest,
348 const char *_Source,
349 size_t _Count);
350
352 int
353 __cdecl
355 _In_reads_or_z_(_MaxCount) const char *_Str1,
356 _In_reads_or_z_(_MaxCount) const char *_Str2,
357 _In_ size_t _MaxCount);
358
360 _CRTIMP
361 int
362 __cdecl
363 _strnicmp(
364 _In_reads_or_z_(_MaxCount) const char *_Str1,
365 _In_reads_or_z_(_MaxCount) const char *_Str2,
366 _In_ size_t _MaxCount);
367
369 _CRTIMP
370 int
371 __cdecl
373 _In_reads_or_z_(_MaxCount) const char *_Str1,
374 _In_reads_or_z_(_MaxCount) const char *_Str2,
375 _In_ size_t _MaxCount,
377
378 char*
379 __cdecl
380 strncpy(
381 char *_Dest,
382 const char *_Source,
383 size_t _Count);
384
385 _CRTIMP
387 char*
388 __cdecl
389 _strnset(
390 char *_Str,
391 int _Val,
392 size_t _MaxCount);
393
396 _CRTIMP
398 char*
399 __cdecl
401 _In_z_ const char *_Str,
402 _In_z_ const char *_Control);
404
405#ifdef __cplusplus
406 extern "C++"
408 inline char* __CRTDECL strpbrk(_In_z_ char *_String, _In_z_ const char *_Control)
409 {
410 return const_cast<char*>(strpbrk(static_cast<const char*>(_String), _Control));
411 }
412#endif // __cplusplus
413
416 _CRTIMP
418 char*
419 __cdecl
421 _In_z_ const char *_Str,
422 _In_ int _Ch);
424
425#ifdef __cplusplus
426 extern "C++"
428 inline char* __CRTDECL strrchr(_In_z_ char *_String, _In_ int _Ch)
429 {
430 return const_cast<char*>(strrchr(static_cast<const char*>(_String), _Ch));
431 }
432#endif // __cplusplus
433
434 _CRTIMP
435 char*
436 __cdecl
438 _Inout_z_ char *_Str);
439
441 _CRTIMP
442 size_t
443 __cdecl
445 _In_z_ const char *_Str,
446 _In_z_ const char *_Control);
447
450 _CRTIMP
452 char*
453 __cdecl
455 _In_z_ const char *_Str,
456 _In_z_ const char *_SubStr);
458
459#ifdef __cplusplus
460 extern "C++"
462 inline char* __CRTDECL strstr(_In_z_ char *_String, _In_z_ const char *_SubString)
463 {
464 return const_cast<char*>(strstr(static_cast<const char*>(_String), _SubString));
465 }
466#endif // __cplusplus
467
469 _CRTIMP
471 char*
472 __cdecl
474 _Inout_opt_z_ char *_Str,
475 _In_z_ const char *_Delim);
476
477 _CRTIMP
478 char*
479 __cdecl
480 _strupr(
481 _Inout_z_ char *_String);
482
483 _CRTIMP
484 char*
485 _strupr_l(
486 char *_String,
488
490 _CRTIMP
491 size_t
492 __cdecl
495 _In_z_ const char *_Src,
496 _In_ size_t _MaxCount);
497
499 _CRTIMP
500 size_t
501 __cdecl
504 _In_z_ const char *_Src,
505 _In_ size_t _MaxCount,
507
508#if __STDC_WANT_SECURE_LIB__
509
511 _CRTIMP
512 errno_t
513 __cdecl
514 _strset_s(
515 _Inout_updates_z_(_DstSize) char *_Dst,
516 _In_ size_t _DstSize,
517 _In_ int _Value);
518
520 _CRTIMP
521 errno_t
522 __cdecl
524 _Out_writes_z_(_SizeInBytes) char *_Buf,
525 _In_ size_t _SizeInBytes,
526 _In_opt_z_ const char *_ErrMsg);
527
529 _CRTIMP
530 errno_t
531 __cdecl
532 _strlwr_s(
533 _Inout_updates_z_(_Size) char *_Str,
534 _In_ size_t _Size);
535
537 _CRTIMP
538 errno_t
539 __cdecl
541 _Inout_updates_z_(_Size) char *_Str,
542 _In_ size_t _Size,
544
546 _CRTIMP
547 errno_t
548 __cdecl
550 _Inout_updates_z_(_Size) char *_Str,
551 _In_ size_t _Size,
552 _In_ int _Val,
553 _In_ size_t _MaxCount);
554
556 _CRTIMP
557 errno_t
558 __cdecl
559 _strupr_s(
560 _Inout_updates_z_(_Size) char *_Str,
561 _In_ size_t _Size);
562
564 _CRTIMP
565 errno_t
566 __cdecl
568 _Inout_updates_z_(_Size) char *_Str,
569 _In_ size_t _Size,
571
573 _CRTIMP
574 errno_t
575 __cdecl
576 strcpy_s(
577 _Out_writes_z_(_Size) char *_Dst,
578 _In_ size_t _Size,
579 _In_z_ const char *_Src);
580
582 _CRTIMP
583 errno_t
584 __cdecl
585 strcat_s(
586 _Inout_updates_z_(_Size) char *_Dst,
587 _In_ size_t _Size,
588 _In_z_ const char *_Src);
589
590#endif /* __STDC_WANT_SECURE_LIB__ */
591
592#ifndef NO_OLDNAMES
593
595 _CRTIMP
597 char*
598 __cdecl
600 _In_opt_z_ const char *_Src);
601
603 _CRTIMP
605 int
606 __cdecl
608 _In_z_ const char *_Str1,
609 _In_z_ const char *_Str2);
610
612 _CRTIMP
614 int
615 __cdecl
617 _In_z_ const char *_Str1,
618 _In_z_ const char *_Str2);
619
620 _CRTIMP
622 char*
623 __cdecl
625 _Inout_z_ char *_Str);
626
628 _CRTIMP
630 int
631 __cdecl
633 _In_z_ const char *_Str1,
634 _In_z_ const char *_Str,
635 _In_ size_t _MaxCount);
636
637 _CRTIMP
639 char*
640 __cdecl
642 _Inout_updates_z_(_MaxCount) char *_Str,
643 _In_ int _Val,
644 _In_ size_t _MaxCount);
645
646 _CRTIMP
648 char*
649 __cdecl
651 _Inout_z_ char *_Str);
652
653 _CRTIMP
655 char*
656 __cdecl
658 _Inout_z_ char *_Str,
659 _In_ int _Val);
660
661 _CRTIMP
663 char*
664 __cdecl
666 _Inout_z_ char *_Str);
667
668#endif /* NO_OLDNAMES */
669
670#ifndef _WSTRING_DEFINED
671#define _WSTRING_DEFINED
672
674 _CRTIMP
675 wchar_t*
676 __cdecl
678 _In_z_ const wchar_t *_Str);
679
680 _CRTIMP
682 wchar_t*
683 __cdecl
685 _Inout_updates_z_(_String_length_(_Dest) + _String_length_(_Source) + 1) wchar_t *_Dest,
686 _In_z_ const wchar_t *_Source);
687
689 _When_(return != 0, _Ret_range_(_Str, _Str + _String_length_(_Str) - 1))
690 _CRTIMP
692 wchar_t*
693 __cdecl
694 wcschr(
695 _In_z_ const wchar_t *_Str,
696 wchar_t _Ch);
697
698#ifdef __cplusplus
699 extern "C++"
701 _When_(return != NULL, _Ret_range_(_String, _String + _String_length_(_String) - 1))
702 inline wchar_t* __CRTDECL wcschr(_In_z_ wchar_t *_String, wchar_t _C)
703 {
704 return const_cast<wchar_t*>(wcschr(static_cast<const wchar_t*>(_String), _C));
705 }
706#endif // __cplusplus
707
709 _CRTIMP
710 int
711 __cdecl
713 _In_z_ const wchar_t *_Str1,
714 _In_z_ const wchar_t *_Str2);
715
716 _CRTIMP
718 wchar_t*
719 __cdecl
721 _Out_writes_z_(_String_length_(_Source) + 1) wchar_t *_Dest,
722 _In_z_ const wchar_t *_Source);
723
725 _CRTIMP
726 size_t
727 __cdecl
729 _In_z_ const wchar_t *_Str,
730 _In_z_ const wchar_t *_Control);
731
732 _CRTIMP
733 wchar_t*
734 __cdecl
735 wcsncat(
736 wchar_t *_Dest,
737 const wchar_t *_Source,
738 size_t _Count);
739
740 _Ret_range_(==,_String_length_(_Str))
741 _CRTIMP
742 size_t
743 __cdecl
744 wcslen(
745 _In_z_ const wchar_t *_Str);
746
747 _When_(_MaxCount > _String_length_(_Src),
748 _Post_satisfies_(return == _String_length_(_Src)))
749 _When_(_MaxCount <= _String_length_(_Src),
750 _Post_satisfies_(return == _MaxCount))
751 _CRT_INSECURE_DEPRECATE(wcsnlen_s)
752 size_t
753 __cdecl
754 wcsnlen(
755 _In_reads_or_z_(_MaxCount) const wchar_t *_Src,
756 _In_ size_t _MaxCount);
757
759 _CRTIMP
760 int
761 __cdecl
763 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
764 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
765 _In_ size_t _MaxCount);
766
767 _CRTIMP
769 wchar_t*
770 __cdecl
771 wcsncpy(
772 wchar_t *_Dest,
773 const wchar_t *_Source,
774 size_t _Count);
775
777 _CRTIMP
779 wchar_t*
780 __cdecl
782 _In_z_ const wchar_t *_Str,
783 _In_z_ const wchar_t *_Control);
784
785#ifdef __cplusplus
786 extern "C++"
788 inline wchar_t* __cdecl wcspbrk(_In_z_ wchar_t *_Str, _In_z_ const wchar_t *_Control)
789 {
790 return const_cast<wchar_t*>(wcspbrk(static_cast<const wchar_t*>(_Str), _Control));
791 }
792#endif // __cplusplus
793
795 _CRTIMP
797 wchar_t*
798 __cdecl
800 _In_z_ const wchar_t *_Str,
801 _In_ wchar_t _Ch);
802
803#ifdef __cplusplus
804 extern "C++"
806 inline wchar_t* __CRTDECL wcsrchr(_In_z_ wchar_t *_String, _In_ wchar_t _C)
807 {
808 return const_cast<wchar_t*>(wcsrchr(static_cast<const wchar_t*>(_String), _C));
809 }
810#endif // __cplusplus
811
813 _CRTIMP
814 size_t
815 __cdecl
817 _In_z_ const wchar_t *_Str,
818 _In_z_ const wchar_t *_Control);
819
821 _When_(return != 0,
822 _Ret_range_(_Str, _Str + _String_length_(_Str) - 1))
823 _CRTIMP
825 wchar_t*
826 __cdecl
827 wcsstr(
828 _In_z_ const wchar_t *_Str,
831
832#ifdef __cplusplus
833 extern "C++"
835 _When_(return != NULL, _Ret_range_(_String, _String + _String_length_(_String) - 1))
836 inline wchar_t* __CRTDECL wcsstr(_In_z_ wchar_t *_String, _In_z_ const wchar_t *_SubStr)
837 {
838 return const_cast<wchar_t*>(wcsstr(static_cast<const wchar_t*>(_String), _SubStr));
839 }
840#endif // __cplusplus
841
843 _CRTIMP
845 wchar_t*
846 __cdecl
848 _Inout_opt_z_ wchar_t *_Str,
849 _In_z_ const wchar_t *_Delim);
850
852 _CRTIMP
854 wchar_t*
855 __cdecl
857 _In_ int _ErrNum);
858
860 _CRTIMP
862 wchar_t*
863 __cdecl
865 _In_opt_z_ const wchar_t *_Str);
866
868 _CRTIMP
869 int
870 __cdecl
871 _wcsicmp(
872 _In_z_ const wchar_t *_Str1,
873 _In_z_ const wchar_t *_Str2);
874
876 _CRTIMP
877 int
878 __cdecl
880 _In_z_ const wchar_t *_Str1,
881 _In_z_ const wchar_t *_Str2,
883
885 _CRTIMP
886 int
887 __cdecl
888 _wcsnicmp(
889 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
890 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
891 _In_ size_t _MaxCount);
892
894 _CRTIMP
895 int
896 __cdecl
898 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
899 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
900 _In_ size_t _MaxCount,
902
903 _CRTIMP
905 wchar_t*
906 __cdecl
907 _wcsnset(
908 wchar_t *_Str,
909 wchar_t _Val,
910 size_t _MaxCount);
911
912 _CRTIMP
913 wchar_t*
914 __cdecl
916 _Inout_z_ wchar_t *_Str);
917
918 _CRTIMP
920 wchar_t*
921 __cdecl
922 _wcsset(
923 wchar_t *_Str,
924 wchar_t _Val);
925
926 _CRTIMP
927 wchar_t*
928 __cdecl
929 _wcslwr(
930 _Inout_z_ wchar_t *_String);
931
932 _CRTIMP
933 wchar_t*
934 _wcslwr_l(
935 wchar_t *_String,
937
938 _CRTIMP
939 wchar_t*
940 __cdecl
941 _wcsupr(
942 _Inout_z_ wchar_t *_String);
943
944 _CRTIMP
945 wchar_t*
946 _wcsupr_l(
947 wchar_t *_String,
949
951 _CRTIMP
952 size_t
953 __cdecl
956 _In_z_ const wchar_t *_Src,
957 _In_ size_t _MaxCount);
958
960 _CRTIMP
961 size_t
962 __cdecl
965 _In_z_ const wchar_t *_Src,
966 _In_ size_t _MaxCount,
968
970 _CRTIMP
971 int
972 __cdecl
974 _In_z_ const wchar_t *_Str1,
975 _In_z_ const wchar_t *_Str2);
976
978 _CRTIMP
979 int
980 __cdecl
982 _In_z_ const wchar_t *_Str1,
983 _In_z_ const wchar_t *_Str2,
985
987 _CRTIMP
988 int
989 __cdecl
991 _In_z_ const wchar_t *_Str1,
992 _In_z_ const wchar_t *_Str2);
993
995 _CRTIMP
996 int
997 __cdecl
999 _In_z_ const wchar_t *_Str1,
1000 _In_z_ const wchar_t *_Str2,
1002
1004 _CRTIMP
1005 int
1006 __cdecl
1008 _In_z_ const wchar_t *_Str1,
1009 _In_z_ const wchar_t *_Str2,
1010 _In_ size_t _MaxCount);
1011
1013 _CRTIMP
1014 int
1015 __cdecl
1017 _In_z_ const wchar_t *_Str1,
1018 _In_z_ const wchar_t *_Str2,
1019 _In_ size_t _MaxCount,
1021
1023 _CRTIMP
1024 int
1025 __cdecl
1027 _In_z_ const wchar_t *_Str1,
1028 _In_z_ const wchar_t *_Str2,
1029 _In_ size_t _MaxCount);
1030
1032 _CRTIMP
1033 int
1034 __cdecl
1036 _In_z_ const wchar_t *_Str1,
1037 _In_z_ const wchar_t *_Str2,
1038 _In_ size_t _MaxCount,
1040
1041#if __STDC_WANT_SECURE_LIB__
1042
1043 _CRTIMP
1044 errno_t
1045 __cdecl
1046 wcscat_s(
1047 wchar_t *Dest,
1048 size_t SizeInWords,
1049 const wchar_t *_Source);
1050
1052 _CRTIMP
1053 errno_t
1054 __cdecl
1055 wcscpy_s(
1056 _Out_writes_z_(SizeInWords) wchar_t *Dest,
1057 _In_ size_t SizeInWords,
1058 _In_z_ const wchar_t *_Source);
1059
1060 _CRTIMP
1061 errno_t
1062 __cdecl
1063 wcsnlen_s(
1064 wchar_t **_Src,
1065 size_t _MaxCount);
1066
1068 _CRTIMP
1069 errno_t
1070 __cdecl
1071 wcsncpy_s(
1072 _Out_writes_z_(_DstSizeInChars) wchar_t *_Dst,
1073 _In_ size_t _DstSizeInChars,
1074 _In_z_ const wchar_t *_Src,
1075 _In_ size_t _MaxCount);
1076
1078 _CRTIMP
1079 errno_t
1080 __cdecl
1082 _Out_writes_opt_z_(_SizeInWords) wchar_t *_Buf,
1083 _In_ size_t _SizeInWords,
1084 _In_ int _ErrNum);
1085
1087 _CRTIMP
1088 errno_t
1089 __cdecl
1092 _In_ size_t _SizeInWords,
1093 _In_z_ const wchar_t *_ErrMsg);
1094
1096 _CRTIMP
1097 errno_t
1098 __cdecl
1099 _wcsnset_s(
1100 _Inout_updates_z_(_DstSizeInWords) wchar_t *_Dst,
1101 _In_ size_t _DstSizeInWords,
1102 _In_ wchar_t _Val,
1103 _In_ size_t _MaxCount);
1104
1106 _CRTIMP
1107 errno_t
1108 __cdecl
1109 _wcsset_s(
1110 _Inout_updates_z_(_SizeInWords) wchar_t *_Str,
1111 _In_ size_t _SizeInWords,
1112 _In_ wchar_t _Val);
1113
1115 _CRTIMP
1116 errno_t
1117 __cdecl
1118 _wcslwr_s(
1119 _Inout_updates_z_(_SizeInWords) wchar_t *_Str,
1120 _In_ size_t _SizeInWords);
1121
1123 _CRTIMP
1124 errno_t
1125 __cdecl
1127 _Inout_updates_z_(_SizeInWords) wchar_t *_Str,
1128 _In_ size_t _SizeInWords,
1130
1132 _CRTIMP
1133 errno_t
1134 __cdecl
1135 _wcsupr_s(
1136 _Inout_updates_z_(_Size) wchar_t *_Str,
1137 _In_ size_t _Size);
1138
1140 _CRTIMP
1141 errno_t
1142 __cdecl
1144 _Inout_updates_z_(_Size) wchar_t *_Str,
1145 _In_ size_t _Size,
1147
1148#endif /* __STDC_WANT_SECURE_LIB__ */
1149
1150#ifndef NO_OLDNAMES
1151
1153 _CRTIMP
1155 wchar_t*
1156 __cdecl
1158 _In_z_ const wchar_t *_Str);
1159
1160#define wcswcs wcsstr
1161
1163 _CRTIMP
1165 int
1166 __cdecl
1168 _In_z_ const wchar_t *_Str1,
1169 _In_z_ const wchar_t *_Str2);
1170
1172 _CRTIMP
1174 int
1175 __cdecl
1177 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
1178 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
1179 _In_ size_t _MaxCount);
1180
1181 _CRTIMP
1183 wchar_t*
1184 __cdecl
1186 _Inout_updates_z_(_MaxCount) wchar_t *_Str,
1187 _In_ wchar_t _Val,
1188 _In_ size_t _MaxCount);
1189
1190 _CRTIMP
1192 wchar_t*
1193 __cdecl
1195 _Inout_z_ wchar_t *_Str);
1196
1197 _CRTIMP
1199 wchar_t*
1200 __cdecl
1202 _Inout_z_ wchar_t *_Str,
1203 wchar_t _Val);
1204
1205 _CRTIMP
1207 wchar_t*
1208 __cdecl
1210 _Inout_z_ wchar_t *_Str);
1211
1212 _CRTIMP
1214 wchar_t*
1215 __cdecl
1217 _Inout_z_ wchar_t *_Str);
1218
1220 _CRTIMP
1222 int
1223 __cdecl
1225 _In_z_ const wchar_t *_Str1,
1226 _In_z_ const wchar_t *_Str2);
1227
1228#endif /* NO_OLDNAMES */
1229
1230#endif /* !_WSTRING_DEFINED */
1231
1232#ifdef __cplusplus
1233}
1234#endif
1235
1236#include <sec_api/string_s.h>
1237#endif
#define _stricmp
Definition: cat.c:22
#define _strdup
Definition: debug_ros.c:7
#define NULL
Definition: types.h:112
#define wcschr
Definition: compat.h:17
#define wcsnicmp
Definition: compat.h:14
#define wcsrchr
Definition: compat.h:16
#define _strnicmp(_String1, _String2, _MaxCount)
Definition: compat.h:23
#define stricmp(_String1, _String2)
Definition: compat.h:24
#define wcsicmp
Definition: compat.h:15
int CDECL __wcserror_s(wchar_t *buffer, size_t nc, const wchar_t *str)
Definition: errno.c:405
int CDECL _wcserror_s(wchar_t *buffer, size_t nc, int err)
Definition: errno.c:379
int CDECL memcpy_s(void *dest, size_t numberOfElements, const void *src, size_t count)
Definition: heap.c:779
int errno_t
Definition: corecrt.h:249
#define __cdecl
Definition: corecrt.h:121
_ACRTIMP errno_t __cdecl wcscat_s(wchar_t *, size_t, const wchar_t *)
Definition: wcs.c:2540
_ACRTIMP errno_t __cdecl _wcsupr_s(wchar_t *, size_t)
Definition: wcs.c:414
_ACRTIMP wchar_t *__cdecl wcstok_s(wchar_t *, const wchar_t *, wchar_t **)
Definition: wcs.c:2036
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
Definition: wcs.c:164
_ACRTIMP errno_t __cdecl _wcslwr_s(wchar_t *, size_t)
Definition: wcs.c:477
_ACRTIMP int __cdecl _wcsicoll(const wchar_t *, const wchar_t *)
Definition: wcs.c:241
_ACRTIMP errno_t __cdecl wcscpy_s(wchar_t *, size_t, const wchar_t *)
Definition: wcs.c:2444
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
Definition: wcs.c:2988
_ACRTIMP wchar_t *__cdecl _wcsrev(wchar_t *)
Definition: wcs.c:329
_ACRTIMP wchar_t *__cdecl wcsstr(const wchar_t *, const wchar_t *)
Definition: wcs.c:2998
_ACRTIMP size_t __cdecl wcsnlen(const wchar_t *, size_t)
Definition: wcs.c:2925
_ACRTIMP int __cdecl _wcsnicmp(const wchar_t *, const wchar_t *, size_t)
Definition: wcs.c:200
_ACRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *) __WINE_DEALLOC(free) __WINE_MALLOC
Definition: wcs.c:86
_ACRTIMP int __cdecl _strnicoll_l(const char *, const char *, size_t, _locale_t)
Definition: string.c:1254
static char * strlwr(char *str)
Definition: string.h:86
_ACRTIMP char *__cdecl strchr(const char *, int)
Definition: string.c:3291
_ACRTIMP char *__cdecl _strrev(char *)
Definition: string.c:259
_ACRTIMP size_t __cdecl strxfrm(char *, const char *, size_t)
Definition: string.c:1517
static wchar_t * wcsnset(wchar_t *str, wchar_t c, size_t n)
Definition: string.h:99
_ACRTIMP size_t __cdecl strnlen(const char *, size_t)
Definition: string.c:1607
_ACRTIMP errno_t __cdecl _strupr_s(char *, size_t)
Definition: string.c:198
_ACRTIMP int __cdecl _strncoll_l(const char *, const char *, size_t, _locale_t)
Definition: string.c:1227
_ACRTIMP size_t __cdecl strlen(const char *)
Definition: string.c:1597
static wchar_t * wcsrev(wchar_t *str)
Definition: string.h:100
_ACRTIMP errno_t __cdecl _strlwr_s(char *, size_t)
Definition: string.c:119
_ACRTIMP int __cdecl _strnicoll(const char *, const char *, size_t)
Definition: string.c:1273
_ACRTIMP int __cdecl _strcoll_l(const char *, const char *, _locale_t)
Definition: string.c:1175
static char * strset(char *str, int value)
Definition: string.h:91
_ACRTIMP size_t __cdecl _strxfrm_l(char *, const char *, size_t, _locale_t)
Definition: string.c:1471
_ACRTIMP size_t __cdecl strcspn(const char *, const char *)
Definition: string.c:3498
static wchar_t * wcsupr(wchar_t *str)
Definition: string.h:102
static char * strrev(char *str)
Definition: string.h:90
_ACRTIMP char *__cdecl strtok_s(char *, const char *, char **)
Definition: string.c:314
_ACRTIMP int __cdecl _strnicmp_l(const char *, const char *, size_t, _locale_t)
Definition: string.c:3352
static char * strupr(char *str)
Definition: string.h:92
_ACRTIMP char *__cdecl strerror(int)
Definition: errno.c:273
_ACRTIMP int __cdecl _stricoll_l(const char *, const char *, _locale_t)
Definition: string.c:1201
_ACRTIMP char *__cdecl strstr(const char *, const char *)
Definition: string.c:3420
_ACRTIMP errno_t __cdecl strcpy_s(char *, size_t, const char *)
Definition: string.c:1350
static int strnicmp(const char *s1, const char *s2, size_t n)
Definition: string.h:88
_ACRTIMP errno_t __cdecl strerror_s(char *, size_t, int)
Definition: errno.c:288
static int strcmpi(const char *s1, const char *s2)
Definition: string.h:82
static int wcsicoll(const wchar_t *str1, const wchar_t *str2)
Definition: string.h:95
_ACRTIMP int __cdecl strcmp(const char *, const char *)
Definition: string.c:3324
static wchar_t * wcsset(wchar_t *str, wchar_t c)
Definition: string.h:101
_ACRTIMP char *__cdecl strpbrk(const char *, const char *)
Definition: string.c:3530
_ACRTIMP errno_t __cdecl memmove_s(void *, size_t, const void *, size_t)
Definition: heap.c:736
_ACRTIMP int __cdecl _strncoll(const char *, const char *, size_t)
Definition: string.c:1246
_ACRTIMP int __cdecl strncmp(const char *, const char *, size_t)
Definition: string.c:3335
static char * strdup(const char *buf)
Definition: string.h:83
static char * strnset(char *str, int value, unsigned int len)
Definition: string.h:89
_ACRTIMP int __cdecl _strcmpi(const char *, const char *)
_ACRTIMP char *__cdecl strtok(char *, const char *)
Definition: string.c:290
_ACRTIMP int __cdecl _stricoll(const char *, const char *)
Definition: string.c:1219
static wchar_t * wcslwr(wchar_t *str)
Definition: string.h:96
static wchar_t * wcsdup(const wchar_t *str)
Definition: string.h:94
_ACRTIMP char *__cdecl _strerror(const char *)
Definition: errno.c:315
_ACRTIMP size_t __cdecl strspn(const char *, const char *)
Definition: string.c:3520
_ACRTIMP char *__cdecl strrchr(const char *, int)
Definition: string.c:3303
_ACRTIMP errno_t __cdecl strcat_s(char *, size_t, const char *)
Definition: string.c:1373
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define memmove(s1, s2, n)
Definition: mkisofs.h:881
#define memchr(s, c, n)
Definition: mkisofs.h:875
#define strcoll
Definition: util.h:34
#define _Post_maybez_
Definition: ms_sal.h:1372
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Out_writes_z_(s)
Definition: no_sal2.h:180
#define _Ret_maybenull_
Definition: no_sal2.h:328
#define _Out_writes_opt_(s)
Definition: no_sal2.h:226
#define _In_z_
Definition: no_sal2.h:164
#define _Check_return_
Definition: no_sal2.h:60
#define _In_opt_z_
Definition: no_sal2.h:218
#define _Ret_range_(l, h)
Definition: no_sal2.h:372
#define _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
#define _Inout_updates_z_(s)
Definition: no_sal2.h:186
#define _Out_writes_bytes_all_opt_(s)
Definition: no_sal2.h:244
#define _At_buffer_(t, i, c, a)
Definition: no_sal2.h:42
#define _In_reads_or_z_(s)
Definition: no_sal2.h:174
#define _Out_writes_opt_z_(s)
Definition: no_sal2.h:230
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _Post_satisfies_(e)
Definition: no_sal2.h:66
#define _In_
Definition: no_sal2.h:158
#define _Out_writes_bytes_all_(s)
Definition: no_sal2.h:194
#define _In_opt_
Definition: no_sal2.h:212
#define _Post_equal_to_(e)
Definition: no_sal2.h:384
#define _Inout_opt_z_
Definition: no_sal2.h:220
#define _Inout_z_
Definition: no_sal2.h:166
#define _When_(c, a)
Definition: no_sal2.h:38
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
_Check_return_ _Ret_maybenull_ _In_ size_t _Count
Definition: malloc.h:108
#define _CONST_RETURN
Definition: memory.h:16
_Check_return_ _CRTIMP int __cdecl memicmp(_In_reads_bytes_opt_(_Size) const void *_Buf1, _In_reads_bytes_opt_(_Size) const void *_Buf2, _In_ size_t _Size)
_MaxCount
Definition: string.h:88
_Check_return_ _CRTIMP int __cdecl _stricmp_l(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_opt_ _locale_t _Locale)
_CRTIMP void *__cdecl memccpy(_Out_writes_bytes_opt_(_Size) void *_Dst, _In_reads_bytes_opt_(_Size) const void *_Src, _In_ int _Val, _In_ size_t _Size)
_Check_return_ _CRTIMP int __cdecl _wcsncoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_Check_return_ _CRTIMP int __cdecl _wcsnicoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcspbrk(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_In_ int _Val
Definition: string.h:107
_Check_return_ _CRTIMP int __cdecl _wcsicoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_opt_ _locale_t _Locale)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP int __cdecl _wcsnicmp_l(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_Check_return_ _CRTIMP wchar_t *__cdecl __wcserror(_In_opt_z_ const wchar_t *_Str)
_Check_return_ _CRTIMP size_t __cdecl wcsspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_Check_return_ _CRTIMP wchar_t *__cdecl _wcserror(_In_ int _ErrNum)
_Check_return_opt_ _CRTIMP size_t __cdecl _wcsxfrm_l(_Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Dst, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_CRT_RESTORE_GCC_WARNINGS _Must_inspect_result_ _CRTIMP int __cdecl _memicmp(_In_reads_bytes_opt_(_Size) const void *_Buf1, _In_reads_bytes_opt_(_Size) const void *_Buf2, _In_ size_t _Size)
_CRT_RESTORE_GCC_WARNINGS _Check_return_ _CRTIMP wchar_t *__cdecl wcstok(_Inout_opt_z_ wchar_t *_Str, _In_z_ const wchar_t *_Delim)
_Must_inspect_result_ _CRTIMP int __cdecl _memicmp_l(_In_reads_bytes_opt_(_Size) const void *_Buf1, _In_reads_bytes_opt_(_Size) const void *_Buf2, _In_ size_t _Size, _In_opt_ _locale_t _Locale)
_Must_inspect_result_ int __cdecl memcmp(_In_reads_bytes_(_Size) const void *_Buf1, _In_reads_bytes_(_Size) const void *_Buf2, _In_ size_t _Size)
_Check_return_ _CRTIMP int __cdecl _wcsnicoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
_Size
Definition: string.h:101
_Check_return_ _CRTIMP size_t __cdecl wcscspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_Check_return_ _CRTIMP int __cdecl _wcsicmp_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_opt_ _locale_t _Locale)
_Check_return_ wchar_t _Ch
Definition: string.h:696
_CRT_DISABLE_GCC_WARNINGS _In_z_ const wchar_t * _SubStr
Definition: string.h:829
_Iter_
Definition: string.h:87
_Check_return_opt_ _CRTIMP size_t __cdecl wcsxfrm(_Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Dst, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP int __cdecl _wcscoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_opt_ _locale_t _Locale)
_Check_return_ _CRTIMP int __cdecl wcscoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_CRTIMP void *__cdecl _memccpy(_Out_writes_bytes_opt_(_MaxCount) void *_Dst, _In_ const void *_Src, _In_ int _Val, _In_ size_t _MaxCount)
char * strlwr_l(char *_String, _locale_t _Locale)
_Check_return_ _CRTIMP int __cdecl _wcsncoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount)
_In_ size_t _SizeInBytes
Definition: time.h:146
_In_ size_t _SizeInWords
Definition: time.h:309
_In_ size_t _In_z_ _Printf_format_string_ const char _In_ const struct tm _In_opt_ _locale_t _Locale
Definition: time.h:159
#define inline
Definition: compat.h:23
#define _Check_return_opt_
Definition: corecrt.h:224
#define _CRT_NONSTDC_DEPRECATE(_NewName)
Definition: corecrt.h:439
#define _Check_return_wat_
Definition: corecrt.h:230
_wcslwr
_wcsnset_s
wcsncat
_wcsupr_s_l
_wcsset
wcsncpy
_Source
_wcslwr_l
wcscat
_wcsupr
_wcsupr_l
wcsncpy_s
_wcsnset
_String
_In_ _Value
_wcsset_s
wcscpy
_wcslwr_s_l
_Dest
Definition: stdlib.h:926
_In_ _Pre_notnull_ _Buffer
Definition: stdlib.h:644
_strlwr_s_l
Definition: string.h:249
strncpy
Definition: string.h:335
_strlwr
Definition: string.h:231
strcat
Definition: string.h:92
_strupr_l
Definition: string.h:471
_strset
Definition: string.h:424
_strupr
Definition: string.h:453
strcpy
Definition: string.h:131
_In_opt_ _Locale strncat
Definition: string.h:263
_Check_return_wat_ _ACRTIMP errno_t __cdecl _strset_s(_Inout_updates_z_(_DestinationSize) char *_Destination, _In_ size_t _DestinationSize, _In_ int _Value)
_strnset_s
Definition: string.h:393
_strnset
Definition: string.h:393
_Check_return_wat_ _ACRTIMP errno_t __cdecl _strerror_s(_Out_writes_z_(_SizeInBytes) char *_Buffer, _In_ size_t _SizeInBytes, _In_opt_z_ char const *_ErrorMessage)
_strupr_s_l
Definition: string.h:471
#define _CRT_DISABLE_GCC_WARNINGS
Definition: crtdefs.h:45
#define _CRT_RESTORE_GCC_WARNINGS
Definition: crtdefs.h:46
#define _CRT_INSECURE_DEPRECATE_CORE(_Replacement)
Definition: crtdefs.h:162
#define memset(x, y, z)
Definition: compat.h:39
#define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement)
Definition: vcruntime.h:105
#define _CRT_INSECURE_DEPRECATE(_Replacement)
Definition: vcruntime.h:99
#define _CRTIMP
Definition: vcruntime.h:54
#define __CRTDECL
Definition: yvals.h:17
#define const
Definition: zconf.h:233