blob: a200e49c5a437192dc25f4f39d7ea1c0a5147091 [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;
/// A content-addressed merkle root that describes an artifact that is tracked by the
/// packaging system.
type BlobId = struct {
merkle_root array<uint8, 32>;
};
/// A tuple of the content-addressed merkle root for an artifact, along with that
/// artifact's length in bytes.
type BlobInfo = struct {
blob_id BlobId;
length uint64;
};
/// A fuchsia-pkg:// URL indicating a package.
/// https://fuchsia.dev/fuchsia-src/concepts/packages/package_url#package_identity
type PackageUrl = struct {
url string:2048;
};
/// A fuchsia-pkg:// URL indicating a repository.
/// https://fuchsia.dev/fuchsia-src/concepts/packages/package_url#repository_identity
type RepositoryUrl = struct {
url string:2048;
};
/// A single entry in the package index.
type PackageIndexEntry = struct {
package_url PackageUrl;
meta_far_blob_id BlobId;
};