Files
fluxengine/lib/config.proto

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;
}