| // 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; |
| }; |