mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
80 lines
2.2 KiB
Protocol Buffer
80 lines
2.2 KiB
Protocol Buffer
syntax = "proto2";
|
|
|
|
import "lib/decoders/decoders.proto";
|
|
import "lib/encoders/encoders.proto";
|
|
import "lib/imagereader/imagereader.proto";
|
|
import "lib/imagewriter/imagewriter.proto";
|
|
import "lib/fluxsource/fluxsource.proto";
|
|
import "lib/fluxsink/fluxsink.proto";
|
|
import "lib/usb/usb.proto";
|
|
import "lib/vfs/vfs.proto";
|
|
import "lib/drive.proto";
|
|
import "lib/common.proto";
|
|
import "lib/layout.proto";
|
|
|
|
enum SupportStatus
|
|
{
|
|
UNSUPPORTED = 0;
|
|
DINOSAUR = 1;
|
|
UNICORN = 2;
|
|
}
|
|
|
|
// NEXT_TAG: 27
|
|
message ConfigProto
|
|
{
|
|
optional string shortname = 1;
|
|
optional string comment = 2;
|
|
optional bool is_extension = 3;
|
|
repeated string documentation = 4;
|
|
optional SupportStatus read_support_status = 5 [ default = UNSUPPORTED ];
|
|
optional SupportStatus write_support_status = 6 [ default = UNSUPPORTED ];
|
|
|
|
optional LayoutProto layout = 7;
|
|
|
|
optional ImageReaderProto image_reader = 8;
|
|
optional ImageWriterProto image_writer = 9;
|
|
optional FluxSourceProto flux_source = 10;
|
|
optional FluxSinkProto flux_sink = 11;
|
|
optional DriveProto drive = 12;
|
|
|
|
optional EncoderProto encoder = 13;
|
|
optional DecoderProto decoder = 14;
|
|
optional UsbProto usb = 15;
|
|
|
|
optional RangeProto tracks = 16;
|
|
optional RangeProto heads = 17;
|
|
|
|
optional FilesystemProto filesystem = 18;
|
|
|
|
repeated OptionProto option = 19;
|
|
repeated OptionGroupProto option_group = 20;
|
|
}
|
|
|
|
message OptionRequirementProto
|
|
{
|
|
optional string key = 1 [ (help) = "path to config value" ];
|
|
repeated string value = 2 [ (help) = "list of required values" ];
|
|
}
|
|
|
|
// NEXT_TAG: 8
|
|
message OptionProto
|
|
{
|
|
optional string name = 1 [ (help) = "option name" ];
|
|
optional string comment = 2 [ (help) = "help text for option" ];
|
|
optional string message = 3
|
|
[ (help) = "message to display when option is in use" ];
|
|
optional bool set_by_default = 6
|
|
[ (help) = "this option is applied by default", default = false ];
|
|
repeated OptionRequirementProto requires = 7
|
|
[ (help) = "prerequisites for this option" ];
|
|
|
|
optional ConfigProto config = 4
|
|
[ (help) = "option data", (recurse) = false ];
|
|
}
|
|
|
|
message OptionGroupProto
|
|
{
|
|
optional string comment = 1 [ (help) = "help text for option group" ];
|
|
repeated OptionProto option = 2;
|
|
}
|