blob: de0fd7470798a5cc9e7e08aaf2cf6d55eb0dfd7e [file] [log] [blame]
Alex Deymoaea4c1c2015-08-19 20:24:43 -07001//
2// Copyright (C) 2014 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
Alex Deymo161c4a12014-05-16 15:56:21 -070016
Alex Deymo39910dc2015-11-09 17:04:30 -080017#include "update_engine/payload_consumer/payload_constants.h"
Alex Deymo161c4a12014-05-16 15:56:21 -070018
19namespace chromeos_update_engine {
20
Alex Deymocbf09892015-09-11 16:13:16 -070021const uint64_t kChromeOSMajorPayloadVersion = 1;
22const uint64_t kBrilloMajorPayloadVersion = 2;
23
24const uint32_t kFullPayloadMinorVersion = 0;
25const uint32_t kInPlaceMinorPayloadVersion = 1;
26const uint32_t kSourceMinorPayloadVersion = 2;
Sen Jiang82352f92015-11-09 16:36:53 -080027const uint32_t kOpSrcHashMinorPayloadVersion = 3;
Sen Jiang55c4f9b2016-02-10 11:26:20 -080028const uint32_t kImgdiffMinorPayloadVersion = 4;
Alex Deymocbf09892015-09-11 16:13:16 -070029
Sen Jiang70a6ab02015-08-28 13:23:27 -070030const char kLegacyPartitionNameKernel[] = "boot";
31const char kLegacyPartitionNameRoot[] = "system";
32
Sen Jiangb8060e42015-09-24 17:30:50 -070033const char kDeltaMagic[4] = {'C', 'r', 'A', 'U'};
Alex Deymo161c4a12014-05-16 15:56:21 -070034
Sen Jiange0d04282016-03-01 14:22:52 -080035// The zlib in Android and Chrome OS are currently compatible with each other,
36// so they are sharing the same array, but if in the future they are no longer
37// compatible with each other, we coule make the same change on the other one to
38// make them compatible again or use ifdef here.
39const char kCompatibleZlibFingerprint[][65] = {
40 "ea973605ccbbdb24f59f449c5f65861a1a9bc7a4353377aaaa06cb3e0f1cfbd7",
41 "3747fa404cceb00a5ec3606fc779510aaa784d5864ab1d5c28b9e267c40aad5c",
Sen Jiang940c09b2017-01-25 16:36:10 -080042 // zlib 1.2.11
43 "61514794a2985bee78135fd67a2f1fd18e56f3c3e410fbc4552a0e05a701e47a",
Sen Jiange0d04282016-03-01 14:22:52 -080044};
45
Alex Deymo2d621a32015-10-01 11:09:01 -070046const char* InstallOperationTypeName(InstallOperation_Type op_type) {
47 switch (op_type) {
48 case InstallOperation::BSDIFF:
49 return "BSDIFF";
50 case InstallOperation::MOVE:
51 return "MOVE";
52 case InstallOperation::REPLACE:
53 return "REPLACE";
54 case InstallOperation::REPLACE_BZ:
55 return "REPLACE_BZ";
56 case InstallOperation::SOURCE_COPY:
57 return "SOURCE_COPY";
58 case InstallOperation::SOURCE_BSDIFF:
59 return "SOURCE_BSDIFF";
60 case InstallOperation::ZERO:
61 return "ZERO";
62 case InstallOperation::DISCARD:
63 return "DISCARD";
64 case InstallOperation::REPLACE_XZ:
65 return "REPLACE_XZ";
Sen Jiang3317b882016-01-08 17:48:57 +080066 case InstallOperation::IMGDIFF:
67 return "IMGDIFF";
Alex Deymo2d621a32015-10-01 11:09:01 -070068 }
69 return "<unknown_op>";
70}
71
Alex Deymo161c4a12014-05-16 15:56:21 -070072}; // namespace chromeos_update_engine