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