1 /* 2 * Copyright (c) 2023 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 DEVICEINFO_CSDK_H 17 #define DEVICEINFO_CSDK_H 18 19 #ifdef __cplusplus 20 #if __cplusplus 21 extern "C" { 22 #endif 23 #endif 24 25 /** 26 * Obtains the device type represented by a string, 27 * which can be {@code phone} (or {@code default} for phones), {@code wearable}, {@code liteWearable}, 28 * {@code tablet}, {@code tv}, {@code car}, or {@code smartVision}. 29 * @syscap SystemCapability.Startup.SystemInfo 30 * @since 10 31 */ 32 const char *OH_GetDeviceType(void); 33 34 /** 35 * Obtains the device manufacturer represented by a string. 36 * @syscap SystemCapability.Startup.SystemInfo 37 * @since 10 38 */ 39 const char *OH_GetManufacture(void); 40 41 /** 42 * Obtains the device brand represented by a string. 43 * @syscap SystemCapability.Startup.SystemInfo 44 * @since 10 45 */ 46 const char *OH_GetBrand(void); 47 48 /** 49 * Obtains the product name speaded in the market 50 * @syscap SystemCapability.Startup.SystemInfo 51 * @since 10 52 */ 53 const char *OH_GetMarketName(void); 54 55 /** 56 * Obtains the product series represented by a string. 57 * @syscap SystemCapability.Startup.SystemInfo 58 * @since 10 59 */ 60 const char *OH_GetProductSeries(void); 61 62 /** 63 * Obtains the product model represented by a string. 64 * @syscap SystemCapability.Startup.SystemInfo 65 * @since 10 66 */ 67 const char *OH_GetProductModel(void); 68 69 /** 70 * Obtains the software model represented by a string. 71 * @syscap SystemCapability.Startup.SystemInfo 72 * @since 10 73 */ 74 const char *OH_GetSoftwareModel(void); 75 76 /** 77 * Obtains the hardware model represented by a string. 78 * @syscap SystemCapability.Startup.SystemInfo 79 * @since 10 80 */ 81 const char *OH_GetHardwareModel(void); 82 83 /** 84 * Obtains the bootloader version number represented by a string. 85 * @syscap SystemCapability.Startup.SystemInfo 86 * @since 10 87 */ 88 const char *OH_GetBootloaderVersion(void); 89 90 /** 91 * Obtains the application binary interface (Abi) list represented by a string. 92 * @syscap SystemCapability.Startup.SystemInfo 93 * @since 10 94 */ 95 const char *OH_GetAbiList(void); 96 97 /** 98 * Obtains the security patch tag represented by a string. 99 * @syscap SystemCapability.Startup.SystemInfo 100 * @since 10 101 */ 102 const char *OH_GetSecurityPatchTag(void); 103 104 /** 105 * Obtains the product version displayed for customer represented by a string. 106 * @syscap SystemCapability.Startup.SystemInfo 107 * @since 10 108 */ 109 const char *OH_GetDisplayVersion(void); 110 111 /** 112 * Obtains the incremental version represented by a string. 113 * @syscap SystemCapability.Startup.SystemInfo 114 * @since 10 115 */ 116 const char *OH_GetIncrementalVersion(void); 117 118 /** 119 * Obtains the OS release type represented by a string. 120 * 121 * <p>The OS release category can be {@code Release}, {@code Beta}, or {@code Canary}. 122 * The specific release type may be {@code Release}, {@code Beta1}, or others alike. 123 * @syscap SystemCapability.Startup.SystemInfo 124 * @since 10 125 */ 126 const char *OH_GetOsReleaseType(void); 127 128 /** 129 * Obtains the OS full version name represented by a string. 130 * @syscap SystemCapability.Startup.SystemInfo 131 * @since 10 132 */ 133 const char *OH_GetOSFullName(void); 134 135 /** 136 * Obtains the SDK API version number. 137 * @syscap SystemCapability.Startup.SystemInfo 138 * @since 10 139 */ 140 int OH_GetSdkApiVersion(void); 141 142 /** 143 * Obtains the first API version number. 144 * @syscap SystemCapability.Startup.SystemInfo 145 * @since 10 146 */ 147 int OH_GetFirstApiVersion(void); 148 149 /** 150 * Obtains the version ID by a string. 151 * @syscap SystemCapability.Startup.SystemInfo 152 * @since 10 153 */ 154 const char *OH_GetVersionId(void); 155 156 /** 157 * Obtains the build type of the current running OS. 158 * @syscap SystemCapability.Startup.SystemInfo 159 * @since 10 160 */ 161 const char *OH_GetBuildType(void); 162 163 /** 164 * Obtains the build user of the current running OS. 165 * @syscap SystemCapability.Startup.SystemInfo 166 * @since 10 167 */ 168 const char *OH_GetBuildUser(void); 169 170 /** 171 * Obtains the build host of the current running OS. 172 * @syscap SystemCapability.Startup.SystemInfo 173 * @since 10 174 */ 175 const char *OH_GetBuildHost(void); 176 177 /** 178 * Obtains the build time of the current running OS. 179 * @syscap SystemCapability.Startup.SystemInfo 180 * @since 10 181 */ 182 const char *OH_GetBuildTime(void); 183 184 /** 185 * Obtains the version hash of the current running OS. 186 * @syscap SystemCapability.Startup.SystemInfo 187 * @since 10 188 */ 189 const char *OH_GetBuildRootHash(void); 190 191 /** 192 * Obtains the Distribution OS name represented by a string. 193 * 194 * <p>Independent Software Vendor (ISV) may distribute OHOS with their own OS name. 195 * If ISV not specified, it will return an empty string 196 * @syscap SystemCapability.Startup.SystemInfo 197 * @since 10 198 */ 199 const char *OH_GetDistributionOSName(void); 200 201 /** 202 * Obtains the ISV distribution OS version represented by a string. 203 * If ISV not specified, it will return the same value as OH_GetOSFullName 204 * @syscap SystemCapability.Startup.SystemInfo 205 * @since 10 206 */ 207 const char *OH_GetDistributionOSVersion(void); 208 209 /** 210 * Obtains the ISV distribution OS api version represented by a integer. 211 * If ISV not specified, it will return the same value as OH_GetSdkApiVersion 212 * @syscap SystemCapability.Startup.SystemInfo 213 * @since 10 214 */ 215 int OH_GetDistributionOSApiVersion(void); 216 217 /** 218 * Obtains the ISV distribution OS release type represented by a string. 219 * If ISV not specified, it will return the same value as OH_GetOsReleaseType 220 * @syscap SystemCapability.Startup.SystemInfo 221 * @since 10 222 */ 223 const char *OH_GetDistributionOSReleaseType(void); 224 225 #ifdef __cplusplus 226 #if __cplusplus 227 } 228 #endif 229 #endif 230 #endif 231