17777dab0Sopenharmony_ci/* 27777dab0Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 37777dab0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47777dab0Sopenharmony_ci * you may not use this file except in compliance with the License. 57777dab0Sopenharmony_ci * You may obtain a copy of the License at 67777dab0Sopenharmony_ci * 77777dab0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87777dab0Sopenharmony_ci * 97777dab0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107777dab0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117777dab0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127777dab0Sopenharmony_ci * See the License for the specific language governing permissions and 137777dab0Sopenharmony_ci * limitations under the License. 147777dab0Sopenharmony_ci */ 157777dab0Sopenharmony_ci 167777dab0Sopenharmony_ci#ifndef DEVICEINFO_CSDK_H 177777dab0Sopenharmony_ci#define DEVICEINFO_CSDK_H 187777dab0Sopenharmony_ci 197777dab0Sopenharmony_ci#ifdef __cplusplus 207777dab0Sopenharmony_ci#if __cplusplus 217777dab0Sopenharmony_ciextern "C" { 227777dab0Sopenharmony_ci#endif 237777dab0Sopenharmony_ci#endif 247777dab0Sopenharmony_ci 257777dab0Sopenharmony_ci/** 267777dab0Sopenharmony_ci * Obtains the device type represented by a string, 277777dab0Sopenharmony_ci * which can be {@code phone} (or {@code default} for phones), {@code wearable}, {@code liteWearable}, 287777dab0Sopenharmony_ci * {@code tablet}, {@code tv}, {@code car}, or {@code smartVision}. 297777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 307777dab0Sopenharmony_ci * @since 10 317777dab0Sopenharmony_ci */ 327777dab0Sopenharmony_ciconst char *OH_GetDeviceType(void); 337777dab0Sopenharmony_ci 347777dab0Sopenharmony_ci/** 357777dab0Sopenharmony_ci * Obtains the device manufacturer represented by a string. 367777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 377777dab0Sopenharmony_ci * @since 10 387777dab0Sopenharmony_ci */ 397777dab0Sopenharmony_ciconst char *OH_GetManufacture(void); 407777dab0Sopenharmony_ci 417777dab0Sopenharmony_ci/** 427777dab0Sopenharmony_ci * Obtains the device brand represented by a string. 437777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 447777dab0Sopenharmony_ci * @since 10 457777dab0Sopenharmony_ci */ 467777dab0Sopenharmony_ciconst char *OH_GetBrand(void); 477777dab0Sopenharmony_ci 487777dab0Sopenharmony_ci/** 497777dab0Sopenharmony_ci * Obtains the product name speaded in the market 507777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 517777dab0Sopenharmony_ci * @since 10 527777dab0Sopenharmony_ci */ 537777dab0Sopenharmony_ciconst char *OH_GetMarketName(void); 547777dab0Sopenharmony_ci 557777dab0Sopenharmony_ci/** 567777dab0Sopenharmony_ci * Obtains the product series represented by a string. 577777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 587777dab0Sopenharmony_ci * @since 10 597777dab0Sopenharmony_ci */ 607777dab0Sopenharmony_ciconst char *OH_GetProductSeries(void); 617777dab0Sopenharmony_ci 627777dab0Sopenharmony_ci/** 637777dab0Sopenharmony_ci * Obtains the product model represented by a string. 647777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 657777dab0Sopenharmony_ci * @since 10 667777dab0Sopenharmony_ci */ 677777dab0Sopenharmony_ciconst char *OH_GetProductModel(void); 687777dab0Sopenharmony_ci 697777dab0Sopenharmony_ci/** 707777dab0Sopenharmony_ci * Obtains the software model represented by a string. 717777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 727777dab0Sopenharmony_ci * @since 10 737777dab0Sopenharmony_ci */ 747777dab0Sopenharmony_ciconst char *OH_GetSoftwareModel(void); 757777dab0Sopenharmony_ci 767777dab0Sopenharmony_ci/** 777777dab0Sopenharmony_ci * Obtains the hardware model represented by a string. 787777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 797777dab0Sopenharmony_ci * @since 10 807777dab0Sopenharmony_ci */ 817777dab0Sopenharmony_ciconst char *OH_GetHardwareModel(void); 827777dab0Sopenharmony_ci 837777dab0Sopenharmony_ci/** 847777dab0Sopenharmony_ci * Obtains the bootloader version number represented by a string. 857777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 867777dab0Sopenharmony_ci * @since 10 877777dab0Sopenharmony_ci */ 887777dab0Sopenharmony_ciconst char *OH_GetBootloaderVersion(void); 897777dab0Sopenharmony_ci 907777dab0Sopenharmony_ci/** 917777dab0Sopenharmony_ci * Obtains the application binary interface (Abi) list represented by a string. 927777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 937777dab0Sopenharmony_ci * @since 10 947777dab0Sopenharmony_ci */ 957777dab0Sopenharmony_ciconst char *OH_GetAbiList(void); 967777dab0Sopenharmony_ci 977777dab0Sopenharmony_ci/** 987777dab0Sopenharmony_ci * Obtains the security patch tag represented by a string. 997777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1007777dab0Sopenharmony_ci * @since 10 1017777dab0Sopenharmony_ci */ 1027777dab0Sopenharmony_ciconst char *OH_GetSecurityPatchTag(void); 1037777dab0Sopenharmony_ci 1047777dab0Sopenharmony_ci/** 1057777dab0Sopenharmony_ci * Obtains the product version displayed for customer represented by a string. 1067777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1077777dab0Sopenharmony_ci * @since 10 1087777dab0Sopenharmony_ci */ 1097777dab0Sopenharmony_ciconst char *OH_GetDisplayVersion(void); 1107777dab0Sopenharmony_ci 1117777dab0Sopenharmony_ci/** 1127777dab0Sopenharmony_ci * Obtains the incremental version represented by a string. 1137777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1147777dab0Sopenharmony_ci * @since 10 1157777dab0Sopenharmony_ci */ 1167777dab0Sopenharmony_ciconst char *OH_GetIncrementalVersion(void); 1177777dab0Sopenharmony_ci 1187777dab0Sopenharmony_ci/** 1197777dab0Sopenharmony_ci * Obtains the OS release type represented by a string. 1207777dab0Sopenharmony_ci * 1217777dab0Sopenharmony_ci * <p>The OS release category can be {@code Release}, {@code Beta}, or {@code Canary}. 1227777dab0Sopenharmony_ci * The specific release type may be {@code Release}, {@code Beta1}, or others alike. 1237777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1247777dab0Sopenharmony_ci * @since 10 1257777dab0Sopenharmony_ci */ 1267777dab0Sopenharmony_ciconst char *OH_GetOsReleaseType(void); 1277777dab0Sopenharmony_ci 1287777dab0Sopenharmony_ci/** 1297777dab0Sopenharmony_ci * Obtains the OS full version name represented by a string. 1307777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1317777dab0Sopenharmony_ci * @since 10 1327777dab0Sopenharmony_ci */ 1337777dab0Sopenharmony_ciconst char *OH_GetOSFullName(void); 1347777dab0Sopenharmony_ci 1357777dab0Sopenharmony_ci/** 1367777dab0Sopenharmony_ci * Obtains the SDK API version number. 1377777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1387777dab0Sopenharmony_ci * @since 10 1397777dab0Sopenharmony_ci */ 1407777dab0Sopenharmony_ciint OH_GetSdkApiVersion(void); 1417777dab0Sopenharmony_ci 1427777dab0Sopenharmony_ci/** 1437777dab0Sopenharmony_ci * Obtains the first API version number. 1447777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1457777dab0Sopenharmony_ci * @since 10 1467777dab0Sopenharmony_ci */ 1477777dab0Sopenharmony_ciint OH_GetFirstApiVersion(void); 1487777dab0Sopenharmony_ci 1497777dab0Sopenharmony_ci/** 1507777dab0Sopenharmony_ci * Obtains the version ID by a string. 1517777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1527777dab0Sopenharmony_ci * @since 10 1537777dab0Sopenharmony_ci */ 1547777dab0Sopenharmony_ciconst char *OH_GetVersionId(void); 1557777dab0Sopenharmony_ci 1567777dab0Sopenharmony_ci/** 1577777dab0Sopenharmony_ci * Obtains the build type of the current running OS. 1587777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1597777dab0Sopenharmony_ci * @since 10 1607777dab0Sopenharmony_ci */ 1617777dab0Sopenharmony_ciconst char *OH_GetBuildType(void); 1627777dab0Sopenharmony_ci 1637777dab0Sopenharmony_ci/** 1647777dab0Sopenharmony_ci * Obtains the build user of the current running OS. 1657777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1667777dab0Sopenharmony_ci * @since 10 1677777dab0Sopenharmony_ci */ 1687777dab0Sopenharmony_ciconst char *OH_GetBuildUser(void); 1697777dab0Sopenharmony_ci 1707777dab0Sopenharmony_ci/** 1717777dab0Sopenharmony_ci * Obtains the build host of the current running OS. 1727777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1737777dab0Sopenharmony_ci * @since 10 1747777dab0Sopenharmony_ci */ 1757777dab0Sopenharmony_ciconst char *OH_GetBuildHost(void); 1767777dab0Sopenharmony_ci 1777777dab0Sopenharmony_ci/** 1787777dab0Sopenharmony_ci * Obtains the build time of the current running OS. 1797777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1807777dab0Sopenharmony_ci * @since 10 1817777dab0Sopenharmony_ci */ 1827777dab0Sopenharmony_ciconst char *OH_GetBuildTime(void); 1837777dab0Sopenharmony_ci 1847777dab0Sopenharmony_ci/** 1857777dab0Sopenharmony_ci * Obtains the version hash of the current running OS. 1867777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1877777dab0Sopenharmony_ci * @since 10 1887777dab0Sopenharmony_ci */ 1897777dab0Sopenharmony_ciconst char *OH_GetBuildRootHash(void); 1907777dab0Sopenharmony_ci 1917777dab0Sopenharmony_ci/** 1927777dab0Sopenharmony_ci * Obtains the Distribution OS name represented by a string. 1937777dab0Sopenharmony_ci * 1947777dab0Sopenharmony_ci * <p>Independent Software Vendor (ISV) may distribute OHOS with their own OS name. 1957777dab0Sopenharmony_ci * If ISV not specified, it will return an empty string 1967777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 1977777dab0Sopenharmony_ci * @since 10 1987777dab0Sopenharmony_ci */ 1997777dab0Sopenharmony_ciconst char *OH_GetDistributionOSName(void); 2007777dab0Sopenharmony_ci 2017777dab0Sopenharmony_ci/** 2027777dab0Sopenharmony_ci * Obtains the ISV distribution OS version represented by a string. 2037777dab0Sopenharmony_ci * If ISV not specified, it will return the same value as OH_GetOSFullName 2047777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 2057777dab0Sopenharmony_ci * @since 10 2067777dab0Sopenharmony_ci */ 2077777dab0Sopenharmony_ciconst char *OH_GetDistributionOSVersion(void); 2087777dab0Sopenharmony_ci 2097777dab0Sopenharmony_ci/** 2107777dab0Sopenharmony_ci * Obtains the ISV distribution OS api version represented by a integer. 2117777dab0Sopenharmony_ci * If ISV not specified, it will return the same value as OH_GetSdkApiVersion 2127777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 2137777dab0Sopenharmony_ci * @since 10 2147777dab0Sopenharmony_ci */ 2157777dab0Sopenharmony_ciint OH_GetDistributionOSApiVersion(void); 2167777dab0Sopenharmony_ci 2177777dab0Sopenharmony_ci/** 2187777dab0Sopenharmony_ci * Obtains the ISV distribution OS release type represented by a string. 2197777dab0Sopenharmony_ci * If ISV not specified, it will return the same value as OH_GetOsReleaseType 2207777dab0Sopenharmony_ci * @syscap SystemCapability.Startup.SystemInfo 2217777dab0Sopenharmony_ci * @since 10 2227777dab0Sopenharmony_ci */ 2237777dab0Sopenharmony_ciconst char *OH_GetDistributionOSReleaseType(void); 2247777dab0Sopenharmony_ci 2257777dab0Sopenharmony_ci#ifdef __cplusplus 2267777dab0Sopenharmony_ci#if __cplusplus 2277777dab0Sopenharmony_ci} 2287777dab0Sopenharmony_ci#endif 2297777dab0Sopenharmony_ci#endif 2307777dab0Sopenharmony_ci#endif 231