1d9f0492fSopenharmony_ci/* 2d9f0492fSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3d9f0492fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4d9f0492fSopenharmony_ci * you may not use this file except in compliance with the License. 5d9f0492fSopenharmony_ci * You may obtain a copy of the License at 6d9f0492fSopenharmony_ci * 7d9f0492fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8d9f0492fSopenharmony_ci * 9d9f0492fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10d9f0492fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11d9f0492fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d9f0492fSopenharmony_ci * See the License for the specific language governing permissions and 13d9f0492fSopenharmony_ci * limitations under the License. 14d9f0492fSopenharmony_ci */ 15d9f0492fSopenharmony_ci 16d9f0492fSopenharmony_ci#ifndef DEVICEINFO_CSDK_H 17d9f0492fSopenharmony_ci#define DEVICEINFO_CSDK_H 18d9f0492fSopenharmony_ci 19d9f0492fSopenharmony_ci#ifdef __cplusplus 20d9f0492fSopenharmony_ci#if __cplusplus 21d9f0492fSopenharmony_ciextern "C" { 22d9f0492fSopenharmony_ci#endif 23d9f0492fSopenharmony_ci#endif 24d9f0492fSopenharmony_ci 25d9f0492fSopenharmony_ci/** 26d9f0492fSopenharmony_ci * Obtains the device type represented by a string, 27d9f0492fSopenharmony_ci * which can be {@code phone} (or {@code default} for phones), {@code wearable}, {@code liteWearable}, 28d9f0492fSopenharmony_ci * {@code tablet}, {@code tv}, {@code car}, or {@code smartVision}. 29d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 30d9f0492fSopenharmony_ci * @return NULL - Not found device type, or failed to invoke the internal interface. 31d9f0492fSopenharmony_ci * @since 10 32d9f0492fSopenharmony_ci */ 33d9f0492fSopenharmony_ciconst char *OH_GetDeviceType(void); 34d9f0492fSopenharmony_ci 35d9f0492fSopenharmony_ci/** 36d9f0492fSopenharmony_ci * Obtains the device manufacturer represented by a string. 37d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 38d9f0492fSopenharmony_ci * @return NULL - Not found device manufacturer, or failed to invoke the internal interface. 39d9f0492fSopenharmony_ci * @since 10 40d9f0492fSopenharmony_ci */ 41d9f0492fSopenharmony_ciconst char *OH_GetManufacture(void); 42d9f0492fSopenharmony_ci 43d9f0492fSopenharmony_ci/** 44d9f0492fSopenharmony_ci * Obtains the device brand represented by a string. 45d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 46d9f0492fSopenharmony_ci * @return NULL - Not found device brand, or failed to invoke the internal interface. 47d9f0492fSopenharmony_ci * @since 10 48d9f0492fSopenharmony_ci */ 49d9f0492fSopenharmony_ciconst char *OH_GetBrand(void); 50d9f0492fSopenharmony_ci 51d9f0492fSopenharmony_ci/** 52d9f0492fSopenharmony_ci * Obtains the product name speaded in the market 53d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 54d9f0492fSopenharmony_ci * @return NULL - Not found market name, or failed to invoke the internal interface. 55d9f0492fSopenharmony_ci * @since 10 56d9f0492fSopenharmony_ci */ 57d9f0492fSopenharmony_ciconst char *OH_GetMarketName(void); 58d9f0492fSopenharmony_ci 59d9f0492fSopenharmony_ci/** 60d9f0492fSopenharmony_ci * Obtains the product series represented by a string. 61d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 62d9f0492fSopenharmony_ci * @return NULL - Not found product series, or failed to invoke the internal interface. 63d9f0492fSopenharmony_ci * @since 10 64d9f0492fSopenharmony_ci */ 65d9f0492fSopenharmony_ciconst char *OH_GetProductSeries(void); 66d9f0492fSopenharmony_ci 67d9f0492fSopenharmony_ci/** 68d9f0492fSopenharmony_ci * Obtains the product model represented by a string. 69d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 70d9f0492fSopenharmony_ci * @return NULL - Not found product model, or failed to invoke the internal interface. 71d9f0492fSopenharmony_ci * @since 10 72d9f0492fSopenharmony_ci */ 73d9f0492fSopenharmony_ciconst char *OH_GetProductModel(void); 74d9f0492fSopenharmony_ci 75d9f0492fSopenharmony_ci/** 76d9f0492fSopenharmony_ci * Obtains the software model represented by a string. 77d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 78d9f0492fSopenharmony_ci * @return NULL - Not found software model, or failed to invoke the internal interface. 79d9f0492fSopenharmony_ci * @since 10 80d9f0492fSopenharmony_ci */ 81d9f0492fSopenharmony_ciconst char *OH_GetSoftwareModel(void); 82d9f0492fSopenharmony_ci 83d9f0492fSopenharmony_ci/** 84d9f0492fSopenharmony_ci * Obtains the hardware model represented by a string. 85d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 86d9f0492fSopenharmony_ci * @return NULL - Not found hardware model, or failed to invoke the internal interface. 87d9f0492fSopenharmony_ci * @since 10 88d9f0492fSopenharmony_ci */ 89d9f0492fSopenharmony_ciconst char *OH_GetHardwareModel(void); 90d9f0492fSopenharmony_ci 91d9f0492fSopenharmony_ci/** 92d9f0492fSopenharmony_ci * Obtains the bootloader version number represented by a string. 93d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 94d9f0492fSopenharmony_ci * @return NULL - Not found bootloader version number, or failed to invoke the internal interface. 95d9f0492fSopenharmony_ci * @since 10 96d9f0492fSopenharmony_ci */ 97d9f0492fSopenharmony_ciconst char *OH_GetBootloaderVersion(void); 98d9f0492fSopenharmony_ci 99d9f0492fSopenharmony_ci/** 100d9f0492fSopenharmony_ci * Obtains the application binary interface (Abi) list represented by a string. 101d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 102d9f0492fSopenharmony_ci * @return NULL - Not found Abi list, or failed to invoke the internal interface. 103d9f0492fSopenharmony_ci * @since 10 104d9f0492fSopenharmony_ci */ 105d9f0492fSopenharmony_ciconst char *OH_GetAbiList(void); 106d9f0492fSopenharmony_ci 107d9f0492fSopenharmony_ci/** 108d9f0492fSopenharmony_ci * Obtains the security patch tag represented by a string. 109d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 110d9f0492fSopenharmony_ci * @return NULL - Not found security patch tag, or failed to invoke the internal interface. 111d9f0492fSopenharmony_ci * @since 10 112d9f0492fSopenharmony_ci */ 113d9f0492fSopenharmony_ciconst char *OH_GetSecurityPatchTag(void); 114d9f0492fSopenharmony_ci 115d9f0492fSopenharmony_ci/** 116d9f0492fSopenharmony_ci * Obtains the product version displayed for customer represented by a string. 117d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 118d9f0492fSopenharmony_ci * @return NULL - Not found the product version displayed, or failed to invoke the internal interface. 119d9f0492fSopenharmony_ci * @since 10 120d9f0492fSopenharmony_ci */ 121d9f0492fSopenharmony_ciconst char *OH_GetDisplayVersion(void); 122d9f0492fSopenharmony_ci 123d9f0492fSopenharmony_ci/** 124d9f0492fSopenharmony_ci * Obtains the incremental version represented by a string. 125d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 126d9f0492fSopenharmony_ci * @return NULL - Not found the incremental version, or failed to invoke the internal interface. 127d9f0492fSopenharmony_ci * @since 10 128d9f0492fSopenharmony_ci */ 129d9f0492fSopenharmony_ciconst char *OH_GetIncrementalVersion(void); 130d9f0492fSopenharmony_ci 131d9f0492fSopenharmony_ci/** 132d9f0492fSopenharmony_ci * Obtains the OS release type represented by a string. 133d9f0492fSopenharmony_ci * 134d9f0492fSopenharmony_ci * <p>The OS release category can be {@code Release}, {@code Beta}, or {@code Canary}. 135d9f0492fSopenharmony_ci * The specific release type may be {@code Release}, {@code Beta1}, or others alike. 136d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 137d9f0492fSopenharmony_ci * @return NULL - Not found the OS release type, or failed to invoke the internal interface. 138d9f0492fSopenharmony_ci * @since 10 139d9f0492fSopenharmony_ci */ 140d9f0492fSopenharmony_ciconst char *OH_GetOsReleaseType(void); 141d9f0492fSopenharmony_ci 142d9f0492fSopenharmony_ci/** 143d9f0492fSopenharmony_ci * Obtains the OS full version name represented by a string. 144d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 145d9f0492fSopenharmony_ci * @return NULL - Not found the OS full version name, or failed to invoke the internal interface. 146d9f0492fSopenharmony_ci * @since 10 147d9f0492fSopenharmony_ci */ 148d9f0492fSopenharmony_ciconst char *OH_GetOSFullName(void); 149d9f0492fSopenharmony_ci 150d9f0492fSopenharmony_ci/** 151d9f0492fSopenharmony_ci * Obtains the SDK API version number. 152d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 153d9f0492fSopenharmony_ci * @return 0 - Not found the SDK API version number, or failed to invoke the internal interface. 154d9f0492fSopenharmony_ci * @since 10 155d9f0492fSopenharmony_ci */ 156d9f0492fSopenharmony_ciint OH_GetSdkApiVersion(void); 157d9f0492fSopenharmony_ci 158d9f0492fSopenharmony_ci/** 159d9f0492fSopenharmony_ci * Obtains the first API version number. 160d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 161d9f0492fSopenharmony_ci * @return 0 - Not found the first API version number, or failed to invoke the internal interface. 162d9f0492fSopenharmony_ci * @since 10 163d9f0492fSopenharmony_ci */ 164d9f0492fSopenharmony_ciint OH_GetFirstApiVersion(void); 165d9f0492fSopenharmony_ci 166d9f0492fSopenharmony_ci/** 167d9f0492fSopenharmony_ci * Obtains the version ID by a string. 168d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 169d9f0492fSopenharmony_ci * @return NULL - Not found version ID, or failed to invoke the internal interface. 170d9f0492fSopenharmony_ci * @since 10 171d9f0492fSopenharmony_ci */ 172d9f0492fSopenharmony_ciconst char *OH_GetVersionId(void); 173d9f0492fSopenharmony_ci 174d9f0492fSopenharmony_ci/** 175d9f0492fSopenharmony_ci * Obtains the build type of the current running OS. 176d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 177d9f0492fSopenharmony_ci * @return NULL - Not found build type, or failed to invoke the internal interface. 178d9f0492fSopenharmony_ci * @since 10 179d9f0492fSopenharmony_ci */ 180d9f0492fSopenharmony_ciconst char *OH_GetBuildType(void); 181d9f0492fSopenharmony_ci 182d9f0492fSopenharmony_ci/** 183d9f0492fSopenharmony_ci * Obtains the build user of the current running OS. 184d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 185d9f0492fSopenharmony_ci * @return NULL - Not found build user, or failed to invoke the internal interface. 186d9f0492fSopenharmony_ci * @since 10 187d9f0492fSopenharmony_ci */ 188d9f0492fSopenharmony_ciconst char *OH_GetBuildUser(void); 189d9f0492fSopenharmony_ci 190d9f0492fSopenharmony_ci/** 191d9f0492fSopenharmony_ci * Obtains the build host of the current running OS. 192d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 193d9f0492fSopenharmony_ci * @return NULL - Not found build host, or failed to invoke the internal interface. 194d9f0492fSopenharmony_ci * @since 10 195d9f0492fSopenharmony_ci */ 196d9f0492fSopenharmony_ciconst char *OH_GetBuildHost(void); 197d9f0492fSopenharmony_ci 198d9f0492fSopenharmony_ci/** 199d9f0492fSopenharmony_ci * Obtains the build time of the current running OS. 200d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 201d9f0492fSopenharmony_ci * @return NULL - Not found build time, or failed to invoke the internal interface. 202d9f0492fSopenharmony_ci * @since 10 203d9f0492fSopenharmony_ci */ 204d9f0492fSopenharmony_ciconst char *OH_GetBuildTime(void); 205d9f0492fSopenharmony_ci 206d9f0492fSopenharmony_ci/** 207d9f0492fSopenharmony_ci * Obtains the version hash of the current running OS. 208d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 209d9f0492fSopenharmony_ci * @return NULL - Not found version hash, or failed to invoke the internal interface. 210d9f0492fSopenharmony_ci * @since 10 211d9f0492fSopenharmony_ci */ 212d9f0492fSopenharmony_ciconst char *OH_GetBuildRootHash(void); 213d9f0492fSopenharmony_ci 214d9f0492fSopenharmony_ci/** 215d9f0492fSopenharmony_ci * Obtains the Distribution OS name represented by a string. 216d9f0492fSopenharmony_ci * 217d9f0492fSopenharmony_ci * <p>Independent Software Vendor (ISV) may distribute OHOS with their own OS name. 218d9f0492fSopenharmony_ci * If ISV not specified, it will return an empty string 219d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 220d9f0492fSopenharmony_ci * @return NULL - Not found distribution OS name, or failed to invoke the internal interface. 221d9f0492fSopenharmony_ci * @since 10 222d9f0492fSopenharmony_ci */ 223d9f0492fSopenharmony_ciconst char *OH_GetDistributionOSName(void); 224d9f0492fSopenharmony_ci 225d9f0492fSopenharmony_ci/** 226d9f0492fSopenharmony_ci * Obtains the ISV distribution OS version represented by a string. 227d9f0492fSopenharmony_ci * If ISV not specified, it will return the same value as OH_GetOSFullName 228d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 229d9f0492fSopenharmony_ci * @return NULL - Not found distribution OS version, or failed to invoke the internal interface. 230d9f0492fSopenharmony_ci * @since 10 231d9f0492fSopenharmony_ci */ 232d9f0492fSopenharmony_ciconst char *OH_GetDistributionOSVersion(void); 233d9f0492fSopenharmony_ci 234d9f0492fSopenharmony_ci/** 235d9f0492fSopenharmony_ci * Obtains the ISV distribution OS api version represented by a integer. 236d9f0492fSopenharmony_ci * If ISV not specified, it will return the same value as OH_GetSdkApiVersion 237d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 238d9f0492fSopenharmony_ci * @return NULL - Not found distribution OS api version, or failed to invoke the internal interface. 239d9f0492fSopenharmony_ci * @since 10 240d9f0492fSopenharmony_ci */ 241d9f0492fSopenharmony_ciint OH_GetDistributionOSApiVersion(void); 242d9f0492fSopenharmony_ci 243d9f0492fSopenharmony_ci/** 244d9f0492fSopenharmony_ci * Obtains the ISV distribution OS release type represented by a string. 245d9f0492fSopenharmony_ci * If ISV not specified, it will return the same value as OH_GetOsReleaseType 246d9f0492fSopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 247d9f0492fSopenharmony_ci * @return NULL - Not found distribution OS release type, or failed to invoke the internal interface. 248d9f0492fSopenharmony_ci * @since 10 249d9f0492fSopenharmony_ci */ 250d9f0492fSopenharmony_ciconst char *OH_GetDistributionOSReleaseType(void); 251d9f0492fSopenharmony_ci 252d9f0492fSopenharmony_ci#ifdef __cplusplus 253d9f0492fSopenharmony_ci#if __cplusplus 254d9f0492fSopenharmony_ci} 255d9f0492fSopenharmony_ci#endif 256d9f0492fSopenharmony_ci#endif 257d9f0492fSopenharmony_ci#endif 258