1aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 2aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Copyright (C) 2014 The Android Open Source Project 3aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 4aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Licensed under the Apache License, Version 2.0 (the "License"); 5aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// you may not use this file except in compliance with the License. 6aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// You may obtain a copy of the License at 7aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 8aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// http://www.apache.org/licenses/LICENSE-2.0 9aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 10aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Unless required by applicable law or agreed to in writing, software 11aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// distributed under the License is distributed on an "AS IS" BASIS, 12aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// See the License for the specific language governing permissions and 14aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// limitations under the License. 15aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 16161c4a132743f15fc4757112b673085c2a7a7f29Alex Deymo 1739910dcd1d68987ccee7c3031dc269233a8490bbAlex Deymo#include "update_engine/payload_consumer/payload_constants.h" 18161c4a132743f15fc4757112b673085c2a7a7f29Alex Deymo 19161c4a132743f15fc4757112b673085c2a7a7f29Alex Deymonamespace chromeos_update_engine { 20161c4a132743f15fc4757112b673085c2a7a7f29Alex Deymo 21cbf09896be9a627cd04dd54ef6875bed88daa3d8Alex Deymoconst uint64_t kChromeOSMajorPayloadVersion = 1; 22cbf09896be9a627cd04dd54ef6875bed88daa3d8Alex Deymoconst uint64_t kBrilloMajorPayloadVersion = 2; 23cbf09896be9a627cd04dd54ef6875bed88daa3d8Alex Deymo 24cbf09896be9a627cd04dd54ef6875bed88daa3d8Alex Deymoconst uint32_t kFullPayloadMinorVersion = 0; 25cbf09896be9a627cd04dd54ef6875bed88daa3d8Alex Deymoconst uint32_t kInPlaceMinorPayloadVersion = 1; 26cbf09896be9a627cd04dd54ef6875bed88daa3d8Alex Deymoconst uint32_t kSourceMinorPayloadVersion = 2; 2782352f97b4621dbf6af8308ff0b0b17b0968b53aSen Jiangconst uint32_t kOpSrcHashMinorPayloadVersion = 3; 2890c57d7d59e350065da2dc973d359c28f613e95cAmin Hassaniconst uint32_t kBrotliBsdiffMinorPayloadVersion = 4; 2990c57d7d59e350065da2dc973d359c28f613e95cAmin Hassaniconst uint32_t kPuffdiffMinorPayloadVersion = 5; 30cbf09896be9a627cd04dd54ef6875bed88daa3d8Alex Deymo 319c89e8499abeac3894718120d12b41301ffa3fc1Sen Jiangconst uint64_t kMaxPayloadHeaderSize = 24; 329c89e8499abeac3894718120d12b41301ffa3fc1Sen Jiang 3370a6ab091beb261a501012bc09955de452dd4736Sen Jiangconst char kLegacyPartitionNameKernel[] = "boot"; 3470a6ab091beb261a501012bc09955de452dd4736Sen Jiangconst char kLegacyPartitionNameRoot[] = "system"; 3570a6ab091beb261a501012bc09955de452dd4736Sen Jiang 36b8060e435f0edb8efef4891a99fa18f642e01aa2Sen Jiangconst char kDeltaMagic[4] = {'C', 'r', 'A', 'U'}; 37161c4a132743f15fc4757112b673085c2a7a7f29Alex Deymo 382d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymoconst char* InstallOperationTypeName(InstallOperation_Type op_type) { 392d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo switch (op_type) { 402d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::BSDIFF: 412d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "BSDIFF"; 422d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::MOVE: 432d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "MOVE"; 442d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::REPLACE: 452d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "REPLACE"; 462d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::REPLACE_BZ: 472d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "REPLACE_BZ"; 482d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::SOURCE_COPY: 492d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "SOURCE_COPY"; 502d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::SOURCE_BSDIFF: 512d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "SOURCE_BSDIFF"; 522d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::ZERO: 532d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "ZERO"; 542d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::DISCARD: 552d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "DISCARD"; 562d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo case InstallOperation::REPLACE_XZ: 572d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "REPLACE_XZ"; 585ef5d4561dbc40c128d1e9bbd8e2da525adcf581Amin Hassani case InstallOperation::PUFFDIFF: 595ef5d4561dbc40c128d1e9bbd8e2da525adcf581Amin Hassani return "PUFFDIFF"; 60efa62d959cf8f225477ab85d8ff42d5150007cf8Amin Hassani case InstallOperation::BROTLI_BSDIFF: 61efa62d959cf8f225477ab85d8ff42d5150007cf8Amin Hassani return "BROTLI_BSDIFF"; 622d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo } 632d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo return "<unknown_op>"; 642d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo} 652d621a3cf2da7ff3b2a178594cb97ada6c4350d3Alex Deymo 66161c4a132743f15fc4757112b673085c2a7a7f29Alex Deymo}; // namespace chromeos_update_engine 67