39 lines
650 B
Protocol Buffer
39 lines
650 B
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
package tvix.flatstore.v1;
|
||
|
|
||
|
message Path {
|
||
|
bytes nar_hash = 1;
|
||
|
|
||
|
oneof node {
|
||
|
DirectoryNode directory = 2;
|
||
|
FileNode file = 3;
|
||
|
SymlinkNode symlink = 4;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message DirectoryNode {
|
||
|
bytes name = 1;
|
||
|
repeated DirectoryNode directories = 2;
|
||
|
repeated FileNode files = 3;
|
||
|
repeated SymlinkNode symlinks = 4;
|
||
|
}
|
||
|
|
||
|
message FileNode {
|
||
|
bytes name = 1;
|
||
|
bytes hash = 2;
|
||
|
repeated Chunk chunks = 3;
|
||
|
bool executable = 4;
|
||
|
}
|
||
|
|
||
|
message Chunk {
|
||
|
bytes hash = 1;
|
||
|
uint32 size = 2;
|
||
|
uint32 size_compressed = 3;
|
||
|
}
|
||
|
|
||
|
message SymlinkNode {
|
||
|
bytes name = 1;
|
||
|
bytes target = 2;
|
||
|
}
|