mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			157 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| syntax = "proto2";
 | |
| 
 | |
| import "lib/config/common.proto";
 | |
| 
 | |
| message AcornDfsProto
 | |
| {
 | |
|     enum Flavour
 | |
|     {
 | |
|         UNDEFINED = 0;
 | |
|         ACORN_DFS = 1;
 | |
|     }
 | |
| 
 | |
|     optional Flavour flavour = 1
 | |
|         [ default = ACORN_DFS, (help) = "which flavour of DFS to implement" ];
 | |
| }
 | |
| 
 | |
| message Brother120FsProto {}
 | |
| 
 | |
| message FatFsProto {
 | |
| 	optional uint32 cluster_size = 1
 | |
| 		[ (help) = "cluster size (for new filesystems); 0 to select automatically",
 | |
| 	      default = 0 ];
 | |
| 	optional uint32 root_directory_entries = 2
 | |
| 		[ (help) = "number of entries in the root directory (for new filesystems); 0 to select automatically",
 | |
| 		  default = 0 ];
 | |
| }
 | |
| 
 | |
| message CpmFsProto
 | |
| {
 | |
|     message Location
 | |
|     {
 | |
|         optional uint32 track = 1 [ (help) = "track number" ];
 | |
|         optional uint32 side = 2 [ (help) = "side number" ];
 | |
|         optional uint32 sector = 3 [ (help) = "sector ID" ];
 | |
|     }
 | |
| 
 | |
|     message Padding
 | |
|     {
 | |
|         optional uint32 amount = 1
 | |
|             [ (help) = "number of sectors of padding to insert" ];
 | |
|         optional uint32 every = 2
 | |
|             [ (help) = "insert padding after this many sectors" ];
 | |
|     }
 | |
| 
 | |
|     optional Location filesystem_start = 1
 | |
|         [ (help) = "position of the start of the filesystem" ];
 | |
|     optional int32 block_size = 2 [ (help) = "allocation block size" ];
 | |
|     optional int32 dir_entries = 3
 | |
|         [ (help) = "number of entries in the directory" ];
 | |
|     optional Padding padding = 4
 | |
|         [ (help) = "wasted sectors not considered part of the filesystem" ];
 | |
| }
 | |
| 
 | |
| message AmigaFfsProto {}
 | |
| 
 | |
| message MacHfsProto {}
 | |
| 
 | |
| message CbmfsProto
 | |
| {
 | |
|     optional uint32 directory_track = 1 [
 | |
|         default = 17,
 | |
|         (help) = "which track the directory is on (zero-based numbering)"
 | |
|     ];
 | |
| }
 | |
| 
 | |
| message ProdosProto {}
 | |
| 
 | |
| message AppledosProto
 | |
| {
 | |
|     optional uint32 filesystem_offset_sectors = 1 [
 | |
|         default = 0,
 | |
|         (help) = "offset the entire offset up the disk this many sectors"
 | |
|     ];
 | |
| }
 | |
| 
 | |
| message Smaky6FsProto {}
 | |
| 
 | |
| message PhileProto
 | |
| {
 | |
|     optional uint32 block_size = 1
 | |
|         [ default = 1024, (help) = "Phile filesystem block size" ];
 | |
| }
 | |
| 
 | |
| message LifProto
 | |
| {
 | |
|     optional uint32 block_size = 1
 | |
|         [ default = 256, (help) = "LIF filesystem block size" ];
 | |
| }
 | |
| 
 | |
| message MicrodosProto {}
 | |
| 
 | |
| // NEXT_TAG: 16
 | |
| message ZDosProto
 | |
| {
 | |
|     message Location
 | |
|     {
 | |
|         optional uint32 track = 1 [ (help) = "track number" ];
 | |
|         optional uint32 sector = 3 [ (help) = "sector ID" ];
 | |
|     }
 | |
| 
 | |
|     optional Location filesystem_start = 1
 | |
|         [ (help) = "position of the filesystem superblock" ];
 | |
| }
 | |
| 
 | |
| message RolandFsProto
 | |
| {
 | |
|     optional uint32 directory_track = 1
 | |
|         [ (help) = "position of the directory", default = 39 ];
 | |
|     optional uint32 block_size = 2
 | |
|         [ (help) = "filesystem block size", default = 3072 ];
 | |
|     optional uint32 directory_entries = 3
 | |
|         [ (help) = "number of directory entries", default = 79 ];
 | |
| }
 | |
| 
 | |
| // NEXT_TAG: 18
 | |
| message FilesystemProto
 | |
| {
 | |
|     enum FilesystemType
 | |
|     {
 | |
|         NOT_SET = 0;
 | |
|         ACORNDFS = 1;
 | |
|         BROTHER120 = 2;
 | |
|         FATFS = 3;
 | |
|         CPMFS = 4;
 | |
|         AMIGAFFS = 5;
 | |
|         MACHFS = 6;
 | |
|         CBMFS = 7;
 | |
|         PRODOS = 8;
 | |
|         SMAKY6 = 9;
 | |
|         APPLEDOS = 10;
 | |
|         PHILE = 11;
 | |
|         LIF = 12;
 | |
|         MICRODOS = 13;
 | |
|         ZDOS = 14;
 | |
|         ROLAND = 15;
 | |
|     }
 | |
| 
 | |
|     optional FilesystemType type = 10
 | |
|         [ default = NOT_SET, (help) = "filesystem type" ];
 | |
| 
 | |
|     optional AcornDfsProto acorndfs = 1;
 | |
|     optional Brother120FsProto brother120 = 2;
 | |
|     optional FatFsProto fatfs = 3;
 | |
|     optional CpmFsProto cpmfs = 4;
 | |
|     optional AmigaFfsProto amigaffs = 5;
 | |
|     optional MacHfsProto machfs = 6;
 | |
|     optional CbmfsProto cbmfs = 7;
 | |
|     optional ProdosProto prodos = 8;
 | |
|     optional AppledosProto appledos = 12;
 | |
|     optional Smaky6FsProto smaky6 = 11;
 | |
|     optional PhileProto phile = 13;
 | |
|     optional LifProto lif = 14;
 | |
|     optional MicrodosProto microdos = 15;
 | |
|     optional ZDosProto zdos = 16;
 | |
|     optional RolandFsProto roland = 17;
 | |
| }
 |