1 /* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef SYSCAP_NDK_H 17 #define SYSCAP_NDK_H 18 19 #include <stdbool.h> 20 21 #ifdef __cplusplus 22 #if __cplusplus 23 extern "C" { 24 #endif 25 #endif 26 27 /** 28 * @brief Queries whether a device supports a specified SystemCapability. 29 * @return true - Supports the specified SystemCapability. 30 * false - The specified SystemCapability is not supported. 31 */ 32 bool canIUse(const char *cap); 33 34 /** 35 * @brief determine whether the current operating system version is greater than or equal to the given value. 36 * 37 * @param majorVersion The major version number which betwen 1 and 999, such as 19 in api version 19.1.2 38 * @param minorVersion The minor version number which betwen 0 and 999, such as 1 in api version 19.1.2 39 * @param patchVersion The patch version number which betwen 0 and 999, such as 2 in api version 19.1.2 40 * @return true - operating system version is greater than or equal to the given value 41 * false - operating system version is less than the given value or invalid api version 42 * @since 19 43 * @example given version is "19.1" 44 * if (OH_IsApiVersionGreaterOrEqual(19, 1, 0)) { 45 * // Use 19.1 APIs. 46 * } else { 47 * // Alternative code for earlier versions. 48 * } 49 */ 50 bool OH_IsApiVersionGreaterOrEqual(int majorVersion, int minorVersion, int patchVersion); 51 52 #ifdef __cplusplus 53 #if __cplusplus 54 } 55 #endif 56 #endif 57 #endif