1bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao/*
2dfb74c5f597542c7587a4144eb31b143d82a2281Elliott Hughes * Copyright (C) 2016 The Android Open Source Project
3bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao *
4bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * Licensed under the Apache License, Version 2.0 (the "License");
5bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * you may not use this file except in compliance with the License.
6bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * You may obtain a copy of the License at
7bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao *
8dfb74c5f597542c7587a4144eb31b143d82a2281Elliott Hughes *      http://www.apache.org/licenses/LICENSE-2.0
9bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao *
10bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * Unless required by applicable law or agreed to in writing, software
11bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * distributed under the License is distributed on an "AS IS" BASIS,
12bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * See the License for the specific language governing permissions and
14bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao * limitations under the License.
15bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao */
16bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao
17bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#ifndef ANDROID_VERSIONING_H
18bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define ANDROID_VERSIONING_H
19bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao
20bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __INTRODUCED_IN(api_level) __attribute__((annotate("introduced_in=" #api_level)))
21bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __INTRODUCED_IN_FUTURE __attribute__((annotate("introduced_in_future")))
22bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __DEPRECATED_IN(api_level) __attribute__((annotate("deprecated_in=" #api_level)))
23bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __REMOVED_IN(api_level) __attribute__((annotate("obsoleted_in=" #api_level)))
24bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __INTRODUCED_IN_32(api_level) __attribute__((annotate("introduced_in_32=" #api_level)))
25bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __INTRODUCED_IN_64(api_level) __attribute__((annotate("introduced_in_64=" #api_level)))
26bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __INTRODUCED_IN_ARM(api_level) __attribute__((annotate("introduced_in_arm=" #api_level)))
27bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __INTRODUCED_IN_X86(api_level) __attribute__((annotate("introduced_in_x86=" #api_level)))
28bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#define __INTRODUCED_IN_MIPS(api_level) __attribute__((annotate("introduced_in_mips=" #api_level)))
29bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao
30fff29fe17a4187ea83add76695040bc888e9d3bdJosh Gao#define __VERSIONER_NO_GUARD __attribute__((annotate("versioner_no_guard")))
31fff29fe17a4187ea83add76695040bc888e9d3bdJosh Gao
32bfb6bae9fb5ef42e4f9ae2847f30f41938c04900Josh Gao#endif /* ANDROID_VERSIONING_H */
33