38 lines
650 B
Protocol Buffer
38 lines
650 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
package snix.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;
|
|
}
|