winegcc: Support -Wl,--start-group and -Wl,--end-group.
[wine.git] / include / sal.h
blob5e51719d35b7f15aba0015a0881ae6d4faa356c6
1 /*
2 * Copyright (C) 2018 Alistair Leslie-Hughes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_SAL_H__
20 #define __WINE_SAL_H__
22 /* These belong in driverspecs.h */
23 #define __drv_allocatesMem(ptr)
24 #define __drv_freesMem(ptr)
26 #define _Always_(exp)
28 #define _Analysis_noreturn_
30 #define _At_(a, b)
31 #define _At_buffer_(a, b, c, d)
33 #define _Check_return_
34 #define _Check_return_opt_
36 #define _COM_Outptr_
37 #define _COM_Outptr_result_maybenull_
39 #define _Deref_in_range_(cnt)
40 #define _Deref_out_
41 #define _Deref_out_z_
42 #define _Deref_out_opt_
43 #define _Deref_out_opt_z_
44 #define _Deref_out_range_(x, y)
45 #define _Deref_post_maybenull_
46 #define _Deref_post_opt_cap_(count)
47 #define _Deref_post_opt_valid_
48 #define _Deref_post_opt_z_cap_(count)
49 #define _Deref_post_valid_
50 #define _Deref_post_z_
51 #define _Deref_pre_maybenull_
52 #define _Deref_pre_z_
53 #define _Deref_prepost_opt_z_
54 #define _Deref_ret_z_
56 #define _Field_range_(min, max)
58 #define _Frees_ptr_opt_
60 #define __in
61 #define __in_opt
62 #define _In_
63 #define _In_bytecount_(count)
64 #define _In_bytecount_c_(count)
65 #define _In_bytecount_x_(count)
66 #define _In_count_(count)
67 #define _In_count_c_(count)
68 #define _In_count_x_(count)
69 #define _In_opt_
70 #define _In_opt_bytecount_(count)
71 #define _In_opt_bytecount_c_(count)
72 #define _In_opt_bytecount_x_(count)
73 #define _In_opt_count_(count)
74 #define _In_opt_count_c_(count)
75 #define _In_opt_count_x_(count)
76 #define _In_opt_ptrdiff_count_(count)
77 #define _In_opt_z_
78 #define _In_opt_z_count_(count)
79 #define _In_opt_z_count_c_(count)
80 #define _In_opt_z_bytecount_(count)
81 #define _In_opt_z_bytecount_c_(count)
82 #define _In_ptrdiff_count_(count)
83 #define _In_range_(min, max)
84 #define _In_reads_(count)
85 #define _In_reads_bytes_(count)
86 #define _In_reads_bytes_opt_(count)
87 #define _In_reads_opt_(count)
88 #define _In_reads_opt_z_(count)
89 #define _In_reads_or_z_(count)
90 #define _In_reads_or_z_opt_(count)
91 #define _In_reads_z_(count)
92 #define _In_z_
93 #define _In_z_bytecount_(count)
94 #define _In_z_bytecount_c_(count)
95 #define _In_z_count_(count)
96 #define _In_z_count_c_(count)
98 #define __inout
99 #define _Inout_
100 #define _Inout_bytecap_x_(count)
101 #define _Inout_cap_(count)
102 #define _Inout_opt_
103 #define _Inout_opt_cap_c_(count)
104 #define _Inout_opt_z_
105 #define _Inout_opt_z_bytecap_(count)
106 #define _Inout_updates_(count)
107 #define _Inout_updates_bytes_(count)
108 #define _Inout_updates_bytes_all_opt_(count)
109 #define _Inout_updates_bytes_opt_(count)
110 #define _Inout_updates_opt_(count)
111 #define _Inout_updates_z_(count)
112 #define _Inout_updates_opt_z_(count)
113 #define _Inout_z_
114 #define _Inout_z_bytecap_(count)
115 #define _Inout_z_cap_(count)
116 #define _Inout_z_cap_c_(count)
118 #define _Must_inspect_result_
120 #define _Null_
121 #define _Null_terminated_
123 #define __out
124 #define __out_opt
125 #define _Out_
126 #define _Outptr_
127 #define _Out_bytecap_(count)
128 #define _Out_bytecap_c_(count)
129 #define _Out_bytecap_x_(count)
130 #define _Out_bytecapcount_(count)
131 #define _Out_bytecap_post_bytecount_(count1, count2)
132 #define _Out_cap_(count)
133 #define _Out_cap_c_(count)
134 #define _Out_cap_m_(count1, count2)
135 #define _Out_cap_x_(count)
136 #define _Out_cap_post_count_(count1, count2)
137 #define _Out_opt_
138 #define _Out_opt_bytecap_(count)
139 #define _Out_opt_bytecap_c_(count)
140 #define _Out_opt_bytecap_x_(count)
141 #define _Out_opt_bytecap_post_bytecount_(count1, count2)
142 #define _Out_opt_bytecapcount_(count)
143 #define _Out_opt_cap_(count)
144 #define _Out_opt_cap_m_(count1, count2)
145 #define _Out_opt_cap_c_(count)
146 #define _Out_opt_cap_x_(count)
147 #define _Out_opt_cap_post_count_(count1, count2)
148 #define _Out_opt_ptrdiff_cap_(count)
149 #define _Out_opt_z_bytecap_(count)
150 #define _Out_opt_z_bytecap_c_(count)
151 #define _Out_opt_z_bytecap_x_(count)
152 #define _Out_opt_z_bytecap_post_bytecount_(count1, count2)
153 #define _Out_opt_z_cap_(count)
154 #define _Out_opt_z_cap_c_(count)
155 #define _Out_opt_z_cap_m_(count1, count2)
156 #define _Out_opt_z_cap_x_(count)
157 #define _Out_opt_z_cap_post_count_(count1, count2)
158 #define _Out_ptrdiff_cap_(count)
159 #define _Out_writes_(count)
160 #define _Out_writes_all_(count)
161 #define _Out_writes_bytes_(count)
162 #define _Out_writes_bytes_all_(count)
163 #define _Out_writes_bytes_all_opt_(count)
164 #define _Out_writes_bytes_opt_(count)
165 #define _Out_writes_bytes_to_(count1, count2)
166 #define _Out_writes_bytes_to_opt_(count1, count2)
167 #define _Out_writes_opt_(count)
168 #define _Out_writes_opt_z_(count)
169 #define _Out_writes_to_(count1, count2)
170 #define _Out_writes_to_opt_(count1, count2)
171 #define _Out_writes_z_(count)
172 #define _Out_z_bytecap_(count)
173 #define _Out_z_bytecap_c_(count)
174 #define _Out_z_bytecap_x_(count)
175 #define _Out_z_bytecap_post_bytecount_(count1, count2)
176 #define _Out_z_cap_(count)
177 #define _Out_z_cap_c_(count)
178 #define _Out_z_cap_m_(count1, count2)
179 #define _Out_z_cap_x_(count)
180 #define _Out_z_cap_post_count_(count1, count2)
182 #define _Outptr_opt_
183 #define _Outptr_opt_result_buffer_(count)
184 #define _Outptr_opt_result_maybenull_
185 #define _Outptr_opt_result_z_
186 #define _Outptr_result_buffer_(count)
187 #define _Outptr_result_buffer_all_maybenull_(ptr)
188 #define _Outptr_result_buffer_maybenull_(count)
189 #define _Outptr_result_maybenull_
190 #define _Outptr_result_maybenull_z_
191 #define _Outptr_result_nullonfailure_
192 #define _Outptr_result_z_
194 #define _Param_(p)
196 #define _Post_count_(count)
197 #define _Post_count_c_(count)
198 #define _Post_equal_to_(exp)
199 #define _Post_invalid_
200 #define _Post_maybez_
201 #define _Post_ptr_invalid_
202 #define _Post_readable_byte_size_(count)
203 #define _Post_readable_size_(count)
204 #define _Post_same_lock_(exp, exp1)
205 #define _Post_satisfies_(exp)
206 #define _Post_writable_byte_size_(count)
207 #define _Post_writable_size_(count)
208 #define _Post_z_
210 #define _Pre_cap_for_(count)
211 #define _Pre_maybenull_
212 #define _Pre_notnull_
213 #define _Pre_null_
214 #define _Pre_opt_z_
215 #define _Pre_valid_
216 #define _Pre_writable_size_(count)
217 #define _Pre_z_
218 #define _Prepost_z_
220 #define _Printf_format_string_
221 #define _Printf_format_string_params_(count)
223 #define _Reserved_
225 #define _Result_nullonfailure_
227 #define _Ret_maybenull_
228 #define _Ret_maybenull_z_
229 #define _Ret_notnull_
230 #define _Ret_opt_
231 #define _Ret_opt_bytecap_(count)
232 #define _Ret_opt_bytecap_x_(count)
233 #define _Ret_opt_z_cap_(count)
234 #define _Ret_range_(exp,exp2)
235 #define _Ret_writes_bytes_maybenull_(count)
236 #define _Ret_writes_z_(count)
237 #define _Ret_z_
239 #define _Return_type_success_(count)
241 #define _Scanf_format_string_
242 #define _Scanf_format_string_params_(count)
243 #define _Scanf_s_format_string_
244 #define _Scanf_s_format_string_params_(count)
246 #define _Success_(exp)
248 #define _When_(exp1, exp2)
250 #endif