master
1/*
2 * Copyright (c) 2019 by Apple Inc.. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24#ifndef __AVAILABILITY_VERSIONS__
25#define __AVAILABILITY_VERSIONS__
26
27#define __MAC_10_0 1000
28#define __MAC_10_1 1010
29#define __MAC_10_2 1020
30#define __MAC_10_3 1030
31#define __MAC_10_4 1040
32#define __MAC_10_5 1050
33#define __MAC_10_6 1060
34#define __MAC_10_7 1070
35#define __MAC_10_8 1080
36#define __MAC_10_9 1090
37#define __MAC_10_10 101000
38#define __MAC_10_10_2 101002
39#define __MAC_10_10_3 101003
40#define __MAC_10_11 101100
41#define __MAC_10_11_2 101102
42#define __MAC_10_11_3 101103
43#define __MAC_10_11_4 101104
44#define __MAC_10_12 101200
45#define __MAC_10_12_1 101201
46#define __MAC_10_12_2 101202
47#define __MAC_10_12_4 101204
48#define __MAC_10_13 101300
49#define __MAC_10_13_1 101301
50#define __MAC_10_13_2 101302
51#define __MAC_10_13_4 101304
52#define __MAC_10_14 101400
53#define __MAC_10_14_1 101401
54#define __MAC_10_14_4 101404
55#define __MAC_10_14_5 101405
56#define __MAC_10_14_6 101406
57#define __MAC_10_15 101500
58#define __MAC_10_15_1 101501
59#define __MAC_10_15_4 101504
60#define __MAC_10_16 101600
61#define __MAC_11_0 110000
62#define __MAC_11_1 110100
63#define __MAC_11_3 110300
64#define __MAC_11_4 110400
65#define __MAC_11_5 110500
66#define __MAC_11_6 110600
67#define __MAC_12_0 120000
68#define __MAC_12_1 120100
69#define __MAC_12_2 120200
70#define __MAC_12_3 120300
71#define __MAC_12_4 120400
72#define __MAC_12_5 120500
73#define __MAC_12_6 120600
74#define __MAC_12_7 120700
75#define __MAC_13_0 130000
76#define __MAC_13_1 130100
77#define __MAC_13_2 130200
78#define __MAC_13_3 130300
79#define __MAC_13_4 130400
80#define __MAC_13_5 130500
81#define __MAC_13_6 130600
82#define __MAC_13_7 130700
83#define __MAC_14_0 140000
84#define __MAC_14_1 140100
85#define __MAC_14_2 140200
86#define __MAC_14_3 140300
87#define __MAC_14_4 140400
88#define __MAC_14_5 140500
89#define __MAC_14_6 140600
90#define __MAC_14_7 140700
91#define __MAC_15_0 150000
92#define __MAC_15_1 150100
93#define __MAC_15_2 150200
94#define __MAC_15_3 150300
95#define __MAC_15_4 150400
96#define __MAC_15_5 150500
97#define __MAC_15_6 150600
98#define __MAC_16_0 160000
99#define __MAC_26_0 260000
100#define __MAC_26_1 260100
101/* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
102
103#define __IPHONE_2_0 20000
104#define __IPHONE_2_1 20100
105#define __IPHONE_2_2 20200
106#define __IPHONE_3_0 30000
107#define __IPHONE_3_1 30100
108#define __IPHONE_3_2 30200
109#define __IPHONE_4_0 40000
110#define __IPHONE_4_1 40100
111#define __IPHONE_4_2 40200
112#define __IPHONE_4_3 40300
113#define __IPHONE_5_0 50000
114#define __IPHONE_5_1 50100
115#define __IPHONE_6_0 60000
116#define __IPHONE_6_1 60100
117#define __IPHONE_7_0 70000
118#define __IPHONE_7_1 70100
119#define __IPHONE_8_0 80000
120#define __IPHONE_8_1 80100
121#define __IPHONE_8_2 80200
122#define __IPHONE_8_3 80300
123#define __IPHONE_8_4 80400
124#define __IPHONE_9_0 90000
125#define __IPHONE_9_1 90100
126#define __IPHONE_9_2 90200
127#define __IPHONE_9_3 90300
128#define __IPHONE_10_0 100000
129#define __IPHONE_10_1 100100
130#define __IPHONE_10_2 100200
131#define __IPHONE_10_3 100300
132#define __IPHONE_11_0 110000
133#define __IPHONE_11_1 110100
134#define __IPHONE_11_2 110200
135#define __IPHONE_11_3 110300
136#define __IPHONE_11_4 110400
137#define __IPHONE_12_0 120000
138#define __IPHONE_12_1 120100
139#define __IPHONE_12_2 120200
140#define __IPHONE_12_3 120300
141#define __IPHONE_12_4 120400
142#define __IPHONE_13_0 130000
143#define __IPHONE_13_1 130100
144#define __IPHONE_13_2 130200
145#define __IPHONE_13_3 130300
146#define __IPHONE_13_4 130400
147#define __IPHONE_13_5 130500
148#define __IPHONE_13_6 130600
149#define __IPHONE_13_7 130700
150#define __IPHONE_14_0 140000
151#define __IPHONE_14_1 140100
152#define __IPHONE_14_2 140200
153#define __IPHONE_14_3 140300
154#define __IPHONE_14_5 140500
155#define __IPHONE_14_6 140600
156#define __IPHONE_14_7 140700
157#define __IPHONE_14_8 140800
158#define __IPHONE_15_0 150000
159#define __IPHONE_15_1 150100
160#define __IPHONE_15_2 150200
161#define __IPHONE_15_3 150300
162#define __IPHONE_15_4 150400
163#define __IPHONE_15_5 150500
164#define __IPHONE_15_6 150600
165#define __IPHONE_15_7 150700
166#define __IPHONE_15_8 150800
167#define __IPHONE_16_0 160000
168#define __IPHONE_16_1 160100
169#define __IPHONE_16_2 160200
170#define __IPHONE_16_3 160300
171#define __IPHONE_16_4 160400
172#define __IPHONE_16_5 160500
173#define __IPHONE_16_6 160600
174#define __IPHONE_16_7 160700
175#define __IPHONE_17_0 170000
176#define __IPHONE_17_1 170100
177#define __IPHONE_17_2 170200
178#define __IPHONE_17_3 170300
179#define __IPHONE_17_4 170400
180#define __IPHONE_17_5 170500
181#define __IPHONE_17_6 170600
182#define __IPHONE_17_7 170700
183#define __IPHONE_18_0 180000
184#define __IPHONE_18_1 180100
185#define __IPHONE_18_2 180200
186#define __IPHONE_18_3 180300
187#define __IPHONE_18_4 180400
188#define __IPHONE_18_5 180500
189#define __IPHONE_18_6 180600
190#define __IPHONE_19_0 190000
191#define __IPHONE_26_0 260000
192#define __IPHONE_26_1 260100
193/* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
194
195#define __WATCHOS_1_0 10000
196#define __WATCHOS_2_0 20000
197#define __WATCHOS_2_1 20100
198#define __WATCHOS_2_2 20200
199#define __WATCHOS_3_0 30000
200#define __WATCHOS_3_1 30100
201#define __WATCHOS_3_1_1 30101
202#define __WATCHOS_3_2 30200
203#define __WATCHOS_4_0 40000
204#define __WATCHOS_4_1 40100
205#define __WATCHOS_4_2 40200
206#define __WATCHOS_4_3 40300
207#define __WATCHOS_5_0 50000
208#define __WATCHOS_5_1 50100
209#define __WATCHOS_5_2 50200
210#define __WATCHOS_5_3 50300
211#define __WATCHOS_6_0 60000
212#define __WATCHOS_6_1 60100
213#define __WATCHOS_6_2 60200
214#define __WATCHOS_7_0 70000
215#define __WATCHOS_7_1 70100
216#define __WATCHOS_7_2 70200
217#define __WATCHOS_7_3 70300
218#define __WATCHOS_7_4 70400
219#define __WATCHOS_7_5 70500
220#define __WATCHOS_7_6 70600
221#define __WATCHOS_8_0 80000
222#define __WATCHOS_8_1 80100
223#define __WATCHOS_8_3 80300
224#define __WATCHOS_8_4 80400
225#define __WATCHOS_8_5 80500
226#define __WATCHOS_8_6 80600
227#define __WATCHOS_8_7 80700
228#define __WATCHOS_8_8 80800
229#define __WATCHOS_9_0 90000
230#define __WATCHOS_9_1 90100
231#define __WATCHOS_9_2 90200
232#define __WATCHOS_9_3 90300
233#define __WATCHOS_9_4 90400
234#define __WATCHOS_9_5 90500
235#define __WATCHOS_9_6 90600
236#define __WATCHOS_10_0 100000
237#define __WATCHOS_10_1 100100
238#define __WATCHOS_10_2 100200
239#define __WATCHOS_10_3 100300
240#define __WATCHOS_10_4 100400
241#define __WATCHOS_10_5 100500
242#define __WATCHOS_10_6 100600
243#define __WATCHOS_10_7 100700
244#define __WATCHOS_11_0 110000
245#define __WATCHOS_11_1 110100
246#define __WATCHOS_11_2 110200
247#define __WATCHOS_11_3 110300
248#define __WATCHOS_11_4 110400
249#define __WATCHOS_11_5 110500
250#define __WATCHOS_11_6 110600
251#define __WATCHOS_12_0 120000
252#define __WATCHOS_26_0 260000
253#define __WATCHOS_26_1 260100
254/* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
255
256#define __TVOS_9_0 90000
257#define __TVOS_9_1 90100
258#define __TVOS_9_2 90200
259#define __TVOS_10_0 100000
260#define __TVOS_10_0_1 100001
261#define __TVOS_10_1 100100
262#define __TVOS_10_2 100200
263#define __TVOS_11_0 110000
264#define __TVOS_11_1 110100
265#define __TVOS_11_2 110200
266#define __TVOS_11_3 110300
267#define __TVOS_11_4 110400
268#define __TVOS_12_0 120000
269#define __TVOS_12_1 120100
270#define __TVOS_12_2 120200
271#define __TVOS_12_3 120300
272#define __TVOS_12_4 120400
273#define __TVOS_13_0 130000
274#define __TVOS_13_2 130200
275#define __TVOS_13_3 130300
276#define __TVOS_13_4 130400
277#define __TVOS_14_0 140000
278#define __TVOS_14_1 140100
279#define __TVOS_14_2 140200
280#define __TVOS_14_3 140300
281#define __TVOS_14_5 140500
282#define __TVOS_14_6 140600
283#define __TVOS_14_7 140700
284#define __TVOS_15_0 150000
285#define __TVOS_15_1 150100
286#define __TVOS_15_2 150200
287#define __TVOS_15_3 150300
288#define __TVOS_15_4 150400
289#define __TVOS_15_5 150500
290#define __TVOS_15_6 150600
291#define __TVOS_16_0 160000
292#define __TVOS_16_1 160100
293#define __TVOS_16_2 160200
294#define __TVOS_16_3 160300
295#define __TVOS_16_4 160400
296#define __TVOS_16_5 160500
297#define __TVOS_16_6 160600
298#define __TVOS_17_0 170000
299#define __TVOS_17_1 170100
300#define __TVOS_17_2 170200
301#define __TVOS_17_3 170300
302#define __TVOS_17_4 170400
303#define __TVOS_17_5 170500
304#define __TVOS_17_6 170600
305#define __TVOS_18_0 180000
306#define __TVOS_18_1 180100
307#define __TVOS_18_2 180200
308#define __TVOS_18_3 180300
309#define __TVOS_18_4 180400
310#define __TVOS_18_5 180500
311#define __TVOS_18_6 180600
312#define __TVOS_19_0 190000
313#define __TVOS_26_0 260000
314#define __TVOS_26_1 260100
315/* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
316
317#define __BRIDGEOS_2_0 20000
318#define __BRIDGEOS_3_0 30000
319#define __BRIDGEOS_3_1 30100
320#define __BRIDGEOS_3_4 30400
321#define __BRIDGEOS_4_0 40000
322#define __BRIDGEOS_4_1 40100
323#define __BRIDGEOS_5_0 50000
324#define __BRIDGEOS_5_1 50100
325#define __BRIDGEOS_5_3 50300
326#define __BRIDGEOS_6_0 60000
327#define __BRIDGEOS_6_2 60200
328#define __BRIDGEOS_6_4 60400
329#define __BRIDGEOS_6_5 60500
330#define __BRIDGEOS_6_6 60600
331#define __BRIDGEOS_7_0 70000
332#define __BRIDGEOS_7_1 70100
333#define __BRIDGEOS_7_2 70200
334#define __BRIDGEOS_7_3 70300
335#define __BRIDGEOS_7_4 70400
336#define __BRIDGEOS_7_6 70600
337#define __BRIDGEOS_8_0 80000
338#define __BRIDGEOS_8_1 80100
339#define __BRIDGEOS_8_2 80200
340#define __BRIDGEOS_8_3 80300
341#define __BRIDGEOS_8_4 80400
342#define __BRIDGEOS_8_5 80500
343#define __BRIDGEOS_8_6 80600
344#define __BRIDGEOS_9_0 90000
345#define __BRIDGEOS_9_1 90100
346#define __BRIDGEOS_9_2 90200
347#define __BRIDGEOS_9_3 90300
348#define __BRIDGEOS_9_4 90400
349#define __BRIDGEOS_9_5 90500
350#define __BRIDGEOS_9_6 90600
351#define __BRIDGEOS_10_0 100000
352#define __BRIDGEOS_10_1 100100
353
354
355#define __DRIVERKIT_19_0 190000
356#define __DRIVERKIT_20_0 200000
357#define __DRIVERKIT_21_0 210000
358#define __DRIVERKIT_22_0 220000
359#define __DRIVERKIT_22_4 220400
360#define __DRIVERKIT_22_5 220500
361#define __DRIVERKIT_22_6 220600
362#define __DRIVERKIT_23_0 230000
363#define __DRIVERKIT_23_1 230100
364#define __DRIVERKIT_23_2 230200
365#define __DRIVERKIT_23_3 230300
366#define __DRIVERKIT_23_4 230400
367#define __DRIVERKIT_23_5 230500
368#define __DRIVERKIT_23_6 230600
369#define __DRIVERKIT_24_0 240000
370#define __DRIVERKIT_24_1 240100
371#define __DRIVERKIT_24_2 240200
372#define __DRIVERKIT_24_3 240300
373#define __DRIVERKIT_24_4 240400
374#define __DRIVERKIT_24_5 240500
375#define __DRIVERKIT_24_6 240600
376#define __DRIVERKIT_25_0 250000
377#define __DRIVERKIT_25_1 250100
378/* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
379
380#define __VISIONOS_1_0 10000
381#define __VISIONOS_1_1 10100
382#define __VISIONOS_1_2 10200
383#define __VISIONOS_1_3 10300
384#define __VISIONOS_2_0 20000
385#define __VISIONOS_2_1 20100
386#define __VISIONOS_2_2 20200
387#define __VISIONOS_2_3 20300
388#define __VISIONOS_2_4 20400
389#define __VISIONOS_2_5 20500
390#define __VISIONOS_2_6 20600
391#define __VISIONOS_3_0 30000
392#define __VISIONOS_26_0 260000
393#define __VISIONOS_26_1 260100
394/* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
395
396
397
398/* __KERNELKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
399
400
401#ifndef __OPEN_SOURCE__
402
403#endif /* __OPEN_SOURCE__ */
404
405/*
406 * Set up standard Mac OS X versions
407 */
408
409#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE)
410
411#define MAC_OS_X_VERSION_10_0 __MAC_10_0
412#define MAC_OS_X_VERSION_10_1 __MAC_10_1
413#define MAC_OS_X_VERSION_10_2 __MAC_10_2
414#define MAC_OS_X_VERSION_10_3 __MAC_10_3
415#define MAC_OS_X_VERSION_10_4 __MAC_10_4
416#define MAC_OS_X_VERSION_10_5 __MAC_10_5
417#define MAC_OS_X_VERSION_10_6 __MAC_10_6
418#define MAC_OS_X_VERSION_10_7 __MAC_10_7
419#define MAC_OS_X_VERSION_10_8 __MAC_10_8
420#define MAC_OS_X_VERSION_10_9 __MAC_10_9
421#define MAC_OS_X_VERSION_10_10 __MAC_10_10
422#define MAC_OS_X_VERSION_10_10_2 __MAC_10_10_2
423#define MAC_OS_X_VERSION_10_10_3 __MAC_10_10_3
424#define MAC_OS_X_VERSION_10_11 __MAC_10_11
425#define MAC_OS_X_VERSION_10_11_2 __MAC_10_11_2
426#define MAC_OS_X_VERSION_10_11_3 __MAC_10_11_3
427#define MAC_OS_X_VERSION_10_11_4 __MAC_10_11_4
428#define MAC_OS_X_VERSION_10_12 __MAC_10_12
429#define MAC_OS_X_VERSION_10_12_1 __MAC_10_12_1
430#define MAC_OS_X_VERSION_10_12_2 __MAC_10_12_2
431#define MAC_OS_X_VERSION_10_12_4 __MAC_10_12_4
432#define MAC_OS_X_VERSION_10_13 __MAC_10_13
433#define MAC_OS_X_VERSION_10_13_1 __MAC_10_13_1
434#define MAC_OS_X_VERSION_10_13_2 __MAC_10_13_2
435#define MAC_OS_X_VERSION_10_13_4 __MAC_10_13_4
436#define MAC_OS_X_VERSION_10_14 __MAC_10_14
437#define MAC_OS_X_VERSION_10_14_1 __MAC_10_14_1
438#define MAC_OS_X_VERSION_10_14_4 __MAC_10_14_4
439#define MAC_OS_X_VERSION_10_14_5 __MAC_10_14_5
440#define MAC_OS_X_VERSION_10_14_6 __MAC_10_14_6
441#define MAC_OS_X_VERSION_10_15 __MAC_10_15
442#define MAC_OS_X_VERSION_10_15_1 __MAC_10_15_1
443#define MAC_OS_X_VERSION_10_15_4 __MAC_10_15_4
444#define MAC_OS_X_VERSION_10_16 __MAC_10_16
445#define MAC_OS_VERSION_11_0 __MAC_11_0
446#define MAC_OS_VERSION_11_1 __MAC_11_1
447#define MAC_OS_VERSION_11_3 __MAC_11_3
448#define MAC_OS_VERSION_11_4 __MAC_11_4
449#define MAC_OS_VERSION_11_5 __MAC_11_5
450#define MAC_OS_VERSION_11_6 __MAC_11_6
451#define MAC_OS_VERSION_12_0 __MAC_12_0
452#define MAC_OS_VERSION_12_1 __MAC_12_1
453#define MAC_OS_VERSION_12_2 __MAC_12_2
454#define MAC_OS_VERSION_12_3 __MAC_12_3
455#define MAC_OS_VERSION_12_4 __MAC_12_4
456#define MAC_OS_VERSION_12_5 __MAC_12_5
457#define MAC_OS_VERSION_12_6 __MAC_12_6
458#define MAC_OS_VERSION_12_7 __MAC_12_7
459#define MAC_OS_VERSION_13_0 __MAC_13_0
460#define MAC_OS_VERSION_13_1 __MAC_13_1
461#define MAC_OS_VERSION_13_2 __MAC_13_2
462#define MAC_OS_VERSION_13_3 __MAC_13_3
463#define MAC_OS_VERSION_13_4 __MAC_13_4
464#define MAC_OS_VERSION_13_5 __MAC_13_5
465#define MAC_OS_VERSION_13_6 __MAC_13_6
466#define MAC_OS_VERSION_13_7 __MAC_13_7
467#define MAC_OS_VERSION_14_0 __MAC_14_0
468#define MAC_OS_VERSION_14_1 __MAC_14_1
469#define MAC_OS_VERSION_14_2 __MAC_14_2
470#define MAC_OS_VERSION_14_3 __MAC_14_3
471#define MAC_OS_VERSION_14_4 __MAC_14_4
472#define MAC_OS_VERSION_14_5 __MAC_14_5
473#define MAC_OS_VERSION_14_6 __MAC_14_6
474#define MAC_OS_VERSION_14_7 __MAC_14_7
475#define MAC_OS_VERSION_15_0 __MAC_15_0
476#define MAC_OS_VERSION_15_1 __MAC_15_1
477#define MAC_OS_VERSION_15_2 __MAC_15_2
478#define MAC_OS_VERSION_15_3 __MAC_15_3
479#define MAC_OS_VERSION_15_4 __MAC_15_4
480#define MAC_OS_VERSION_15_5 __MAC_15_5
481#define MAC_OS_VERSION_15_6 __MAC_15_6
482#define MAC_OS_VERSION_16_0 __MAC_16_0
483#define MAC_OS_VERSION_26_0 __MAC_26_0
484#define MAC_OS_VERSION_26_1 __MAC_26_1
485
486#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */
487
488#endif /* __AVAILABILITY_VERSIONS__ */
489
490#ifndef __OPEN_SOURCE__
491// This is explicitly outside the header guard
492#ifndef __AVAILABILITY_VERSIONS_VERSION_HASH
493#define __AVAILABILITY_VERSIONS_VERSION_HASH 93585900U
494#define __AVAILABILITY_VERSIONS_VERSION_STRING "Local"
495#define __AVAILABILITY_FILE "AvailabilityVersions.h"
496#elif __AVAILABILITY_VERSIONS_VERSION_HASH != 93585900U
497#pragma GCC error "Already found AvailabilityVersions version " __AVAILABILITY_FILE " from " __AVAILABILITY_VERSIONS_VERSION_STRING ", which is incompatible with AvailabilityVersions.h from Local. Mixing and matching Availability from different SDKs is not supported"
498#endif /* __AVAILABILITY_VERSIONS_VERSION_HASH */
499#endif /* __OPEN_SOURCE__ */