about summary refs log tree commit diff
path: root/tvix/proto/castore.proto
blob: 14a689ea5ba2012da17659a7f75f0f3b36152adb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// SPDX-FileCopyrightText: edef <edef@unfathomable.blue>
// SPDX-License-Identifier: OSL-3.0 OR MIT OR Apache-2.0

syntax = "proto3";

package fossil.store;

message Directory {
    repeated DirectoryNode directories = 1;
    repeated FileNode files = 2;
    repeated LinkNode links = 3;
}

message DirectoryNode {
    string name = 1;
    bytes ref = 2;
    uint32 size = 3;
}

message FileNode {
    string name = 1;
    bytes ref = 2;
    uint32 size = 3;
    bool executable = 4;
}

message LinkNode {
    string name = 1;
    string target = 2;
}

message Blob {
    bytes bao_inline = 3;
    repeated Chunk chunks = 4;
}

message Chunk {
    uint64 offset = 1;
    uint32 length = 2;
}