14d5ea236Sopenharmony_ci/* 24d5ea236Sopenharmony_ci * Copyright (c) 2020 Huawei Device Co., Ltd. 34d5ea236Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 44d5ea236Sopenharmony_ci * you may not use this file except in compliance with the License. 54d5ea236Sopenharmony_ci * You may obtain a copy of the License at 64d5ea236Sopenharmony_ci * 74d5ea236Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 84d5ea236Sopenharmony_ci * 94d5ea236Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 104d5ea236Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 114d5ea236Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 124d5ea236Sopenharmony_ci * See the License for the specific language governing permissions and 134d5ea236Sopenharmony_ci * limitations under the License. 144d5ea236Sopenharmony_ci */ 154d5ea236Sopenharmony_ci 164d5ea236Sopenharmony_ci#ifndef OHOS_LITE_HOTA_PARTITION_H 174d5ea236Sopenharmony_ci#define OHOS_LITE_HOTA_PARTITION_H 184d5ea236Sopenharmony_ci 194d5ea236Sopenharmony_ci#include "ohos_types.h" 204d5ea236Sopenharmony_ci 214d5ea236Sopenharmony_ci#ifdef __cplusplus 224d5ea236Sopenharmony_ci#if __cplusplus 234d5ea236Sopenharmony_ciextern "C" { 244d5ea236Sopenharmony_ci#endif 254d5ea236Sopenharmony_ci#endif /* End of #ifdef __cplusplus */ 264d5ea236Sopenharmony_ci 274d5ea236Sopenharmony_ci#define PARTITION_NAME_LENGTH 16 284d5ea236Sopenharmony_ci#define PARTITION_ERROR -1 294d5ea236Sopenharmony_ci#define PARTITION_INFO_COMP 1 /* The info component of ota package. */ 304d5ea236Sopenharmony_ci#define SIGN_RSA2048_LEN 256 314d5ea236Sopenharmony_ci#define SIGN_RSA3072_LEN 384 324d5ea236Sopenharmony_ci 334d5ea236Sopenharmony_ci#define ABILITY_DIFF_UPDATE (0x1 << 0) 344d5ea236Sopenharmony_ci#define ABILITY_PATCH_UPDATE (0x1 << 1) 354d5ea236Sopenharmony_ci#define ABILITY_PKG_SEARCH (0x1 << 2) 364d5ea236Sopenharmony_ci#define ABILITY_PKG_DLOAD (0x1 << 3) 374d5ea236Sopenharmony_ci#define ABILITY_UPDATE_AUTH (0x1 << 4) 384d5ea236Sopenharmony_ci#define ABILITY_AUTO_UPDATE (0x1 << 5) 394d5ea236Sopenharmony_ci#define ABILITY_FLOW_INSTALL (0x1 << 6) 404d5ea236Sopenharmony_ci#define ABILITY_AB_PART_INSTALL (0x1 << 7) 414d5ea236Sopenharmony_ci 424d5ea236Sopenharmony_citypedef enum { 434d5ea236Sopenharmony_ci SIGN_ARITHMETIC_RSA2048 = 0x0001, 444d5ea236Sopenharmony_ci SIGN_ARITHMETIC_RSA3072 = 0x0011 454d5ea236Sopenharmony_ci} HotaSignArithmetic; 464d5ea236Sopenharmony_ci 474d5ea236Sopenharmony_citypedef struct { 484d5ea236Sopenharmony_ci int id; 494d5ea236Sopenharmony_ci const char *componentName; 504d5ea236Sopenharmony_ci const char *imgPath; 514d5ea236Sopenharmony_ci unsigned char abFlag; 524d5ea236Sopenharmony_ci} ComponentTableInfo; 534d5ea236Sopenharmony_ci 544d5ea236Sopenharmony_citypedef struct { 554d5ea236Sopenharmony_ci unsigned char updateMode; 564d5ea236Sopenharmony_ci unsigned char runningPartition; 574d5ea236Sopenharmony_ci unsigned char updatePartition; 584d5ea236Sopenharmony_ci unsigned char runningStatus; 594d5ea236Sopenharmony_ci unsigned char otaStatus; 604d5ea236Sopenharmony_ci unsigned char rebootStatus; 614d5ea236Sopenharmony_ci unsigned char updateStatus; 624d5ea236Sopenharmony_ci} UpdateMetaData; 634d5ea236Sopenharmony_ci 644d5ea236Sopenharmony_ci 654d5ea236Sopenharmony_ci#ifdef __cplusplus 664d5ea236Sopenharmony_ci#if __cplusplus 674d5ea236Sopenharmony_ci} 684d5ea236Sopenharmony_ci#endif 694d5ea236Sopenharmony_ci#endif /* End of #ifdef __cplusplus */ 704d5ea236Sopenharmony_ci 714d5ea236Sopenharmony_ci#endif /* End of #ifndef OHOS_LITE_HOTA_PARTITION_H */ 72