Files
fluxengine/lib/layout.proto
2022-08-25 22:51:26 +02:00

40 lines
1.3 KiB
Protocol Buffer

syntax = "proto2";
import "lib/common.proto";
message LayoutProto {
enum Order {
UNDEFINED = 0;
CHS = 1;
HCS = 2;
}
message SectorsProto {
repeated int32 sector = 1 [(help) = "sector ID"];
}
message SectorRangeProto {
optional int32 start_sector = 1 [default=0, (help) = "first sector ID"];
optional int32 sector_count = 2 [default=1, (help) = "total number of sectors"];
}
message TrackdataProto {
optional int32 track = 1 [(help) = "if present, this format only applies to this track"];
optional int32 up_to_track = 5 [(help) = "if present, forms a range with track"];
optional int32 side = 2 [(help) = "if present, this format only applies to this side"];
optional int32 sector_size = 3 [default=512, (help) = "number of bytes per sector"];
oneof sectors_oneof {
SectorsProto sectors = 4 [(help) = "use a list of sector IDs"];
SectorRangeProto sector_range = 6 [(help) = "use a range of contiguous IDs"];
}
}
repeated TrackdataProto trackdata = 1 [(help) = "per-track format information (repeatable)"];
optional int32 tracks = 2 [default=0, (help) = "number of tracks in image"];
optional int32 sides = 3 [default=0, (help) = "number of sides in image"];
optional Order order = 4 [default=CHS, (help) = "the order of sectors in the filesystem"];
}