• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# syspara Module<a name="EN-US_TOPIC_0000001063362360"></a>
2
3-   [Available APIs](#section775916468231)
4-   [How to Use](#section118404913233)
5
6This module provides the functions of obtaining and setting system attributes.
7
8It can be used on the Hi3861, Hi3516D V300 and Hi3518E V300 platforms powered by LiteOS Cortex-M and LiteOS Cortex-A. Supported system attributes consist of default, OEM-specified, and custom system attributes. OEM-specified system attributes provide only default values. The specific values need to be adjusted as required.
9
10## Available APIs<a name="section775916468231"></a>
11
12**Table  1**  APIs for the syspara module
13
14<a name="table1731550155318"></a>
15<table><thead align="left"><tr id="row4419501537"><th class="cellrowborder" valign="top" width="57.29%" id="mcps1.2.3.1.1"><p id="p54150165315"><a name="p54150165315"></a><a name="p54150165315"></a>API</p>
16</th>
17<th class="cellrowborder" valign="top" width="42.71%" id="mcps1.2.3.1.2"><p id="p941150145313"><a name="p941150145313"></a><a name="p941150145313"></a>Description</p>
18</th>
19</tr>
20</thead>
21<tbody><tr id="row34145016535"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p15146174185515"><a name="p15146174185515"></a><a name="p15146174185515"></a>int GetParameter(const char* key, const char* def, char* value, unsigned int len)</p>
22</td>
23<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p13562171015712"><a name="p13562171015712"></a><a name="p13562171015712"></a>Obtains a system parameter.</p>
24</td>
25</tr>
26<tr id="row57882012954"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p77897122517"><a name="p77897122517"></a><a name="p77897122517"></a>int SetParameter(const char* key, const char* value)</p>
27</td>
28<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p8150164120555"><a name="p8150164120555"></a><a name="p8150164120555"></a>Sets or updates a system parameter.</p>
29</td>
30</tr>
31<tr id="row1746172917474"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p1315210414552"><a name="p1315210414552"></a><a name="p1315210414552"></a>char* GetProductType(void)</p>
32</td>
33<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p12366194110514"><a name="p12366194110514"></a><a name="p12366194110514"></a>Obtains the device type.</p>
34</td>
35</tr>
36<tr id="row10992232154714"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p19154174135517"><a name="p19154174135517"></a><a name="p19154174135517"></a>char* GetManufacture(void)</p>
37</td>
38<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p191521415555"><a name="p191521415555"></a><a name="p191521415555"></a>Obtains the device manufacturer.</p>
39</td>
40</tr>
41<tr id="row137112185917"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p16371201145918"><a name="p16371201145918"></a><a name="p16371201145918"></a>char* GetBrand(void)</p>
42</td>
43<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p2371719599"><a name="p2371719599"></a><a name="p2371719599"></a>Obtains the device brand.</p>
44</td>
45</tr>
46<tr id="row981535875818"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p18151586589"><a name="p18151586589"></a><a name="p18151586589"></a>char* GetMarketName(void)</p>
47</td>
48<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p1081545865810"><a name="p1081545865810"></a><a name="p1081545865810"></a>Obtains the device marketing name.</p>
49</td>
50</tr>
51<tr id="row45019563583"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p3501195617581"><a name="p3501195617581"></a><a name="p3501195617581"></a>char* GetProductSeries(void)</p>
52</td>
53<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p65011156165811"><a name="p65011156165811"></a><a name="p65011156165811"></a>Obtains the device series name.</p>
54</td>
55</tr>
56<tr id="row732525410585"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p10325125465819"><a name="p10325125465819"></a><a name="p10325125465819"></a>char* GetProductModel(void)</p>
57</td>
58<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p332565412582"><a name="p332565412582"></a><a name="p332565412582"></a>Obtains the device authentication model.</p>
59</td>
60</tr>
61<tr id="row5746145116588"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p20746145145812"><a name="p20746145145812"></a><a name="p20746145145812"></a>char* GetSoftwareModel(void)</p>
62</td>
63<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p14746175165810"><a name="p14746175165810"></a><a name="p14746175165810"></a>Obtains the device software model.</p>
64</td>
65</tr>
66<tr id="row536404914589"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p1364749135819"><a name="p1364749135819"></a><a name="p1364749135819"></a>char* GetHardwareModel(void)</p>
67</td>
68<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p1536424935819"><a name="p1536424935819"></a><a name="p1536424935819"></a>Obtains the device hardware model.</p>
69</td>
70</tr>
71<tr id="row453414616584"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p15534164685817"><a name="p15534164685817"></a><a name="p15534164685817"></a>char* GetHardwareProfile(void)</p>
72</td>
73<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p15534154619588"><a name="p15534154619588"></a><a name="p15534154619588"></a>Obtains the device hardware profile.</p>
74</td>
75</tr>
76<tr id="row3279655002"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p112791755204"><a name="p112791755204"></a><a name="p112791755204"></a>char* GetSerial(void)</p>
77</td>
78<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p1827910551901"><a name="p1827910551901"></a><a name="p1827910551901"></a>Obtains the device serial number (SN).</p>
79</td>
80</tr>
81<tr id="row101032053602"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p810395319016"><a name="p810395319016"></a><a name="p810395319016"></a>char* GetOsName(void)</p>
82</td>
83<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p181037531301"><a name="p181037531301"></a><a name="p181037531301"></a>Obtains the operating system name.</p>
84</td>
85</tr>
86<tr id="row081175112010"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p13821151707"><a name="p13821151707"></a><a name="p13821151707"></a>char* GetDisplayVersion(void)</p>
87</td>
88<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p582251708"><a name="p582251708"></a><a name="p582251708"></a>Obtains the software version visible to users.</p>
89</td>
90</tr>
91<tr id="row19112249108"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p1411224911016"><a name="p1411224911016"></a><a name="p1411224911016"></a>char* GetBootloaderVersion(void)</p>
92</td>
93<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p11122497014"><a name="p11122497014"></a><a name="p11122497014"></a>Obtains the bootloader version of this device.</p>
94</td>
95</tr>
96<tr id="row138384461706"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p20839194620019"><a name="p20839194620019"></a><a name="p20839194620019"></a>char* GetSecurityPatchTag(void)</p>
97</td>
98<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p118393469018"><a name="p118393469018"></a><a name="p118393469018"></a>Obtains the security patch tag.</p>
99</td>
100</tr>
101<tr id="row58521914120"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p48527149215"><a name="p48527149215"></a><a name="p48527149215"></a>char* GetAbiList(void)</p>
102</td>
103<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p8852114628"><a name="p8852114628"></a><a name="p8852114628"></a>Obtains the list of application binary interfaces (ABIs) supported on this device.</p>
104</td>
105</tr>
106<tr id="row394071216210"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p9940111212216"><a name="p9940111212216"></a><a name="p9940111212216"></a>char* GetSdkApiLevel(void)</p>
107</td>
108<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p18940171215214"><a name="p18940171215214"></a><a name="p18940171215214"></a>Obtains the SDK API level that matches the current system software.</p>
109</td>
110</tr>
111<tr id="row138205101425"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p1382010101328"><a name="p1382010101328"></a><a name="p1382010101328"></a>char* GetFirstApiLevel(void)</p>
112</td>
113<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p3820810521"><a name="p3820810521"></a><a name="p3820810521"></a>Obtains the first SDK API level of the system software.</p>
114</td>
115</tr>
116<tr id="row156198627"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p75622084212"><a name="p75622084212"></a><a name="p75622084212"></a>char* GetIncrementalVersion(void)</p>
117</td>
118<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p95621087211"><a name="p95621087211"></a><a name="p95621087211"></a>Obtains the incremental version.</p>
119</td>
120</tr>
121<tr id="row138721511320"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p28715156318"><a name="p28715156318"></a><a name="p28715156318"></a>char* GetVersionId(void)</p>
122</td>
123<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p148761512312"><a name="p148761512312"></a><a name="p148761512312"></a>Obtains the version ID.</p>
124</td>
125</tr>
126<tr id="row18749712234"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p10749912738"><a name="p10749912738"></a><a name="p10749912738"></a>char* GetBuildType(void)</p>
127</td>
128<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p67491212437"><a name="p67491212437"></a><a name="p67491212437"></a>Obtains the build type.</p>
129</td>
130</tr>
131<tr id="row178451710639"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p58461810136"><a name="p58461810136"></a><a name="p58461810136"></a>char* GetBuildUser(void)</p>
132</td>
133<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p178466109315"><a name="p178466109315"></a><a name="p178466109315"></a>Obtains the build account user name.</p>
134</td>
135</tr>
136<tr id="row126721685315"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p9673781832"><a name="p9673781832"></a><a name="p9673781832"></a>char* GetBuildHost(void)</p>
137</td>
138<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p12673089315"><a name="p12673089315"></a><a name="p12673089315"></a>Obtains the build host name.</p>
139</td>
140</tr>
141<tr id="row146494315815"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p565184335811"><a name="p565184335811"></a><a name="p565184335811"></a>char* GetBuildTime(void)</p>
142</td>
143<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p1466114365814"><a name="p1466114365814"></a><a name="p1466114365814"></a>Obtains the build time.</p>
144</td>
145</tr>
146<tr id="row933265824817"><td class="cellrowborder" valign="top" width="57.29%" headers="mcps1.2.3.1.1 "><p id="p18200134111553"><a name="p18200134111553"></a><a name="p18200134111553"></a>char* GetBuildRootHash(void)</p>
147</td>
148<td class="cellrowborder" valign="top" width="42.71%" headers="mcps1.2.3.1.2 "><p id="p7945171118466"><a name="p7945171118466"></a><a name="p7945171118466"></a>Obtains the buildroot hash value of this version.</p>
149</td>
150</tr>
151</tbody>
152</table>
153
154## How to Use<a name="section118404913233"></a>
155
156The following is an example of using syspara.
157
158```
159// set && get
160char key1[] = "rw.sys.version";
161char value1[] = "10.1.0";
162int ret = SetParameter(key1, value1);
163char valueGet1[128] = {0};
164ret = GetParameter(key1, "version=10.1.0", valueGet1, 128);
165
166// get sysparm
167char* value1 = GetProductType();
168printf("Product type =%s\n", value1);
169free(value1);
170char* value2 = GetManufacture();
171printf("Manufacture =%s\n", value2);
172free(value2);
173char* value3 = GetBrand();
174printf("GetBrand =%s\n", value3);
175free(value3);
176char* value4 = GetMarketName();
177printf("MarketName =%s\n", value4);
178free(value4);
179char* value5 = GetProductSeries();
180printf("ProductSeries =%s\n", value5);
181free(value5);
182char* value6 = GetProductModel();
183printf("ProductModel =%s\n", value6);
184free(value6);
185char* value7 = GetSoftwareModel();
186printf("SoftwareModel =%s\n", value7);
187free(value7);
188char* value8 = GetHardwareModel();
189printf("HardwareModel =%s\n", value8);
190free(value8);
191char* value9 = GetHardwareProfile();
192printf("Software profile =%s\n", value9);
193free(value9);
194char* value10 = GetSerial();
195printf("Serial =%s\n", value10);
196free(value10);
197char* value11 = GetOsName();
198printf("OS name =%s\n", value11);
199free(value11);
200char* value12 = GetDisplayVersion();
201printf("Display version =%s\n", value12);
202free(value12);
203char* value13 = GetBootloaderVersion();
204printf("bootloader version =%s\n", value13);
205free(value13);
206char* value14 = GetSecurityPatchTag();
207printf("secure patch level =%s\n", value14);
208free(value14);
209char* value15 = GetAbiList();
210printf("abi list =%s\n", value15);
211free(value15);
212char* value16 = GetFirstApiLevel();
213printf("first api level =%s\n", value16);
214free(value16);
215char* value17 = GetIncrementalVersion();
216printf("Incremental version = %s\n", value17);
217free(value17);
218char* value187 = GetVersionId();
219printf("formal id =%s\n", value187);
220free(value187);
221char* value18 = GetBuildType();
222printf("build type =%s\n", value18);
223free(value18);
224char* value19 = GetBuildUser();
225printf("build user =%s\n", value19);
226free(value19);
227char* value20 = GetBuildHost();
228printf("Build host = %s\n", value20);
229free(value20);
230char* value21 = GetBuildTime();
231printf("build time =%s\n", value21);
232free(value21);
233char* value22 = GetBuildRootHash();
234printf("build root later..., %s\n", value22);
235free(value22);
236```
237
238