Files
fluxengine/lib/config/layout.proto

67 lines
2.3 KiB
Protocol Buffer

syntax = "proto2";
import "lib/config/common.proto";
import "lib/external/fl2.proto";
message SectorListProto
{
/* either */
repeated int32 sector = 1 [ (help) = "sector ID" ];
/* or */
optional int32 start_sector = 2
[ (help) = "first sector of a continuous run" ];
optional int32 count = 3
[ (help) = "number of sectors in a continuous run" ];
optional int32 skew = 4
[ default = 1, (help) = "apply this skew between sectors" ];
}
message LayoutProto
{
enum Order
{
UNDEFINED = 0;
CHS = 1; // sort by cylinder, then head, then sector -- libdsk 'alt'
HCS = 2; // sort by head, then cylinder, then sector -- libdsk 'outout'
HCS_RH1 = 3; // as HCS, except the cylinder count for head 1 is reversed -- libdsk 'outback'
}
message LayoutdataProto
{
optional int32 track = 1 [
(help) =
"if present, this format only applies to this logical 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 logical side"
];
optional int32 sector_size = 3
[ default = 512, (help) = "number of bytes per sector" ];
optional SectorListProto physical = 4
[ (help) = "physical order of sectors on disk" ];
optional SectorListProto filesystem = 6
[ (help) = "logical order of sectors in filesystem" ];
}
repeated LayoutdataProto layoutdata = 1
[ (help) = "per-track layout 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 filesystem_track_order = 4
[ default = CHS, (help) = "the order of sectors in the filesystem" ];
optional Order image_track_order = 5
[ default = CHS, (help) = "the order of sectors in disk images" ];
optional bool swap_sides = 6
[ default = false, (help) = "the sides are inverted on this disk" ];
optional FormatType format_type = 7
[ default = FORMATTYPE_UNKNOWN, (help) = "Format type of image" ];
}