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 1631c75014Sopenharmony_ci#include <stdio.h> 1731c75014Sopenharmony_ci#include <stdlib.h> 1831c75014Sopenharmony_ci 1931c75014Sopenharmony_ci#include "parameter.h" 2031c75014Sopenharmony_ci#include "devattest_interface.h" 2131c75014Sopenharmony_ci 2231c75014Sopenharmony_ciconst int DEVATTEST_SUESS = 0; 2331c75014Sopenharmony_ciconst int UDIDSIZE_LEN = 64; 2431c75014Sopenharmony_ci 2531c75014Sopenharmony_civoid ObtainProductParms() 2631c75014Sopenharmony_ci{ 2731c75014Sopenharmony_ci int sdkApiVersion = GetSdkApiVersion(); 2831c75014Sopenharmony_ci if (sdkApiVersion != 0) { 2931c75014Sopenharmony_ci printf("SdkApiVersion = %d\n", sdkApiVersion); 3031c75014Sopenharmony_ci } else { 3131c75014Sopenharmony_ci printf("SdkApiVersion = 0\n"); 3231c75014Sopenharmony_ci } 3331c75014Sopenharmony_ci 3431c75014Sopenharmony_ci int firstApiVersion = GetFirstApiVersion(); 3531c75014Sopenharmony_ci if (firstApiVersion != 0) { 3631c75014Sopenharmony_ci printf("firstApiVersion = %d\n", firstApiVersion); 3731c75014Sopenharmony_ci } else { 3831c75014Sopenharmony_ci printf("firstApiVersion = 0\n"); 3931c75014Sopenharmony_ci } 4031c75014Sopenharmony_ci 4131c75014Sopenharmony_ci const char *bootloaderVersion = GetBootloaderVersion(); 4231c75014Sopenharmony_ci if (bootloaderVersion != nullptr) { 4331c75014Sopenharmony_ci printf("bootloaderVersion = %s\n", bootloaderVersion); 4431c75014Sopenharmony_ci } else { 4531c75014Sopenharmony_ci printf("bootloaderVersion = nullptr\n"); 4631c75014Sopenharmony_ci } 4731c75014Sopenharmony_ci 4831c75014Sopenharmony_ci 4931c75014Sopenharmony_ci const char *incrementalVersion = GetIncrementalVersion(); 5031c75014Sopenharmony_ci if (incrementalVersion != nullptr) { 5131c75014Sopenharmony_ci printf("incrementalVersion = %s\n", incrementalVersion); 5231c75014Sopenharmony_ci } else { 5331c75014Sopenharmony_ci printf("incrementalVersion = nullptr\n"); 5431c75014Sopenharmony_ci } 5531c75014Sopenharmony_ci 5631c75014Sopenharmony_ci const char *buildType = GetBuildType(); 5731c75014Sopenharmony_ci if (buildType != nullptr) { 5831c75014Sopenharmony_ci printf("buildType = %s\n", buildType); 5931c75014Sopenharmony_ci } else { 6031c75014Sopenharmony_ci printf("buildType = nullptr\n"); 6131c75014Sopenharmony_ci } 6231c75014Sopenharmony_ci 6331c75014Sopenharmony_ci const char *buildUser = GetBuildUser(); 6431c75014Sopenharmony_ci if (buildUser != nullptr) { 6531c75014Sopenharmony_ci printf("buildUser = %s\n", buildUser); 6631c75014Sopenharmony_ci } else { 6731c75014Sopenharmony_ci printf("buildUser = nullptr\n"); 6831c75014Sopenharmony_ci } 6931c75014Sopenharmony_ci 7031c75014Sopenharmony_ci const char *buildHost = GetBuildHost(); 7131c75014Sopenharmony_ci if (buildHost != nullptr) { 7231c75014Sopenharmony_ci printf("buildHost = %s\n", buildHost); 7331c75014Sopenharmony_ci } else { 7431c75014Sopenharmony_ci printf("buildHost = nullptr\n"); 7531c75014Sopenharmony_ci } 7631c75014Sopenharmony_ci 7731c75014Sopenharmony_ci const char *buildTime = GetBuildTime(); 7831c75014Sopenharmony_ci if (buildTime != nullptr) { 7931c75014Sopenharmony_ci printf("buildTime = %s\n", buildTime); 8031c75014Sopenharmony_ci } else { 8131c75014Sopenharmony_ci printf("buildTime = nullptr\n"); 8231c75014Sopenharmony_ci } 8331c75014Sopenharmony_ci 8431c75014Sopenharmony_ci const char *abiList = GetAbiList(); 8531c75014Sopenharmony_ci if (abiList != nullptr) { 8631c75014Sopenharmony_ci printf("AbiList = %s\n", abiList); 8731c75014Sopenharmony_ci } else { 8831c75014Sopenharmony_ci printf("AbiList = nullptr\n"); 8931c75014Sopenharmony_ci } 9031c75014Sopenharmony_ci} 9131c75014Sopenharmony_ci 9231c75014Sopenharmony_ciint main() 9331c75014Sopenharmony_ci{ 9431c75014Sopenharmony_ci printf("******To Obtain Product Params Start******\n"); 9531c75014Sopenharmony_ci const char *productType = GetDeviceType(); 9631c75014Sopenharmony_ci if (productType != nullptr) { 9731c75014Sopenharmony_ci printf("Device Type = %s\n", productType); 9831c75014Sopenharmony_ci } else { 9931c75014Sopenharmony_ci printf("Device Type = nullptr\n"); 10031c75014Sopenharmony_ci } 10131c75014Sopenharmony_ci 10231c75014Sopenharmony_ci const char *securityPatchTag = GetSecurityPatchTag(); 10331c75014Sopenharmony_ci if (securityPatchTag != nullptr) { 10431c75014Sopenharmony_ci printf("Security Patch = %s\n", securityPatchTag); 10531c75014Sopenharmony_ci } else { 10631c75014Sopenharmony_ci printf("Security Patch = nullptr\n"); 10731c75014Sopenharmony_ci } 10831c75014Sopenharmony_ci 10931c75014Sopenharmony_ci const char *osName = GetOSFullName(); 11031c75014Sopenharmony_ci if (osName != nullptr) { 11131c75014Sopenharmony_ci printf("OsFullName = %s\n", osName); 11231c75014Sopenharmony_ci } else { 11331c75014Sopenharmony_ci printf("OsFullName = nullptr\n"); 11431c75014Sopenharmony_ci } 11531c75014Sopenharmony_ci 11631c75014Sopenharmony_ci const char *displayVersion = GetDisplayVersion(); 11731c75014Sopenharmony_ci if (displayVersion != nullptr) { 11831c75014Sopenharmony_ci printf("DisplayVersion = %s\n", displayVersion); 11931c75014Sopenharmony_ci } else { 12031c75014Sopenharmony_ci printf("DisplayVersion = nullptr\n"); 12131c75014Sopenharmony_ci } 12231c75014Sopenharmony_ci 12331c75014Sopenharmony_ci const char *versionId = GetVersionId(); 12431c75014Sopenharmony_ci if (versionId != nullptr) { 12531c75014Sopenharmony_ci printf("VersionID = %s\n", versionId); 12631c75014Sopenharmony_ci } else { 12731c75014Sopenharmony_ci printf("VersionID = nullptr\n"); 12831c75014Sopenharmony_ci } 12931c75014Sopenharmony_ci 13031c75014Sopenharmony_ci AttestResultInfo attestResultInfo = {0}; 13131c75014Sopenharmony_ci attestResultInfo.ticket = NULL; 13231c75014Sopenharmony_ci int32_t retStatus = GetAttestStatus(&attestResultInfo); 13331c75014Sopenharmony_ci if (retStatus != DEVATTEST_SUESS) { 13431c75014Sopenharmony_ci printf("[CLIENT MAIN] wrong. retStatus:%d\n", retStatus); 13531c75014Sopenharmony_ci printf("authResult = %d\n", attestResultInfo.authResult); 13631c75014Sopenharmony_ci printf("softwareResult = %d\n", attestResultInfo.softwareResult); 13731c75014Sopenharmony_ci } else { 13831c75014Sopenharmony_ci printf("authResult = %d\n", attestResultInfo.authResult); 13931c75014Sopenharmony_ci printf("softwareResult = %d\n", attestResultInfo.softwareResult); 14031c75014Sopenharmony_ci } 14131c75014Sopenharmony_ci 14231c75014Sopenharmony_ci char udid[UDIDSIZE_LEN + 1] = {0}; 14331c75014Sopenharmony_ci int retUdid = GetDevUdid(udid, UDIDSIZE_LEN + 1); 14431c75014Sopenharmony_ci if (retUdid == 0) { 14531c75014Sopenharmony_ci printf("DevUdid = %s\n", udid); 14631c75014Sopenharmony_ci } else { 14731c75014Sopenharmony_ci printf("DevUdid = nullptr\n"); 14831c75014Sopenharmony_ci } 14931c75014Sopenharmony_ci 15031c75014Sopenharmony_ci const char *manuFacture = GetManufacture(); 15131c75014Sopenharmony_ci if (manuFacture != nullptr) { 15231c75014Sopenharmony_ci printf("manuFacture = %s\n", manuFacture); 15331c75014Sopenharmony_ci } else { 15431c75014Sopenharmony_ci printf("manuFacture = nullptr\n"); 15531c75014Sopenharmony_ci } 15631c75014Sopenharmony_ci 15731c75014Sopenharmony_ci const char *productModel = GetProductModel(); 15831c75014Sopenharmony_ci if (productModel != nullptr) { 15931c75014Sopenharmony_ci printf("productModel = %s\n", productModel); 16031c75014Sopenharmony_ci } else { 16131c75014Sopenharmony_ci printf("productModel = nullptr\n"); 16231c75014Sopenharmony_ci } 16331c75014Sopenharmony_ci 16431c75014Sopenharmony_ci const char *serial = GetSerial(); 16531c75014Sopenharmony_ci if (serial != nullptr) { 16631c75014Sopenharmony_ci printf("serial = %s\n", serial); 16731c75014Sopenharmony_ci } else { 16831c75014Sopenharmony_ci printf("serial = nullptr\n"); 16931c75014Sopenharmony_ci } 17031c75014Sopenharmony_ci 17131c75014Sopenharmony_ci const char *brand = GetBrand(); 17231c75014Sopenharmony_ci if (brand != nullptr) { 17331c75014Sopenharmony_ci printf("brand = %s\n", brand); 17431c75014Sopenharmony_ci } else { 17531c75014Sopenharmony_ci printf("brand = nullptr\n"); 17631c75014Sopenharmony_ci } 17731c75014Sopenharmony_ci 17831c75014Sopenharmony_ci const char *productSeries = GetProductSeries(); 17931c75014Sopenharmony_ci if (productSeries != nullptr) { 18031c75014Sopenharmony_ci printf("productSeries = %s\n", productSeries); 18131c75014Sopenharmony_ci } else { 18231c75014Sopenharmony_ci printf("productSeries = nullptr\n"); 18331c75014Sopenharmony_ci } 18431c75014Sopenharmony_ci 18531c75014Sopenharmony_ci const char *softwareModel = GetSoftwareModel(); 18631c75014Sopenharmony_ci if (softwareModel != nullptr) { 18731c75014Sopenharmony_ci printf("softwareModel = %s\n", softwareModel); 18831c75014Sopenharmony_ci } else { 18931c75014Sopenharmony_ci printf("softwareModel = nullptr\n"); 19031c75014Sopenharmony_ci } 19131c75014Sopenharmony_ci 19231c75014Sopenharmony_ci const char *hardWareModel = GetHardwareModel(); 19331c75014Sopenharmony_ci if (hardWareModel != nullptr) { 19431c75014Sopenharmony_ci printf("HardwareModel = %s\n", hardWareModel); 19531c75014Sopenharmony_ci } else { 19631c75014Sopenharmony_ci printf("HardwareModel = nullptr\n"); 19731c75014Sopenharmony_ci } 19831c75014Sopenharmony_ci 19931c75014Sopenharmony_ci const char *buildRootHash = GetBuildRootHash(); 20031c75014Sopenharmony_ci if (buildRootHash != nullptr) { 20131c75014Sopenharmony_ci printf("BuildRootHash = %s\n", buildRootHash); 20231c75014Sopenharmony_ci } else { 20331c75014Sopenharmony_ci printf("BuildRootHash = nullptr\n"); 20431c75014Sopenharmony_ci } 20531c75014Sopenharmony_ci 20631c75014Sopenharmony_ci const char *marketName = GetMarketName(); 20731c75014Sopenharmony_ci if (marketName != nullptr) { 20831c75014Sopenharmony_ci printf("marketName = %s\n", marketName); 20931c75014Sopenharmony_ci } else { 21031c75014Sopenharmony_ci printf("marketName = nullptr\n"); 21131c75014Sopenharmony_ci } 21231c75014Sopenharmony_ci 21331c75014Sopenharmony_ci ObtainProductParms(); 21431c75014Sopenharmony_ci 21531c75014Sopenharmony_ci printf("******To Obtain Product Params End ******\n"); 21631c75014Sopenharmony_ci return 0; 21731c75014Sopenharmony_ci} 218