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