xref: /aosp_15_r20/development/vndk/tools/header-checker/tests/integration/availability/include/base.h (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1 #define __INTRODUCED_IN(api_level) \
2   __attribute__((__availability__(android, introduced = api_level)))
3 
4 #define __DEPRECATED_IN(api_level) \
5   __attribute__((__availability__(android, deprecated = api_level)))
6 
7 #define __OBSOLETED_IN(api_level) \
8   __attribute__((__availability__(android, obsoleted = api_level)))
9 
10 #define __UNAVAILABLE __attribute__((__availability__(android, unavailable)))
11 
12 struct Struct {
13   int ignored_field __INTRODUCED_IN(36)
14       __attribute__((availability(macos, introduced = 35)));
15   int field __attribute__((availability(macos, unavailable)));
16 } __INTRODUCED_IN(35);
17 
18 struct IgnoredStruct {
19   int field;
20 } __INTRODUCED_IN(36);
21 
22 enum {
23   ALPHABETICALLY_SMALLEST_IGNORED_FIELD __INTRODUCED_IN(36),
24   DEPRECATED __DEPRECATED_IN(35),
25   FIELD,
26   OBSOLETED __OBSOLETED_IN(35),
27   UNAVAILABLE __UNAVAILABLE
28 } __INTRODUCED_IN(35);
29 
30 extern "C" {
31 int func(Struct*, IgnoredStruct*) __INTRODUCED_IN(35);
32 int ignored_func() __INTRODUCED_IN(36);
33 int var __INTRODUCED_IN(35) __OBSOLETED_IN(36);
34 int ignored_var __INTRODUCED_IN(36);
35 }
36