xref: /reactos/sdk/include/crt/memory.h (revision 1734f297)
1 /**
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.
5  */
6 #ifndef _INC_MEMORY
7 #define _INC_MEMORY
8 
9 #include <crtdefs.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #ifndef _CONST_RETURN
16 #define _CONST_RETURN
17 #endif
18 
19 #define _WConst_return _CONST_RETURN
20 
21 #ifndef _CRT_MEMORY_DEFINED
22 #define _CRT_MEMORY_DEFINED
23 
24   _CRTIMP
25   void*
26   __cdecl
27   _memccpy(
28     _Out_writes_bytes_opt_(_MaxCount) void *_Dst,
29     _In_ const void *_Src,
30     _In_ int _Val,
31     _In_ size_t _MaxCount);
32 
33   _Check_return_
34   _CONST_RETURN
35   void*
36   __cdecl
37   memchr(
38     _In_reads_bytes_opt_(_MaxCount) const void *_Buf,
39     _In_ int _Val,
40     _In_ size_t _MaxCount);
41 
42   _Check_return_
43   _CRTIMP
44   int
45   __cdecl
46   _memicmp(
47     _In_reads_bytes_opt_(_Size) const void *_Buf1,
48     _In_reads_bytes_opt_(_Size) const void *_Buf2,
49     _In_ size_t _Size);
50 
51   _Check_return_
52   _CRTIMP
53   int
54   __cdecl
55   _memicmp_l(
56     _In_reads_bytes_opt_(_Size) const void *_Buf1,
57     _In_reads_bytes_opt_(_Size) const void *_Buf2,
58     _In_ size_t _Size,
59     _In_opt_ _locale_t _Locale);
60 
61   _Check_return_
62   int
63   __cdecl
64   memcmp(
65     _In_reads_bytes_opt_(_Size) const void *_Buf1,
66     _In_reads_bytes_opt_(_Size) const void *_Buf2,
67     _In_ size_t _Size);
68 
69   _Post_equal_to_(_Dst)
70   _At_buffer_((unsigned char*)_Dst,
71               _Iter_,
72               _MaxCount,
73               _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == ((unsigned char*)_Src)[_Iter_]))
74   _CRT_INSECURE_DEPRECATE_MEMORY(memcpy_s)
75   void*
76   __cdecl
77   memcpy(
78     _Out_writes_bytes_all_(_MaxCount) void *_Dst,
79     _In_reads_bytes_(_MaxCount) const void *_Src,
80     _In_ size_t _MaxCount);
81 
82   _Post_equal_to_(_Dst)
83   _At_buffer_((unsigned char*)_Dst,
84               _Iter_,
85               _Size,
86               _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == _Val))
87   void*
88   __cdecl
89   memset(
90     _Out_writes_bytes_all_(_Size) void *_Dst,
91     _In_ int _Val,
92     _In_ size_t _Size);
93 
94 #ifndef NO_OLDNAMES
95 
96   _CRTIMP
97   void*
98   __cdecl
99   memccpy(
100     _Out_writes_bytes_opt_(_Size) void *_Dst,
101     _In_reads_bytes_opt_(_Size) const void *_Src,
102     _In_ int _Val,
103     _In_ size_t _Size);
104 
105   _Check_return_
106   _CRTIMP
107   int
108   __cdecl
109   memicmp(
110     _In_reads_bytes_opt_(_Size) const void *_Buf1,
111     _In_reads_bytes_opt_(_Size) const void *_Buf2,
112     _In_ size_t _Size);
113 
114 #endif /* NO_OLDNAMES */
115 
116 #endif /* _CRT_MEMORY_DEFINED */
117 
118 #ifdef __cplusplus
119 }
120 #endif
121 
122 #endif /* _INC_MEMORY */
123