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