Table of Contents

Class Manifest

Namespace
Pamoja.Update
Assembly
Pamoja.Update.dll

What a release says about itself, and what a device checks it against.

public sealed record Manifest : IEquatable<Manifest>
Inheritance
Manifest
Implements
Inherited Members

Constructors

Manifest(ulong, byte[], byte[], byte, byte[], uint, ulong, byte, byte)

What a release says about itself, and what a device checks it against.

public Manifest(ulong Sequence, byte[] VendorId, byte[] ClassId, byte Storage, byte[] Digest, uint Size, ulong Expires = 0, byte Format = 1, byte StructureVersion = 1)

Parameters

Sequence ulong

Rises with every release, which is what stops an older image being replayed at a device.

VendorId byte[]

Who built the image, as 16 bytes.

ClassId byte[]

Which kind of device it is for, as 16 bytes.

Storage byte

Which slot the payload belongs in.

Digest byte[]

The SHA-256 of the payload, as 32 bytes.

Size uint

The payload length in bytes.

Expires ulong

When the release stops being offered, in seconds since the Unix epoch, or 0 to never expire.

Format byte

How the payload is encoded.

StructureVersion byte

Which iteration of the manifest format this is.

Properties

ClassId

Which kind of device it is for, as 16 bytes.

public byte[] ClassId { get; init; }

Property Value

byte[]

Digest

The SHA-256 of the payload, as 32 bytes.

public byte[] Digest { get; init; }

Property Value

byte[]

Expires

When the release stops being offered, in seconds since the Unix epoch, or 0 to never expire.

public ulong Expires { get; init; }

Property Value

ulong

Format

How the payload is encoded.

public byte Format { get; init; }

Property Value

byte

Sequence

Rises with every release, which is what stops an older image being replayed at a device.

public ulong Sequence { get; init; }

Property Value

ulong

Size

The payload length in bytes.

public uint Size { get; init; }

Property Value

uint

Storage

Which slot the payload belongs in.

public byte Storage { get; init; }

Property Value

byte

StructureVersion

Which iteration of the manifest format this is.

public byte StructureVersion { get; init; }

Property Value

byte

VendorId

Who built the image, as 16 bytes.

public byte[] VendorId { get; init; }

Property Value

byte[]