Documentation ¶
Index ¶
- Variables
- type ApexInfo
- func (*ApexInfo) Descriptor() ([]byte, []int)deprecated
- func (x *ApexInfo) GetDecompressedSize() int64
- func (x *ApexInfo) GetIsCompressed() bool
- func (x *ApexInfo) GetPackageName() string
- func (x *ApexInfo) GetSourceVersion() int64
- func (x *ApexInfo) GetVersion() int64
- func (*ApexInfo) ProtoMessage()
- func (x *ApexInfo) ProtoReflect() protoreflect.Message
- func (x *ApexInfo) Reset()
- func (x *ApexInfo) String() string
- type ApexMetadata
- type CowMergeOperation
- func (*CowMergeOperation) Descriptor() ([]byte, []int)deprecated
- func (x *CowMergeOperation) GetDstExtent() *Extent
- func (x *CowMergeOperation) GetSrcExtent() *Extent
- func (x *CowMergeOperation) GetSrcOffset() uint32
- func (x *CowMergeOperation) GetType() CowMergeOperation_Type
- func (*CowMergeOperation) ProtoMessage()
- func (x *CowMergeOperation) ProtoReflect() protoreflect.Message
- func (x *CowMergeOperation) Reset()
- func (x *CowMergeOperation) String() string
- type CowMergeOperation_Type
- func (CowMergeOperation_Type) Descriptor() protoreflect.EnumDescriptor
- func (x CowMergeOperation_Type) Enum() *CowMergeOperation_Type
- func (CowMergeOperation_Type) EnumDescriptor() ([]byte, []int)deprecated
- func (x CowMergeOperation_Type) Number() protoreflect.EnumNumber
- func (x CowMergeOperation_Type) String() string
- func (CowMergeOperation_Type) Type() protoreflect.EnumType
- type DeltaArchiveManifest
- func (*DeltaArchiveManifest) Descriptor() ([]byte, []int)deprecated
- func (x *DeltaArchiveManifest) GetApexInfo() []*ApexInfo
- func (x *DeltaArchiveManifest) GetBlockSize() uint32
- func (x *DeltaArchiveManifest) GetDynamicPartitionMetadata() *DynamicPartitionMetadata
- func (x *DeltaArchiveManifest) GetMaxTimestamp() int64
- func (x *DeltaArchiveManifest) GetMinorVersion() uint32
- func (x *DeltaArchiveManifest) GetPartialUpdate() bool
- func (x *DeltaArchiveManifest) GetPartitions() []*PartitionUpdate
- func (x *DeltaArchiveManifest) GetSecurityPatchLevel() string
- func (x *DeltaArchiveManifest) GetSignaturesOffset() uint64
- func (x *DeltaArchiveManifest) GetSignaturesSize() uint64
- func (*DeltaArchiveManifest) ProtoMessage()
- func (x *DeltaArchiveManifest) ProtoReflect() protoreflect.Message
- func (x *DeltaArchiveManifest) Reset()
- func (x *DeltaArchiveManifest) String() string
- type DeviceState
- func (*DeviceState) Descriptor() ([]byte, []int)deprecated
- func (x *DeviceState) GetBuild() []string
- func (x *DeviceState) GetBuildIncremental() string
- func (x *DeviceState) GetDevice() []string
- func (x *DeviceState) GetPartitionState() []*PartitionState
- func (x *DeviceState) GetSdkLevel() string
- func (x *DeviceState) GetSecurityPatchLevel() string
- func (x *DeviceState) GetTimestamp() int64
- func (*DeviceState) ProtoMessage()
- func (x *DeviceState) ProtoReflect() protoreflect.Message
- func (x *DeviceState) Reset()
- func (x *DeviceState) String() string
- type DynamicPartitionGroup
- func (*DynamicPartitionGroup) Descriptor() ([]byte, []int)deprecated
- func (x *DynamicPartitionGroup) GetName() string
- func (x *DynamicPartitionGroup) GetPartitionNames() []string
- func (x *DynamicPartitionGroup) GetSize() uint64
- func (*DynamicPartitionGroup) ProtoMessage()
- func (x *DynamicPartitionGroup) ProtoReflect() protoreflect.Message
- func (x *DynamicPartitionGroup) Reset()
- func (x *DynamicPartitionGroup) String() string
- type DynamicPartitionMetadata
- func (*DynamicPartitionMetadata) Descriptor() ([]byte, []int)deprecated
- func (x *DynamicPartitionMetadata) GetCowVersion() uint32
- func (x *DynamicPartitionMetadata) GetGroups() []*DynamicPartitionGroup
- func (x *DynamicPartitionMetadata) GetSnapshotEnabled() bool
- func (x *DynamicPartitionMetadata) GetVabcCompressionParam() string
- func (x *DynamicPartitionMetadata) GetVabcEnabled() bool
- func (x *DynamicPartitionMetadata) GetVabcFeatureSet() *VABCFeatureSet
- func (*DynamicPartitionMetadata) ProtoMessage()
- func (x *DynamicPartitionMetadata) ProtoReflect() protoreflect.Message
- func (x *DynamicPartitionMetadata) Reset()
- func (x *DynamicPartitionMetadata) String() string
- type Extent
- type InstallOpStep
- type InstallOperation
- func (*InstallOperation) Descriptor() ([]byte, []int)deprecated
- func (x *InstallOperation) GetDataLength() uint64
- func (x *InstallOperation) GetDataOffset() uint64
- func (x *InstallOperation) GetDataSha256Hash() []byte
- func (x *InstallOperation) GetDstExtents() []*Extent
- func (x *InstallOperation) GetDstLength() uint64
- func (x *InstallOperation) GetSrcExtents() []*Extent
- func (x *InstallOperation) GetSrcLength() uint64
- func (x *InstallOperation) GetSrcSha256Hash() []byte
- func (x *InstallOperation) GetType() InstallOperation_Type
- func (*InstallOperation) ProtoMessage()
- func (x *InstallOperation) ProtoReflect() protoreflect.Message
- func (x *InstallOperation) Reset()
- func (x *InstallOperation) String() string
- type InstallOperation_Type
- func (InstallOperation_Type) Descriptor() protoreflect.EnumDescriptor
- func (x InstallOperation_Type) Enum() *InstallOperation_Type
- func (InstallOperation_Type) EnumDescriptor() ([]byte, []int)deprecated
- func (x InstallOperation_Type) Number() protoreflect.EnumNumber
- func (x InstallOperation_Type) String() string
- func (InstallOperation_Type) Type() protoreflect.EnumType
- type InstallOps
- type InstallOpsPartition
- type InstallOpsSession
- type InstallSession
- func (is *InstallSession) AddPayload(in string, extract []string, outDir string) (err error)
- func (is *InstallSession) Close()
- func (is *InstallSession) Install()
- func (is *InstallSession) IsClosed() bool
- func (is *InstallSession) IsInstalling() bool
- func (is *InstallSession) SetDebug(b bool)
- func (is *InstallSession) SetMemoryLimit(i uint64)
- type InstallSessionUsage
- type OtaMetadata
- func (*OtaMetadata) Descriptor() ([]byte, []int)deprecated
- func (x *OtaMetadata) GetDowngrade() bool
- func (x *OtaMetadata) GetPostcondition() *DeviceState
- func (x *OtaMetadata) GetPrecondition() *DeviceState
- func (x *OtaMetadata) GetPropertyFiles() map[string]string
- func (x *OtaMetadata) GetRequiredCache() int64
- func (x *OtaMetadata) GetRetrofitDynamicPartitions() bool
- func (x *OtaMetadata) GetSplDowngrade() bool
- func (x *OtaMetadata) GetType() OtaMetadata_OtaType
- func (x *OtaMetadata) GetWipe() bool
- func (*OtaMetadata) ProtoMessage()
- func (x *OtaMetadata) ProtoReflect() protoreflect.Message
- func (x *OtaMetadata) Reset()
- func (x *OtaMetadata) String() string
- type OtaMetadata_OtaType
- func (OtaMetadata_OtaType) Descriptor() protoreflect.EnumDescriptor
- func (x OtaMetadata_OtaType) Enum() *OtaMetadata_OtaType
- func (OtaMetadata_OtaType) EnumDescriptor() ([]byte, []int)deprecated
- func (x OtaMetadata_OtaType) Number() protoreflect.EnumNumber
- func (x OtaMetadata_OtaType) String() string
- func (OtaMetadata_OtaType) Type() protoreflect.EnumType
- type PartitionInfo
- func (*PartitionInfo) Descriptor() ([]byte, []int)deprecated
- func (x *PartitionInfo) GetHash() []byte
- func (x *PartitionInfo) GetSize() uint64
- func (*PartitionInfo) ProtoMessage()
- func (x *PartitionInfo) ProtoReflect() protoreflect.Message
- func (x *PartitionInfo) Reset()
- func (x *PartitionInfo) String() string
- type PartitionState
- func (*PartitionState) Descriptor() ([]byte, []int)deprecated
- func (x *PartitionState) GetBuild() []string
- func (x *PartitionState) GetDevice() []string
- func (x *PartitionState) GetPartitionName() string
- func (x *PartitionState) GetVersion() string
- func (*PartitionState) ProtoMessage()
- func (x *PartitionState) ProtoReflect() protoreflect.Message
- func (x *PartitionState) Reset()
- func (x *PartitionState) String() string
- type PartitionUpdate
- func (*PartitionUpdate) Descriptor() ([]byte, []int)deprecated
- func (x *PartitionUpdate) GetEstimateCowSize() uint64
- func (x *PartitionUpdate) GetFecDataExtent() *Extent
- func (x *PartitionUpdate) GetFecExtent() *Extent
- func (x *PartitionUpdate) GetFecRoots() uint32
- func (x *PartitionUpdate) GetFilesystemType() string
- func (x *PartitionUpdate) GetHashTreeAlgorithm() string
- func (x *PartitionUpdate) GetHashTreeDataExtent() *Extent
- func (x *PartitionUpdate) GetHashTreeExtent() *Extent
- func (x *PartitionUpdate) GetHashTreeSalt() []byte
- func (x *PartitionUpdate) GetMergeOperations() []*CowMergeOperation
- func (x *PartitionUpdate) GetNewPartitionInfo() *PartitionInfo
- func (x *PartitionUpdate) GetNewPartitionSignature() []*Signatures_Signature
- func (x *PartitionUpdate) GetOldPartitionInfo() *PartitionInfo
- func (x *PartitionUpdate) GetOperations() []*InstallOperation
- func (x *PartitionUpdate) GetPartitionName() string
- func (x *PartitionUpdate) GetPostinstallOptional() bool
- func (x *PartitionUpdate) GetPostinstallPath() string
- func (x *PartitionUpdate) GetRunPostinstall() bool
- func (x *PartitionUpdate) GetVersion() string
- func (*PartitionUpdate) ProtoMessage()
- func (x *PartitionUpdate) ProtoReflect() protoreflect.Message
- func (x *PartitionUpdate) Reset()
- func (x *PartitionUpdate) String() string
- type Payload
- type PayloadConsumer
- type Signatures
- type Signatures_Signature
- func (*Signatures_Signature) Descriptor() ([]byte, []int)deprecated
- func (x *Signatures_Signature) GetData() []byte
- func (x *Signatures_Signature) GetUnpaddedSignatureSize() uint32
- func (x *Signatures_Signature) GetVersion() uint32deprecated
- func (*Signatures_Signature) ProtoMessage()
- func (x *Signatures_Signature) ProtoReflect() protoreflect.Message
- func (x *Signatures_Signature) Reset()
- func (x *Signatures_Signature) String() string
- type VABCFeatureSet
- func (*VABCFeatureSet) Descriptor() ([]byte, []int)deprecated
- func (x *VABCFeatureSet) GetBatchWrites() bool
- func (x *VABCFeatureSet) GetThreaded() bool
- func (*VABCFeatureSet) ProtoMessage()
- func (x *VABCFeatureSet) ProtoReflect() protoreflect.Message
- func (x *VABCFeatureSet) Reset()
- func (x *VABCFeatureSet) String() string
Constants ¶
This section is empty.
Variables ¶
var ( OtaMetadata_OtaType_name = map[int32]string{ 0: "UNKNOWN", 1: "AB", 2: "BLOCK", 3: "BRICK", } OtaMetadata_OtaType_value = map[string]int32{ "UNKNOWN": 0, "AB": 1, "BLOCK": 2, "BRICK": 3, } )
Enum value maps for OtaMetadata_OtaType.
var ( InstallOperation_Type_name = map[int32]string{ 0: "REPLACE", 1: "REPLACE_BZ", 2: "MOVE", 3: "BSDIFF", 4: "SOURCE_COPY", 5: "SOURCE_BSDIFF", 8: "REPLACE_XZ", 6: "ZERO", 7: "DISCARD", 10: "BROTLI_BSDIFF", 9: "PUFFDIFF", 11: "ZUCCHINI", 12: "LZ4DIFF_BSDIFF", 13: "LZ4DIFF_PUFFDIFF", } InstallOperation_Type_value = map[string]int32{ "REPLACE": 0, "REPLACE_BZ": 1, "MOVE": 2, "BSDIFF": 3, "SOURCE_COPY": 4, "SOURCE_BSDIFF": 5, "REPLACE_XZ": 8, "ZERO": 6, "DISCARD": 7, "BROTLI_BSDIFF": 10, "PUFFDIFF": 9, "ZUCCHINI": 11, "LZ4DIFF_BSDIFF": 12, "LZ4DIFF_PUFFDIFF": 13, } )
Enum value maps for InstallOperation_Type.
var ( CowMergeOperation_Type_name = map[int32]string{ 0: "COW_COPY", 1: "COW_XOR", 2: "COW_REPLACE", } CowMergeOperation_Type_value = map[string]int32{ "COW_COPY": 0, "COW_XOR": 1, "COW_REPLACE": 2, } )
Enum value maps for CowMergeOperation_Type.
var File_aota_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ApexInfo ¶
type ApexInfo struct { PackageName *string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3,oneof" json:"package_name,omitempty"` Version *int64 `protobuf:"varint,2,opt,name=version,proto3,oneof" json:"version,omitempty"` IsCompressed *bool `protobuf:"varint,3,opt,name=is_compressed,json=isCompressed,proto3,oneof" json:"is_compressed,omitempty"` DecompressedSize *int64 `protobuf:"varint,4,opt,name=decompressed_size,json=decompressedSize,proto3,oneof" json:"decompressed_size,omitempty"` // Used in OTA SourceVersion *int64 `protobuf:"varint,5,opt,name=source_version,json=sourceVersion,proto3,oneof" json:"source_version,omitempty"` // contains filtered or unexported fields }
func (*ApexInfo) Descriptor
deprecated
func (*ApexInfo) GetDecompressedSize ¶
func (*ApexInfo) GetIsCompressed ¶
func (*ApexInfo) GetPackageName ¶
func (*ApexInfo) GetSourceVersion ¶
func (*ApexInfo) GetVersion ¶
func (*ApexInfo) ProtoMessage ¶
func (*ApexInfo) ProtoMessage()
func (*ApexInfo) ProtoReflect ¶
func (x *ApexInfo) ProtoReflect() protoreflect.Message
type ApexMetadata ¶
type ApexMetadata struct { ApexInfo []*ApexInfo `protobuf:"bytes,1,rep,name=apex_info,json=apexInfo,proto3" json:"apex_info,omitempty"` // contains filtered or unexported fields }
Just a container to hold repeated apex_info, so that we can easily serialize a list of apex_info to string.
func (*ApexMetadata) Descriptor
deprecated
func (*ApexMetadata) Descriptor() ([]byte, []int)
Deprecated: Use ApexMetadata.ProtoReflect.Descriptor instead.
func (*ApexMetadata) GetApexInfo ¶
func (x *ApexMetadata) GetApexInfo() []*ApexInfo
func (*ApexMetadata) ProtoMessage ¶
func (*ApexMetadata) ProtoMessage()
func (*ApexMetadata) ProtoReflect ¶
func (x *ApexMetadata) ProtoReflect() protoreflect.Message
func (*ApexMetadata) Reset ¶
func (x *ApexMetadata) Reset()
func (*ApexMetadata) String ¶
func (x *ApexMetadata) String() string
type CowMergeOperation ¶
type CowMergeOperation struct { Type *CowMergeOperation_Type `protobuf:"varint,1,opt,name=type,proto3,enum=chromeos_update_engine.CowMergeOperation_Type,oneof" json:"type,omitempty"` SrcExtent *Extent `protobuf:"bytes,2,opt,name=src_extent,json=srcExtent,proto3,oneof" json:"src_extent,omitempty"` DstExtent *Extent `protobuf:"bytes,3,opt,name=dst_extent,json=dstExtent,proto3,oneof" json:"dst_extent,omitempty"` // For COW_XOR, source location might be unaligned, so this field is in range // [0, block_size), representing how much should the src_extent shift toward // larger block number. If this field is non-zero, then src_extent will // include 1 extra block in the end, as the merge op actually references the // first |src_offset| bytes of that extra block. For example, if |dst_extent| // is [10, 15], |src_offset| is 500, then src_extent might look like [25, 31]. // Note that |src_extent| contains 1 extra block than the |dst_extent|. SrcOffset *uint32 `protobuf:"varint,4,opt,name=src_offset,json=srcOffset,proto3,oneof" json:"src_offset,omitempty"` // contains filtered or unexported fields }
Hints to VAB snapshot to skip writing some blocks if these blocks are identical to the ones on the source image. The src & dst extents for each CowMergeOperation should be contiguous, and they're a subset of an OTA InstallOperation. During merge time, we need to follow the pre-computed sequence to avoid read after write, similar to the inplace update schema.
func (*CowMergeOperation) Descriptor
deprecated
func (*CowMergeOperation) Descriptor() ([]byte, []int)
Deprecated: Use CowMergeOperation.ProtoReflect.Descriptor instead.
func (*CowMergeOperation) GetDstExtent ¶
func (x *CowMergeOperation) GetDstExtent() *Extent
func (*CowMergeOperation) GetSrcExtent ¶
func (x *CowMergeOperation) GetSrcExtent() *Extent
func (*CowMergeOperation) GetSrcOffset ¶
func (x *CowMergeOperation) GetSrcOffset() uint32
func (*CowMergeOperation) GetType ¶
func (x *CowMergeOperation) GetType() CowMergeOperation_Type
func (*CowMergeOperation) ProtoMessage ¶
func (*CowMergeOperation) ProtoMessage()
func (*CowMergeOperation) ProtoReflect ¶
func (x *CowMergeOperation) ProtoReflect() protoreflect.Message
func (*CowMergeOperation) Reset ¶
func (x *CowMergeOperation) Reset()
func (*CowMergeOperation) String ¶
func (x *CowMergeOperation) String() string
type CowMergeOperation_Type ¶
type CowMergeOperation_Type int32
const ( CowMergeOperation_COW_COPY CowMergeOperation_Type = 0 // identical blocks CowMergeOperation_COW_XOR CowMergeOperation_Type = 1 // used when src/dst blocks are highly similar CowMergeOperation_COW_REPLACE CowMergeOperation_Type = 2 // Raw replace operation )
func (CowMergeOperation_Type) Descriptor ¶
func (CowMergeOperation_Type) Descriptor() protoreflect.EnumDescriptor
func (CowMergeOperation_Type) Enum ¶
func (x CowMergeOperation_Type) Enum() *CowMergeOperation_Type
func (CowMergeOperation_Type) EnumDescriptor
deprecated
func (CowMergeOperation_Type) EnumDescriptor() ([]byte, []int)
Deprecated: Use CowMergeOperation_Type.Descriptor instead.
func (CowMergeOperation_Type) Number ¶
func (x CowMergeOperation_Type) Number() protoreflect.EnumNumber
func (CowMergeOperation_Type) String ¶
func (x CowMergeOperation_Type) String() string
func (CowMergeOperation_Type) Type ¶
func (CowMergeOperation_Type) Type() protoreflect.EnumType
type DeltaArchiveManifest ¶
type DeltaArchiveManifest struct { // (At time of writing) usually 4096 BlockSize *uint32 `protobuf:"varint,3,opt,name=block_size,json=blockSize,proto3,oneof" json:"block_size,omitempty"` // If signatures are present, the offset into the blobs, generally // tacked onto the end of the file, and the length. We use an offset // rather than a bool to allow for more flexibility in future file formats. // If either is absent, it means signatures aren't supported in this // file. SignaturesOffset *uint64 `protobuf:"varint,4,opt,name=signatures_offset,json=signaturesOffset,proto3,oneof" json:"signatures_offset,omitempty"` SignaturesSize *uint64 `protobuf:"varint,5,opt,name=signatures_size,json=signaturesSize,proto3,oneof" json:"signatures_size,omitempty"` // The minor version, also referred as "delta version", of the payload. // Minor version 0 is full payload, everything else is delta payload. MinorVersion *uint32 `protobuf:"varint,12,opt,name=minor_version,json=minorVersion,proto3,oneof" json:"minor_version,omitempty"` // Only present in major version >= 2. List of partitions that will be // updated, in the order they will be updated. This field replaces the // |install_operations|, |kernel_install_operations| and the // |{old,new}_{kernel,rootfs}_info| fields used in major version = 1. This // array can have more than two partitions if needed, and they are identified // by the partition name. Partitions []*PartitionUpdate `protobuf:"bytes,13,rep,name=partitions,proto3" json:"partitions,omitempty"` // The maximum timestamp of the OS allowed to apply this payload. // Can be used to prevent downgrading the OS. MaxTimestamp *int64 `protobuf:"varint,14,opt,name=max_timestamp,json=maxTimestamp,proto3,oneof" json:"max_timestamp,omitempty"` // Metadata related to all dynamic partitions. DynamicPartitionMetadata *DynamicPartitionMetadata `` /* 142-byte string literal not displayed */ // If the payload only updates a subset of partitions on the device. PartialUpdate *bool `protobuf:"varint,16,opt,name=partial_update,json=partialUpdate,proto3,oneof" json:"partial_update,omitempty"` // Information on compressed APEX to figure out how much space is required for // their decompression ApexInfo []*ApexInfo `protobuf:"bytes,17,rep,name=apex_info,json=apexInfo,proto3" json:"apex_info,omitempty"` // Security patch level of the device, usually in the format of // yyyy-mm-dd SecurityPatchLevel *string `protobuf:"bytes,18,opt,name=security_patch_level,json=securityPatchLevel,proto3,oneof" json:"security_patch_level,omitempty"` // contains filtered or unexported fields }
func (*DeltaArchiveManifest) Descriptor
deprecated
func (*DeltaArchiveManifest) Descriptor() ([]byte, []int)
Deprecated: Use DeltaArchiveManifest.ProtoReflect.Descriptor instead.
func (*DeltaArchiveManifest) GetApexInfo ¶
func (x *DeltaArchiveManifest) GetApexInfo() []*ApexInfo
func (*DeltaArchiveManifest) GetBlockSize ¶
func (x *DeltaArchiveManifest) GetBlockSize() uint32
func (*DeltaArchiveManifest) GetDynamicPartitionMetadata ¶
func (x *DeltaArchiveManifest) GetDynamicPartitionMetadata() *DynamicPartitionMetadata
func (*DeltaArchiveManifest) GetMaxTimestamp ¶
func (x *DeltaArchiveManifest) GetMaxTimestamp() int64
func (*DeltaArchiveManifest) GetMinorVersion ¶
func (x *DeltaArchiveManifest) GetMinorVersion() uint32
func (*DeltaArchiveManifest) GetPartialUpdate ¶
func (x *DeltaArchiveManifest) GetPartialUpdate() bool
func (*DeltaArchiveManifest) GetPartitions ¶
func (x *DeltaArchiveManifest) GetPartitions() []*PartitionUpdate
func (*DeltaArchiveManifest) GetSecurityPatchLevel ¶
func (x *DeltaArchiveManifest) GetSecurityPatchLevel() string
func (*DeltaArchiveManifest) GetSignaturesOffset ¶
func (x *DeltaArchiveManifest) GetSignaturesOffset() uint64
func (*DeltaArchiveManifest) GetSignaturesSize ¶
func (x *DeltaArchiveManifest) GetSignaturesSize() uint64
func (*DeltaArchiveManifest) ProtoMessage ¶
func (*DeltaArchiveManifest) ProtoMessage()
func (*DeltaArchiveManifest) ProtoReflect ¶
func (x *DeltaArchiveManifest) ProtoReflect() protoreflect.Message
func (*DeltaArchiveManifest) Reset ¶
func (x *DeltaArchiveManifest) Reset()
func (*DeltaArchiveManifest) String ¶
func (x *DeltaArchiveManifest) String() string
type DeviceState ¶
type DeviceState struct { // device name. i.e. ro.product.device; if the field has multiple values, it // means the ota package supports multiple devices. This usually happens when // we use the same image to support multiple skus. Device []string `protobuf:"bytes,1,rep,name=device,proto3" json:"device,omitempty"` // device fingerprint. Up to R build, the value reads from // ro.build.fingerprint. Build []string `protobuf:"bytes,2,rep,name=build,proto3" json:"build,omitempty"` // A value that specify a version of the android build. BuildIncremental string `protobuf:"bytes,3,opt,name=build_incremental,json=buildIncremental,proto3" json:"build_incremental,omitempty"` // The timestamp when the build is generated. Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // The version of the currently-executing Android system. SdkLevel string `protobuf:"bytes,5,opt,name=sdk_level,json=sdkLevel,proto3" json:"sdk_level,omitempty"` // A value indicating the security patch level of a build. SecurityPatchLevel string `protobuf:"bytes,6,opt,name=security_patch_level,json=securityPatchLevel,proto3" json:"security_patch_level,omitempty"` // The detailed state of each partition. For partial updates or devices with // mixed build of partitions, some of the above fields may left empty. And the // client will rely on the information of specific partitions to target the // update. PartitionState []*PartitionState `protobuf:"bytes,7,rep,name=partition_state,json=partitionState,proto3" json:"partition_state,omitempty"` // contains filtered or unexported fields }
The build information on the device. The bytes of the running images are thus inferred from the device state. For more information of the meaning of each subfield, check https://source.android.com/compatibility/android-cdd#3_2_2_build_parameters
func (*DeviceState) Descriptor
deprecated
func (*DeviceState) Descriptor() ([]byte, []int)
Deprecated: Use DeviceState.ProtoReflect.Descriptor instead.
func (*DeviceState) GetBuild ¶
func (x *DeviceState) GetBuild() []string
func (*DeviceState) GetBuildIncremental ¶
func (x *DeviceState) GetBuildIncremental() string
func (*DeviceState) GetDevice ¶
func (x *DeviceState) GetDevice() []string
func (*DeviceState) GetPartitionState ¶
func (x *DeviceState) GetPartitionState() []*PartitionState
func (*DeviceState) GetSdkLevel ¶
func (x *DeviceState) GetSdkLevel() string
func (*DeviceState) GetSecurityPatchLevel ¶
func (x *DeviceState) GetSecurityPatchLevel() string
func (*DeviceState) GetTimestamp ¶
func (x *DeviceState) GetTimestamp() int64
func (*DeviceState) ProtoMessage ¶
func (*DeviceState) ProtoMessage()
func (*DeviceState) ProtoReflect ¶
func (x *DeviceState) ProtoReflect() protoreflect.Message
func (*DeviceState) Reset ¶
func (x *DeviceState) Reset()
func (*DeviceState) String ¶
func (x *DeviceState) String() string
type DynamicPartitionGroup ¶
type DynamicPartitionGroup struct { // Name of the group. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Maximum size of the group. The sum of sizes of all partitions in the group // must not exceed the maximum size of the group. Size *uint64 `protobuf:"varint,2,opt,name=size,proto3,oneof" json:"size,omitempty"` // A list of partitions that belong to the group. PartitionNames []string `protobuf:"bytes,3,rep,name=partition_names,json=partitionNames,proto3" json:"partition_names,omitempty"` // contains filtered or unexported fields }
func (*DynamicPartitionGroup) Descriptor
deprecated
func (*DynamicPartitionGroup) Descriptor() ([]byte, []int)
Deprecated: Use DynamicPartitionGroup.ProtoReflect.Descriptor instead.
func (*DynamicPartitionGroup) GetName ¶
func (x *DynamicPartitionGroup) GetName() string
func (*DynamicPartitionGroup) GetPartitionNames ¶
func (x *DynamicPartitionGroup) GetPartitionNames() []string
func (*DynamicPartitionGroup) GetSize ¶
func (x *DynamicPartitionGroup) GetSize() uint64
func (*DynamicPartitionGroup) ProtoMessage ¶
func (*DynamicPartitionGroup) ProtoMessage()
func (*DynamicPartitionGroup) ProtoReflect ¶
func (x *DynamicPartitionGroup) ProtoReflect() protoreflect.Message
func (*DynamicPartitionGroup) Reset ¶
func (x *DynamicPartitionGroup) Reset()
func (*DynamicPartitionGroup) String ¶
func (x *DynamicPartitionGroup) String() string
type DynamicPartitionMetadata ¶
type DynamicPartitionMetadata struct { // All updatable groups present in |partitions| of this DeltaArchiveManifest. // - If an updatable group is on the device but not in the manifest, it is // not updated. Hence, the group will not be resized, and partitions cannot // be added to or removed from the group. // - If an updatable group is in the manifest but not on the device, the group // is added to the device. Groups []*DynamicPartitionGroup `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"` // Whether dynamic partitions have snapshots during the update. If this is // set to true, the update_engine daemon creates snapshots for all dynamic // partitions if possible. If this is unset, the update_engine daemon MUST // NOT create snapshots for dynamic partitions. SnapshotEnabled *bool `protobuf:"varint,2,opt,name=snapshot_enabled,json=snapshotEnabled,proto3,oneof" json:"snapshot_enabled,omitempty"` // If this is set to false, update_engine should not use VABC regardless. If // this is set to true, update_engine may choose to use VABC if device // supports it, but not guaranteed. // VABC stands for Virtual AB Compression VabcEnabled *bool `protobuf:"varint,3,opt,name=vabc_enabled,json=vabcEnabled,proto3,oneof" json:"vabc_enabled,omitempty"` // The compression algorithm used by VABC. Available ones are "gz", "brotli". // See system/core/fs_mgr/libsnapshot/cow_writer.cpp for available options, // as this parameter is ultimated forwarded to libsnapshot's CowWriter VabcCompressionParam *string `` /* 129-byte string literal not displayed */ // COW version used by VABC. The represents the major version in the COW // header CowVersion *uint32 `protobuf:"varint,5,opt,name=cow_version,json=cowVersion,proto3,oneof" json:"cow_version,omitempty"` // A collection of knobs to tune Virtual AB Compression VabcFeatureSet *VABCFeatureSet `protobuf:"bytes,6,opt,name=vabc_feature_set,json=vabcFeatureSet,proto3,oneof" json:"vabc_feature_set,omitempty"` // contains filtered or unexported fields }
Metadata related to all dynamic partitions.
func (*DynamicPartitionMetadata) Descriptor
deprecated
func (*DynamicPartitionMetadata) Descriptor() ([]byte, []int)
Deprecated: Use DynamicPartitionMetadata.ProtoReflect.Descriptor instead.
func (*DynamicPartitionMetadata) GetCowVersion ¶
func (x *DynamicPartitionMetadata) GetCowVersion() uint32
func (*DynamicPartitionMetadata) GetGroups ¶
func (x *DynamicPartitionMetadata) GetGroups() []*DynamicPartitionGroup
func (*DynamicPartitionMetadata) GetSnapshotEnabled ¶
func (x *DynamicPartitionMetadata) GetSnapshotEnabled() bool
func (*DynamicPartitionMetadata) GetVabcCompressionParam ¶
func (x *DynamicPartitionMetadata) GetVabcCompressionParam() string
func (*DynamicPartitionMetadata) GetVabcEnabled ¶
func (x *DynamicPartitionMetadata) GetVabcEnabled() bool
func (*DynamicPartitionMetadata) GetVabcFeatureSet ¶
func (x *DynamicPartitionMetadata) GetVabcFeatureSet() *VABCFeatureSet
func (*DynamicPartitionMetadata) ProtoMessage ¶
func (*DynamicPartitionMetadata) ProtoMessage()
func (*DynamicPartitionMetadata) ProtoReflect ¶
func (x *DynamicPartitionMetadata) ProtoReflect() protoreflect.Message
func (*DynamicPartitionMetadata) Reset ¶
func (x *DynamicPartitionMetadata) Reset()
func (*DynamicPartitionMetadata) String ¶
func (x *DynamicPartitionMetadata) String() string
type Extent ¶
type Extent struct { StartBlock *uint64 `protobuf:"varint,1,opt,name=start_block,json=startBlock,proto3,oneof" json:"start_block,omitempty"` NumBlocks *uint64 `protobuf:"varint,2,opt,name=num_blocks,json=numBlocks,proto3,oneof" json:"num_blocks,omitempty"` // contains filtered or unexported fields }
func (*Extent) Descriptor
deprecated
func (*Extent) GetNumBlocks ¶
func (*Extent) GetStartBlock ¶
func (*Extent) ProtoMessage ¶
func (*Extent) ProtoMessage()
func (*Extent) ProtoReflect ¶
func (x *Extent) ProtoReflect() protoreflect.Message
type InstallOpStep ¶
type InstallOpStep struct { Op int Iop *InstallOpsPartition }
type InstallOperation ¶
type InstallOperation struct { Type InstallOperation_Type `protobuf:"varint,1,opt,name=type,proto3,enum=chromeos_update_engine.InstallOperation_Type" json:"type,omitempty"` // Only minor version 6 or newer support 64 bits |data_offset| and // |data_length|, older client will read them as uint32. // The offset into the delta file (after the protobuf) // where the data (if any) is stored DataOffset *uint64 `protobuf:"varint,2,opt,name=data_offset,json=dataOffset,proto3,oneof" json:"data_offset,omitempty"` // The length of the data in the delta file DataLength *uint64 `protobuf:"varint,3,opt,name=data_length,json=dataLength,proto3,oneof" json:"data_length,omitempty"` // Ordered list of extents that are read from (if any) and written to. SrcExtents []*Extent `protobuf:"bytes,4,rep,name=src_extents,json=srcExtents,proto3" json:"src_extents,omitempty"` // Byte length of src, equal to the number of blocks in src_extents * // block_size. It is used for BSDIFF and SOURCE_BSDIFF, because we need to // pass that external program the number of bytes to read from the blocks we // pass it. This is not used in any other operation. SrcLength *uint64 `protobuf:"varint,5,opt,name=src_length,json=srcLength,proto3,oneof" json:"src_length,omitempty"` DstExtents []*Extent `protobuf:"bytes,6,rep,name=dst_extents,json=dstExtents,proto3" json:"dst_extents,omitempty"` // Byte length of dst, equal to the number of blocks in dst_extents * // block_size. Used for BSDIFF and SOURCE_BSDIFF, but not in any other // operation. DstLength *uint64 `protobuf:"varint,7,opt,name=dst_length,json=dstLength,proto3,oneof" json:"dst_length,omitempty"` // Optional SHA 256 hash of the blob associated with this operation. // This is used as a primary validation for http-based downloads and // as a defense-in-depth validation for https-based downloads. If // the operation doesn't refer to any blob, this field will have // zero bytes. DataSha256Hash []byte `protobuf:"bytes,8,opt,name=data_sha256_hash,json=dataSha256Hash,proto3,oneof" json:"data_sha256_hash,omitempty"` // Indicates the SHA 256 hash of the source data referenced in src_extents at // the time of applying the operation. If present, the update_engine daemon // MUST read and verify the source data before applying the operation. SrcSha256Hash []byte `protobuf:"bytes,9,opt,name=src_sha256_hash,json=srcSha256Hash,proto3,oneof" json:"src_sha256_hash,omitempty"` // contains filtered or unexported fields }
func (*InstallOperation) Descriptor
deprecated
func (*InstallOperation) Descriptor() ([]byte, []int)
Deprecated: Use InstallOperation.ProtoReflect.Descriptor instead.
func (*InstallOperation) GetDataLength ¶
func (x *InstallOperation) GetDataLength() uint64
func (*InstallOperation) GetDataOffset ¶
func (x *InstallOperation) GetDataOffset() uint64
func (*InstallOperation) GetDataSha256Hash ¶
func (x *InstallOperation) GetDataSha256Hash() []byte
func (*InstallOperation) GetDstExtents ¶
func (x *InstallOperation) GetDstExtents() []*Extent
func (*InstallOperation) GetDstLength ¶
func (x *InstallOperation) GetDstLength() uint64
func (*InstallOperation) GetSrcExtents ¶
func (x *InstallOperation) GetSrcExtents() []*Extent
func (*InstallOperation) GetSrcLength ¶
func (x *InstallOperation) GetSrcLength() uint64
func (*InstallOperation) GetSrcSha256Hash ¶
func (x *InstallOperation) GetSrcSha256Hash() []byte
func (*InstallOperation) GetType ¶
func (x *InstallOperation) GetType() InstallOperation_Type
func (*InstallOperation) ProtoMessage ¶
func (*InstallOperation) ProtoMessage()
func (*InstallOperation) ProtoReflect ¶
func (x *InstallOperation) ProtoReflect() protoreflect.Message
func (*InstallOperation) Reset ¶
func (x *InstallOperation) Reset()
func (*InstallOperation) String ¶
func (x *InstallOperation) String() string
type InstallOperation_Type ¶
type InstallOperation_Type int32
const ( InstallOperation_REPLACE InstallOperation_Type = 0 // Replace destination extents w/ attached data. InstallOperation_REPLACE_BZ InstallOperation_Type = 1 // Replace destination extents w/ attached bzipped data. // Deprecated: Marked as deprecated in aota.proto. InstallOperation_MOVE InstallOperation_Type = 2 // Move source extents to target extents. // Deprecated: Marked as deprecated in aota.proto. InstallOperation_BSDIFF InstallOperation_Type = 3 // The data is a bsdiff binary diff. // On minor version 2 or newer, these operations are supported: InstallOperation_SOURCE_COPY InstallOperation_Type = 4 // Copy from source to target partition InstallOperation_SOURCE_BSDIFF InstallOperation_Type = 5 // Like BSDIFF, but read from source partition // On minor version 3 or newer and on major version 2 or newer, these // operations are supported: InstallOperation_REPLACE_XZ InstallOperation_Type = 8 // Replace destination extents w/ attached xz data. // On minor version 4 or newer, these operations are supported: InstallOperation_ZERO InstallOperation_Type = 6 // Write zeros in the destination. InstallOperation_DISCARD InstallOperation_Type = 7 // Discard the destination blocks, reading as undefined. InstallOperation_BROTLI_BSDIFF InstallOperation_Type = 10 // Like SOURCE_BSDIFF, but compressed with brotli. // On minor version 5 or newer, these operations are supported: InstallOperation_PUFFDIFF InstallOperation_Type = 9 // The data is in puffdiff format. // On minor version 8 or newer, these operations are supported: InstallOperation_ZUCCHINI InstallOperation_Type = 11 // On minor version 9 or newer, these operations are supported: InstallOperation_LZ4DIFF_BSDIFF InstallOperation_Type = 12 InstallOperation_LZ4DIFF_PUFFDIFF InstallOperation_Type = 13 )
func (InstallOperation_Type) Descriptor ¶
func (InstallOperation_Type) Descriptor() protoreflect.EnumDescriptor
func (InstallOperation_Type) Enum ¶
func (x InstallOperation_Type) Enum() *InstallOperation_Type
func (InstallOperation_Type) EnumDescriptor
deprecated
func (InstallOperation_Type) EnumDescriptor() ([]byte, []int)
Deprecated: Use InstallOperation_Type.Descriptor instead.
func (InstallOperation_Type) Number ¶
func (x InstallOperation_Type) Number() protoreflect.EnumNumber
func (InstallOperation_Type) String ¶
func (x InstallOperation_Type) String() string
func (InstallOperation_Type) Type ¶
func (InstallOperation_Type) Type() protoreflect.EnumType
type InstallOps ¶
type InstallOps struct { Map []*InstallOpsPartition //Used to map a raw operation step to a partition Ops []*InstallOperation //Buffered install operation steps Steps []InstallOpStep //Ordered index mapping of install operations Session *InstallOpsSession //Tracks an ongoing installation Payload *Payload //The raw payload holding these ops BlockSize uint64 //The size to zero-pad install operations to BaseOffset uint64 //Offset of install data after header // contains filtered or unexported fields }
func NewInstallOps ¶
func NewInstallOps(payload *Payload, outDir string) (*InstallOps, error)
func (*InstallOps) Run ¶
func (iops *InstallOps) Run()
type InstallOpsPartition ¶
type InstallOpsSession ¶
type InstallSession ¶
type InstallSession struct { Payloads []*Payload Usage InstallSessionUsage Debug bool // contains filtered or unexported fields }
func NewInstallSession ¶
func NewInstallSession(input string, extract []string, outDir string) (*InstallSession, error)
func NewInstallSessionMulti ¶
func NewInstallSessionMulti(input, extract []string, outDir string) (*InstallSession, error)
func (*InstallSession) AddPayload ¶
func (is *InstallSession) AddPayload(in string, extract []string, outDir string) (err error)
func (*InstallSession) Close ¶
func (is *InstallSession) Close()
func (*InstallSession) Install ¶
func (is *InstallSession) Install()
func (*InstallSession) IsClosed ¶
func (is *InstallSession) IsClosed() bool
func (*InstallSession) IsInstalling ¶
func (is *InstallSession) IsInstalling() bool
func (*InstallSession) SetDebug ¶
func (is *InstallSession) SetDebug(b bool)
func (*InstallSession) SetMemoryLimit ¶
func (is *InstallSession) SetMemoryLimit(i uint64)
type InstallSessionUsage ¶
type OtaMetadata ¶
type OtaMetadata struct { Type OtaMetadata_OtaType `protobuf:"varint,1,opt,name=type,proto3,enum=chromeos_update_engine.OtaMetadata_OtaType" json:"type,omitempty"` // True if we need to wipe after the update. Wipe bool `protobuf:"varint,2,opt,name=wipe,proto3" json:"wipe,omitempty"` // True if the timestamp of the post build is older than the pre build. Downgrade bool `protobuf:"varint,3,opt,name=downgrade,proto3" json:"downgrade,omitempty"` // A map of name:content of property files, e.g. ota-property-files. PropertyFiles map[string]string `` /* 188-byte string literal not displayed */ // The required device state in order to install the package. Precondition *DeviceState `protobuf:"bytes,5,opt,name=precondition,proto3" json:"precondition,omitempty"` // The expected device state after the update. Postcondition *DeviceState `protobuf:"bytes,6,opt,name=postcondition,proto3" json:"postcondition,omitempty"` // True if the ota that updates a device to support dynamic partitions, where // the source build doesn't support it. RetrofitDynamicPartitions bool `` /* 139-byte string literal not displayed */ // The required size of the cache partition, only valid for non-A/B update. RequiredCache int64 `protobuf:"varint,8,opt,name=required_cache,json=requiredCache,proto3" json:"required_cache,omitempty"` // True iff security patch level downgrade is permitted on this OTA. SplDowngrade bool `protobuf:"varint,9,opt,name=spl_downgrade,json=splDowngrade,proto3" json:"spl_downgrade,omitempty"` // contains filtered or unexported fields }
The metadata of an OTA package. It contains the information of the package and prerequisite to install the update correctly.
func (*OtaMetadata) Descriptor
deprecated
func (*OtaMetadata) Descriptor() ([]byte, []int)
Deprecated: Use OtaMetadata.ProtoReflect.Descriptor instead.
func (*OtaMetadata) GetDowngrade ¶
func (x *OtaMetadata) GetDowngrade() bool
func (*OtaMetadata) GetPostcondition ¶
func (x *OtaMetadata) GetPostcondition() *DeviceState
func (*OtaMetadata) GetPrecondition ¶
func (x *OtaMetadata) GetPrecondition() *DeviceState
func (*OtaMetadata) GetPropertyFiles ¶
func (x *OtaMetadata) GetPropertyFiles() map[string]string
func (*OtaMetadata) GetRequiredCache ¶
func (x *OtaMetadata) GetRequiredCache() int64
func (*OtaMetadata) GetRetrofitDynamicPartitions ¶
func (x *OtaMetadata) GetRetrofitDynamicPartitions() bool
func (*OtaMetadata) GetSplDowngrade ¶
func (x *OtaMetadata) GetSplDowngrade() bool
func (*OtaMetadata) GetType ¶
func (x *OtaMetadata) GetType() OtaMetadata_OtaType
func (*OtaMetadata) GetWipe ¶
func (x *OtaMetadata) GetWipe() bool
func (*OtaMetadata) ProtoMessage ¶
func (*OtaMetadata) ProtoMessage()
func (*OtaMetadata) ProtoReflect ¶
func (x *OtaMetadata) ProtoReflect() protoreflect.Message
func (*OtaMetadata) Reset ¶
func (x *OtaMetadata) Reset()
func (*OtaMetadata) String ¶
func (x *OtaMetadata) String() string
type OtaMetadata_OtaType ¶
type OtaMetadata_OtaType int32
const ( OtaMetadata_UNKNOWN OtaMetadata_OtaType = 0 OtaMetadata_AB OtaMetadata_OtaType = 1 OtaMetadata_BLOCK OtaMetadata_OtaType = 2 OtaMetadata_BRICK OtaMetadata_OtaType = 3 )
func (OtaMetadata_OtaType) Descriptor ¶
func (OtaMetadata_OtaType) Descriptor() protoreflect.EnumDescriptor
func (OtaMetadata_OtaType) Enum ¶
func (x OtaMetadata_OtaType) Enum() *OtaMetadata_OtaType
func (OtaMetadata_OtaType) EnumDescriptor
deprecated
func (OtaMetadata_OtaType) EnumDescriptor() ([]byte, []int)
Deprecated: Use OtaMetadata_OtaType.Descriptor instead.
func (OtaMetadata_OtaType) Number ¶
func (x OtaMetadata_OtaType) Number() protoreflect.EnumNumber
func (OtaMetadata_OtaType) String ¶
func (x OtaMetadata_OtaType) String() string
func (OtaMetadata_OtaType) Type ¶
func (OtaMetadata_OtaType) Type() protoreflect.EnumType
type PartitionInfo ¶
type PartitionInfo struct { Size *uint64 `protobuf:"varint,1,opt,name=size,proto3,oneof" json:"size,omitempty"` Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3,oneof" json:"hash,omitempty"` // contains filtered or unexported fields }
func (*PartitionInfo) Descriptor
deprecated
func (*PartitionInfo) Descriptor() ([]byte, []int)
Deprecated: Use PartitionInfo.ProtoReflect.Descriptor instead.
func (*PartitionInfo) GetHash ¶
func (x *PartitionInfo) GetHash() []byte
func (*PartitionInfo) GetSize ¶
func (x *PartitionInfo) GetSize() uint64
func (*PartitionInfo) ProtoMessage ¶
func (*PartitionInfo) ProtoMessage()
func (*PartitionInfo) ProtoReflect ¶
func (x *PartitionInfo) ProtoReflect() protoreflect.Message
func (*PartitionInfo) Reset ¶
func (x *PartitionInfo) Reset()
func (*PartitionInfo) String ¶
func (x *PartitionInfo) String() string
type PartitionState ¶
type PartitionState struct { PartitionName string `protobuf:"bytes,1,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"` Device []string `protobuf:"bytes,2,rep,name=device,proto3" json:"device,omitempty"` Build []string `protobuf:"bytes,3,rep,name=build,proto3" json:"build,omitempty"` // The version string of the partition. It's usually timestamp if present. // One known exception is the boot image, who uses the kmi version, e.g. // 5.4.42-android12-0 Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // contains filtered or unexported fields }
The build information of a particular partition on the device.
func (*PartitionState) Descriptor
deprecated
func (*PartitionState) Descriptor() ([]byte, []int)
Deprecated: Use PartitionState.ProtoReflect.Descriptor instead.
func (*PartitionState) GetBuild ¶
func (x *PartitionState) GetBuild() []string
func (*PartitionState) GetDevice ¶
func (x *PartitionState) GetDevice() []string
func (*PartitionState) GetPartitionName ¶
func (x *PartitionState) GetPartitionName() string
func (*PartitionState) GetVersion ¶
func (x *PartitionState) GetVersion() string
func (*PartitionState) ProtoMessage ¶
func (*PartitionState) ProtoMessage()
func (*PartitionState) ProtoReflect ¶
func (x *PartitionState) ProtoReflect() protoreflect.Message
func (*PartitionState) Reset ¶
func (x *PartitionState) Reset()
func (*PartitionState) String ¶
func (x *PartitionState) String() string
type PartitionUpdate ¶
type PartitionUpdate struct { // A platform-specific name to identify the partition set being updated. For // example, in Chrome OS this could be "ROOT" or "KERNEL". PartitionName string `protobuf:"bytes,1,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"` // Whether this partition carries a filesystem with post-install program that // must be run to finalize the update process. See also |postinstall_path| and // |filesystem_type|. RunPostinstall *bool `protobuf:"varint,2,opt,name=run_postinstall,json=runPostinstall,proto3,oneof" json:"run_postinstall,omitempty"` // The path of the executable program to run during the post-install step, // relative to the root of this filesystem. If not set, the default "postinst" // will be used. This setting is only used when |run_postinstall| is set and // true. PostinstallPath *string `protobuf:"bytes,3,opt,name=postinstall_path,json=postinstallPath,proto3,oneof" json:"postinstall_path,omitempty"` // The filesystem type as passed to the mount(2) syscall when mounting the new // filesystem to run the post-install program. If not set, a fixed list of // filesystems will be attempted. This setting is only used if // |run_postinstall| is set and true. FilesystemType *string `protobuf:"bytes,4,opt,name=filesystem_type,json=filesystemType,proto3,oneof" json:"filesystem_type,omitempty"` // If present, a list of signatures of the new_partition_info.hash signed with // different keys. If the update_engine daemon requires vendor-signed images // and has its public key installed, one of the signatures should be valid // for /postinstall to run. NewPartitionSignature []*Signatures_Signature `` /* 126-byte string literal not displayed */ OldPartitionInfo *PartitionInfo `protobuf:"bytes,6,opt,name=old_partition_info,json=oldPartitionInfo,proto3,oneof" json:"old_partition_info,omitempty"` NewPartitionInfo *PartitionInfo `protobuf:"bytes,7,opt,name=new_partition_info,json=newPartitionInfo,proto3,oneof" json:"new_partition_info,omitempty"` // The list of operations to be performed to apply this PartitionUpdate. The // associated operation blobs (in operations[i].data_offset, data_length) // should be stored contiguously and in the same order. Operations []*InstallOperation `protobuf:"bytes,8,rep,name=operations,proto3" json:"operations,omitempty"` // Whether a failure in the postinstall step for this partition should be // ignored. PostinstallOptional *bool `protobuf:"varint,9,opt,name=postinstall_optional,json=postinstallOptional,proto3,oneof" json:"postinstall_optional,omitempty"` // The extent for data covered by verity hash tree. HashTreeDataExtent *Extent `` /* 126-byte string literal not displayed */ // The extent to store verity hash tree. HashTreeExtent *Extent `protobuf:"bytes,11,opt,name=hash_tree_extent,json=hashTreeExtent,proto3,oneof" json:"hash_tree_extent,omitempty"` // The hash algorithm used in verity hash tree. HashTreeAlgorithm *string `protobuf:"bytes,12,opt,name=hash_tree_algorithm,json=hashTreeAlgorithm,proto3,oneof" json:"hash_tree_algorithm,omitempty"` // The salt used for verity hash tree. HashTreeSalt []byte `protobuf:"bytes,13,opt,name=hash_tree_salt,json=hashTreeSalt,proto3,oneof" json:"hash_tree_salt,omitempty"` // The extent for data covered by FEC. FecDataExtent *Extent `protobuf:"bytes,14,opt,name=fec_data_extent,json=fecDataExtent,proto3,oneof" json:"fec_data_extent,omitempty"` // The extent to store FEC. FecExtent *Extent `protobuf:"bytes,15,opt,name=fec_extent,json=fecExtent,proto3,oneof" json:"fec_extent,omitempty"` // The number of FEC roots (default should be 2). FecRoots *uint32 `protobuf:"varint,16,opt,name=fec_roots,json=fecRoots,proto3,oneof" json:"fec_roots,omitempty"` // Per-partition version used for downgrade detection, added // as an effort to support partial updates. For most partitions, // this is the build timestamp. Version *string `protobuf:"bytes,17,opt,name=version,proto3,oneof" json:"version,omitempty"` // A sorted list of CowMergeOperation. When writing cow, we can choose to // skip writing the raw bytes for these extents. During snapshot merge, the // bytes will read from the source partitions instead. MergeOperations []*CowMergeOperation `protobuf:"bytes,18,rep,name=merge_operations,json=mergeOperations,proto3" json:"merge_operations,omitempty"` // Estimated size for COW image. This is used by libsnapshot // as a hint. If set to 0, libsnapshot should use alternative // methods for estimating size. EstimateCowSize *uint64 `protobuf:"varint,19,opt,name=estimate_cow_size,json=estimateCowSize,proto3,oneof" json:"estimate_cow_size,omitempty"` // contains filtered or unexported fields }
Describes the update to apply to a single partition.
func (*PartitionUpdate) Descriptor
deprecated
func (*PartitionUpdate) Descriptor() ([]byte, []int)
Deprecated: Use PartitionUpdate.ProtoReflect.Descriptor instead.
func (*PartitionUpdate) GetEstimateCowSize ¶
func (x *PartitionUpdate) GetEstimateCowSize() uint64
func (*PartitionUpdate) GetFecDataExtent ¶
func (x *PartitionUpdate) GetFecDataExtent() *Extent
func (*PartitionUpdate) GetFecExtent ¶
func (x *PartitionUpdate) GetFecExtent() *Extent
func (*PartitionUpdate) GetFecRoots ¶
func (x *PartitionUpdate) GetFecRoots() uint32
func (*PartitionUpdate) GetFilesystemType ¶
func (x *PartitionUpdate) GetFilesystemType() string
func (*PartitionUpdate) GetHashTreeAlgorithm ¶
func (x *PartitionUpdate) GetHashTreeAlgorithm() string
func (*PartitionUpdate) GetHashTreeDataExtent ¶
func (x *PartitionUpdate) GetHashTreeDataExtent() *Extent
func (*PartitionUpdate) GetHashTreeExtent ¶
func (x *PartitionUpdate) GetHashTreeExtent() *Extent
func (*PartitionUpdate) GetHashTreeSalt ¶
func (x *PartitionUpdate) GetHashTreeSalt() []byte
func (*PartitionUpdate) GetMergeOperations ¶
func (x *PartitionUpdate) GetMergeOperations() []*CowMergeOperation
func (*PartitionUpdate) GetNewPartitionInfo ¶
func (x *PartitionUpdate) GetNewPartitionInfo() *PartitionInfo
func (*PartitionUpdate) GetNewPartitionSignature ¶
func (x *PartitionUpdate) GetNewPartitionSignature() []*Signatures_Signature
func (*PartitionUpdate) GetOldPartitionInfo ¶
func (x *PartitionUpdate) GetOldPartitionInfo() *PartitionInfo
func (*PartitionUpdate) GetOperations ¶
func (x *PartitionUpdate) GetOperations() []*InstallOperation
func (*PartitionUpdate) GetPartitionName ¶
func (x *PartitionUpdate) GetPartitionName() string
func (*PartitionUpdate) GetPostinstallOptional ¶
func (x *PartitionUpdate) GetPostinstallOptional() bool
func (*PartitionUpdate) GetPostinstallPath ¶
func (x *PartitionUpdate) GetPostinstallPath() string
func (*PartitionUpdate) GetRunPostinstall ¶
func (x *PartitionUpdate) GetRunPostinstall() bool
func (*PartitionUpdate) GetVersion ¶
func (x *PartitionUpdate) GetVersion() string
func (*PartitionUpdate) ProtoMessage ¶
func (*PartitionUpdate) ProtoMessage()
func (*PartitionUpdate) ProtoReflect ¶
func (x *PartitionUpdate) ProtoReflect() protoreflect.Message
func (*PartitionUpdate) Reset ¶
func (x *PartitionUpdate) Reset()
func (*PartitionUpdate) String ¶
func (x *PartitionUpdate) String() string
type Payload ¶
type Payload struct { sync.Mutex //Locks attempts to seek or read the consumer Temporary bool In string Extract []string Manifest *DeltaArchiveManifest Metadata *OtaMetadata BaseOffset uint64 BlockSize uint64 Partitions []*PartitionUpdate Consumer *PayloadConsumer MetadataConsumer io.ReadCloser Installer *InstallOps InstallSession *InstallSession }
func NewPayloadFile ¶
type PayloadConsumer ¶
type PayloadConsumer struct { Seekable io.ReadSeekCloser Readable io.ReadCloser }
func (PayloadConsumer) Close ¶
func (pc PayloadConsumer) Close() error
type Signatures ¶
type Signatures struct { Signatures []*Signatures_Signature `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` // contains filtered or unexported fields }
func (*Signatures) Descriptor
deprecated
func (*Signatures) Descriptor() ([]byte, []int)
Deprecated: Use Signatures.ProtoReflect.Descriptor instead.
func (*Signatures) GetSignatures ¶
func (x *Signatures) GetSignatures() []*Signatures_Signature
func (*Signatures) ProtoMessage ¶
func (*Signatures) ProtoMessage()
func (*Signatures) ProtoReflect ¶
func (x *Signatures) ProtoReflect() protoreflect.Message
func (*Signatures) Reset ¶
func (x *Signatures) Reset()
func (*Signatures) String ¶
func (x *Signatures) String() string
type Signatures_Signature ¶
type Signatures_Signature struct { // Deprecated: Marked as deprecated in aota.proto. Version *uint32 `protobuf:"varint,1,opt,name=version,proto3,oneof" json:"version,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3,oneof" json:"data,omitempty"` // The DER encoded signature size of EC keys is nondeterministic for // different input of sha256 hash. However, we need the size of the // serialized signatures protobuf string to be fixed before signing; // because this size is part of the content to be signed. Therefore, we // always pad the signature data to the maximum possible signature size of // a given key. And the payload verifier will truncate the signature to // its correct size based on the value of |unpadded_signature_size|. UnpaddedSignatureSize *uint32 `` /* 134-byte string literal not displayed */ // contains filtered or unexported fields }
func (*Signatures_Signature) Descriptor
deprecated
func (*Signatures_Signature) Descriptor() ([]byte, []int)
Deprecated: Use Signatures_Signature.ProtoReflect.Descriptor instead.
func (*Signatures_Signature) GetData ¶
func (x *Signatures_Signature) GetData() []byte
func (*Signatures_Signature) GetUnpaddedSignatureSize ¶
func (x *Signatures_Signature) GetUnpaddedSignatureSize() uint32
func (*Signatures_Signature) GetVersion
deprecated
func (x *Signatures_Signature) GetVersion() uint32
Deprecated: Marked as deprecated in aota.proto.
func (*Signatures_Signature) ProtoMessage ¶
func (*Signatures_Signature) ProtoMessage()
func (*Signatures_Signature) ProtoReflect ¶
func (x *Signatures_Signature) ProtoReflect() protoreflect.Message
func (*Signatures_Signature) Reset ¶
func (x *Signatures_Signature) Reset()
func (*Signatures_Signature) String ¶
func (x *Signatures_Signature) String() string
type VABCFeatureSet ¶
type VABCFeatureSet struct { Threaded *bool `protobuf:"varint,1,opt,name=threaded,proto3,oneof" json:"threaded,omitempty"` BatchWrites *bool `protobuf:"varint,2,opt,name=batch_writes,json=batchWrites,proto3,oneof" json:"batch_writes,omitempty"` // contains filtered or unexported fields }
func (*VABCFeatureSet) Descriptor
deprecated
func (*VABCFeatureSet) Descriptor() ([]byte, []int)
Deprecated: Use VABCFeatureSet.ProtoReflect.Descriptor instead.
func (*VABCFeatureSet) GetBatchWrites ¶
func (x *VABCFeatureSet) GetBatchWrites() bool
func (*VABCFeatureSet) GetThreaded ¶
func (x *VABCFeatureSet) GetThreaded() bool
func (*VABCFeatureSet) ProtoMessage ¶
func (*VABCFeatureSet) ProtoMessage()
func (*VABCFeatureSet) ProtoReflect ¶
func (x *VABCFeatureSet) ProtoReflect() protoreflect.Message
func (*VABCFeatureSet) Reset ¶
func (x *VABCFeatureSet) Reset()
func (*VABCFeatureSet) String ¶
func (x *VABCFeatureSet) String() string