blob: 2e127eb639d9f90cba9701601d102f193e9844ed [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.pkg;
/// BlobId is a content-addressed merkle root that describes an artifact that is tracked by the
/// packaging system.
struct BlobId {
array<uint8>:32 merkle_root;
};
/// BlobInfo is a tuple of the content-addressed merkle root for an artifact, along with that
/// artifact's length in bytes.
struct BlobInfo {
BlobId blob_id;
uint64 length;
};
/// PackageUrl is the URL for a package.
/// https://fuchsia.dev/fuchsia-src/concepts/storage/package_url
struct PackageUrl {
string:2048 url;
};
/// PackageIndexEntry represents a single entry in the package index.
struct PackageIndexEntry {
PackageUrl package_url;
BlobId meta_far_blob_id;
};