Files
fluxengine/lib/layout.proto

64 lines
1.9 KiB
Protocol Buffer

syntax = "proto2";
import "lib/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;
HCS = 2;
}
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 order = 4
[ default = CHS, (help) = "the order of sectors in the filesystem" ];
optional bool swap_sides = 5
[ default = false, (help) = "the sides are inverted on this disk" ];
optional FormatType format_type = 6
[ default = FORMATTYPE_UNKNOWN, (help) = "Format type of image" ];
}