131c75014Sopenharmony_ci/* 231c75014Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 331c75014Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 431c75014Sopenharmony_ci * you may not use this file except in compliance with the License. 531c75014Sopenharmony_ci * You may obtain a copy of the License at 631c75014Sopenharmony_ci * 731c75014Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 831c75014Sopenharmony_ci * 931c75014Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1031c75014Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1131c75014Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1231c75014Sopenharmony_ci * See the License for the specific language governing permissions and 1331c75014Sopenharmony_ci * limitations under the License. 1431c75014Sopenharmony_ci */ 1531c75014Sopenharmony_ci#include <stdio.h> 1631c75014Sopenharmony_ci#include <stdlib.h> 1731c75014Sopenharmony_ci#include <securec.h> 1831c75014Sopenharmony_ci#include <string.h> 1931c75014Sopenharmony_ci 2031c75014Sopenharmony_ci#include "parameter.h" 2131c75014Sopenharmony_ci#include "devattest_client.h" 2231c75014Sopenharmony_ci 2331c75014Sopenharmony_ciconst int UDIDSIZE_LEN = 64; 2431c75014Sopenharmony_ci 2531c75014Sopenharmony_ciusing namespace OHOS::DevAttest; 2631c75014Sopenharmony_ciusing namespace OHOS; 2731c75014Sopenharmony_ci 2831c75014Sopenharmony_civoid ObtainProductParms(void) 2931c75014Sopenharmony_ci{ 3031c75014Sopenharmony_ci int sdkApiVersion = GetSdkApiVersion(); 3131c75014Sopenharmony_ci if (sdkApiVersion != 0) { 3231c75014Sopenharmony_ci printf("SdkApiVersion = %d\n", sdkApiVersion); 3331c75014Sopenharmony_ci } else { 3431c75014Sopenharmony_ci printf("SdkApiVersion = 0\n"); 3531c75014Sopenharmony_ci } 3631c75014Sopenharmony_ci 3731c75014Sopenharmony_ci int firstApiVersion = GetFirstApiVersion(); 3831c75014Sopenharmony_ci if (firstApiVersion != 0) { 3931c75014Sopenharmony_ci printf("firstApiVersion = %d\n", firstApiVersion); 4031c75014Sopenharmony_ci } else { 4131c75014Sopenharmony_ci printf("firstApiVersion = 0\n"); 4231c75014Sopenharmony_ci } 4331c75014Sopenharmony_ci 4431c75014Sopenharmony_ci const char *bootloaderVersion = GetBootloaderVersion(); 4531c75014Sopenharmony_ci if (bootloaderVersion != nullptr) { 4631c75014Sopenharmony_ci printf("bootloaderVersion = %s\n", bootloaderVersion); 4731c75014Sopenharmony_ci } else { 4831c75014Sopenharmony_ci printf("bootloaderVersion = nullptr\n"); 4931c75014Sopenharmony_ci } 5031c75014Sopenharmony_ci 5131c75014Sopenharmony_ci const char *incrementalVersion = GetIncrementalVersion(); 5231c75014Sopenharmony_ci if (incrementalVersion != nullptr) { 5331c75014Sopenharmony_ci printf("incrementalVersion = %s\n", incrementalVersion); 5431c75014Sopenharmony_ci } else { 5531c75014Sopenharmony_ci printf("incrementalVersion = nullptr\n"); 5631c75014Sopenharmony_ci } 5731c75014Sopenharmony_ci 5831c75014Sopenharmony_ci const char *buildType = GetBuildType(); 5931c75014Sopenharmony_ci if (buildType != nullptr) { 6031c75014Sopenharmony_ci printf("buildType = %s\n", buildType); 6131c75014Sopenharmony_ci } else { 6231c75014Sopenharmony_ci printf("buildType = nullptr\n"); 6331c75014Sopenharmony_ci } 6431c75014Sopenharmony_ci 6531c75014Sopenharmony_ci const char *buildUser = GetBuildUser(); 6631c75014Sopenharmony_ci if (buildUser != nullptr) { 6731c75014Sopenharmony_ci printf("buildUser = %s\n", buildUser); 6831c75014Sopenharmony_ci } else { 6931c75014Sopenharmony_ci printf("buildUser = nullptr\n"); 7031c75014Sopenharmony_ci } 7131c75014Sopenharmony_ci 7231c75014Sopenharmony_ci const char *buildHost = GetBuildHost(); 7331c75014Sopenharmony_ci if (buildHost != nullptr) { 7431c75014Sopenharmony_ci printf("buildHost = %s\n", buildHost); 7531c75014Sopenharmony_ci } else { 7631c75014Sopenharmony_ci printf("buildHost = nullptr\n"); 7731c75014Sopenharmony_ci } 7831c75014Sopenharmony_ci 7931c75014Sopenharmony_ci const char *buildTime = GetBuildTime(); 8031c75014Sopenharmony_ci if (buildTime != nullptr) { 8131c75014Sopenharmony_ci printf("buildTime = %s\n", buildTime); 8231c75014Sopenharmony_ci } else { 8331c75014Sopenharmony_ci printf("buildTime = nullptr\n"); 8431c75014Sopenharmony_ci } 8531c75014Sopenharmony_ci 8631c75014Sopenharmony_ci const char *abiList = GetAbiList(); 8731c75014Sopenharmony_ci if (abiList != nullptr) { 8831c75014Sopenharmony_ci printf("AbiList = %s\n", abiList); 8931c75014Sopenharmony_ci } else { 9031c75014Sopenharmony_ci printf("AbiList = nullptr\n"); 9131c75014Sopenharmony_ci } 9231c75014Sopenharmony_ci} 9331c75014Sopenharmony_ci 9431c75014Sopenharmony_ciint main() 9531c75014Sopenharmony_ci{ 9631c75014Sopenharmony_ci printf("******To Obtain Product Params Start******\n"); 9731c75014Sopenharmony_ci const char *productType = GetDeviceType(); 9831c75014Sopenharmony_ci if (productType != nullptr) { 9931c75014Sopenharmony_ci printf("Device Type = %s\n", productType); 10031c75014Sopenharmony_ci } else { 10131c75014Sopenharmony_ci printf("Device Type = nullptr\n"); 10231c75014Sopenharmony_ci } 10331c75014Sopenharmony_ci 10431c75014Sopenharmony_ci const char *securityPatchTag = GetSecurityPatchTag(); 10531c75014Sopenharmony_ci if (securityPatchTag != nullptr) { 10631c75014Sopenharmony_ci printf("Security Patch = %s\n", securityPatchTag); 10731c75014Sopenharmony_ci } else { 10831c75014Sopenharmony_ci printf("Security Patch = nullptr\n"); 10931c75014Sopenharmony_ci } 11031c75014Sopenharmony_ci 11131c75014Sopenharmony_ci const char *osName = GetOSFullName(); 11231c75014Sopenharmony_ci if (osName != nullptr) { 11331c75014Sopenharmony_ci printf("OsFullName = %s\n", osName); 11431c75014Sopenharmony_ci } else { 11531c75014Sopenharmony_ci printf("OsFullName = nullptr\n"); 11631c75014Sopenharmony_ci } 11731c75014Sopenharmony_ci 11831c75014Sopenharmony_ci const char *displayVersion = GetDisplayVersion(); 11931c75014Sopenharmony_ci if (displayVersion != nullptr) { 12031c75014Sopenharmony_ci printf("DisplayVersion = %s\n", displayVersion); 12131c75014Sopenharmony_ci } else { 12231c75014Sopenharmony_ci printf("DisplayVersion = nullptr\n"); 12331c75014Sopenharmony_ci } 12431c75014Sopenharmony_ci 12531c75014Sopenharmony_ci const char *versionId = GetVersionId(); 12631c75014Sopenharmony_ci if (versionId != nullptr) { 12731c75014Sopenharmony_ci printf("VersionID = %s\n", versionId); 12831c75014Sopenharmony_ci } else { 12931c75014Sopenharmony_ci printf("VersionID = nullptr\n"); 13031c75014Sopenharmony_ci } 13131c75014Sopenharmony_ci 13231c75014Sopenharmony_ci AttestResultInfo attestResultInfo; 13331c75014Sopenharmony_ci (void)DevAttestClient::GetInstance().GetAttestStatus(attestResultInfo); 13431c75014Sopenharmony_ci printf("authResult = %d\n", attestResultInfo.authResult_); 13531c75014Sopenharmony_ci printf("softwareResult = %d\n", attestResultInfo.softwareResult_); 13631c75014Sopenharmony_ci 13731c75014Sopenharmony_ci char udid[UDIDSIZE_LEN + 1] = {0}; 13831c75014Sopenharmony_ci int ret = GetDevUdid(udid, UDIDSIZE_LEN + 1); 13931c75014Sopenharmony_ci if (ret == 0) { 14031c75014Sopenharmony_ci printf("DevUdid = %s\n", udid); 14131c75014Sopenharmony_ci } else { 14231c75014Sopenharmony_ci printf("DevUdid = nullptr\n"); 14331c75014Sopenharmony_ci } 14431c75014Sopenharmony_ci 14531c75014Sopenharmony_ci const char *manuFacture = GetManufacture(); 14631c75014Sopenharmony_ci if (manuFacture != nullptr) { 14731c75014Sopenharmony_ci printf("manuFacture = %s\n", manuFacture); 14831c75014Sopenharmony_ci } else { 14931c75014Sopenharmony_ci printf("manuFacture = nullptr\n"); 15031c75014Sopenharmony_ci } 15131c75014Sopenharmony_ci 15231c75014Sopenharmony_ci const char *productModel = GetProductModel(); 15331c75014Sopenharmony_ci if (productModel != nullptr) { 15431c75014Sopenharmony_ci printf("productModel = %s\n", productModel); 15531c75014Sopenharmony_ci } else { 15631c75014Sopenharmony_ci printf("productModel = nullptr\n"); 15731c75014Sopenharmony_ci } 15831c75014Sopenharmony_ci 15931c75014Sopenharmony_ci const char *serial = GetSerial(); 16031c75014Sopenharmony_ci if (serial != nullptr) { 16131c75014Sopenharmony_ci printf("serial = %s\n", serial); 16231c75014Sopenharmony_ci } else { 16331c75014Sopenharmony_ci printf("serial = nullptr\n"); 16431c75014Sopenharmony_ci } 16531c75014Sopenharmony_ci 16631c75014Sopenharmony_ci const char *brand = GetBrand(); 16731c75014Sopenharmony_ci if (brand != nullptr) { 16831c75014Sopenharmony_ci printf("brand = %s\n", brand); 16931c75014Sopenharmony_ci } else { 17031c75014Sopenharmony_ci printf("brand = nullptr\n"); 17131c75014Sopenharmony_ci } 17231c75014Sopenharmony_ci 17331c75014Sopenharmony_ci const char *productSeries = GetProductSeries(); 17431c75014Sopenharmony_ci if (productSeries != nullptr) { 17531c75014Sopenharmony_ci printf("productSeries = %s\n", productSeries); 17631c75014Sopenharmony_ci } else { 17731c75014Sopenharmony_ci printf("productSeries = nullptr\n"); 17831c75014Sopenharmony_ci } 17931c75014Sopenharmony_ci 18031c75014Sopenharmony_ci const char *softwareModel = GetSoftwareModel(); 18131c75014Sopenharmony_ci if (softwareModel != nullptr) { 18231c75014Sopenharmony_ci printf("softwareModel = %s\n", softwareModel); 18331c75014Sopenharmony_ci } else { 18431c75014Sopenharmony_ci printf("softwareModel = nullptr\n"); 18531c75014Sopenharmony_ci } 18631c75014Sopenharmony_ci 18731c75014Sopenharmony_ci const char *hardWareModel = GetHardwareModel(); 18831c75014Sopenharmony_ci if (hardWareModel != nullptr) { 18931c75014Sopenharmony_ci printf("HardwareModel = %s\n", hardWareModel); 19031c75014Sopenharmony_ci } else { 19131c75014Sopenharmony_ci printf("HardwareModel = nullptr\n"); 19231c75014Sopenharmony_ci } 19331c75014Sopenharmony_ci 19431c75014Sopenharmony_ci const char *buildRootHash = GetBuildRootHash(); 19531c75014Sopenharmony_ci if (buildRootHash != nullptr) { 19631c75014Sopenharmony_ci printf("BuildRootHash = %s\n", buildRootHash); 19731c75014Sopenharmony_ci } else { 19831c75014Sopenharmony_ci printf("BuildRootHash = nullptr\n"); 19931c75014Sopenharmony_ci } 20031c75014Sopenharmony_ci 20131c75014Sopenharmony_ci const char *marketName = GetMarketName(); 20231c75014Sopenharmony_ci if (marketName != nullptr) { 20331c75014Sopenharmony_ci printf("marketName = %s\n", marketName); 20431c75014Sopenharmony_ci } else { 20531c75014Sopenharmony_ci printf("marketName = nullptr\n"); 20631c75014Sopenharmony_ci } 20731c75014Sopenharmony_ci 20831c75014Sopenharmony_ci ObtainProductParms(); 20931c75014Sopenharmony_ci 21031c75014Sopenharmony_ci printf("******To Obtain Product Params End ******\n"); 21131c75014Sopenharmony_ci return 0; 21231c75014Sopenharmony_ci} 213