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