Files
fluxengine/lib/config.proto

79 lines
1.3 KiB
Protocol Buffer

syntax = "proto2";
import "arch/brother/brother.proto";
import "arch/ibm/ibm.proto";
import "lib/decoders/decoder.proto";
import "lib/imagereader/img.proto";
import "google/protobuf/descriptor.proto";
extend google.protobuf.FieldOptions {
optional string help = 50000;
}
message Range {
optional int32 start = 1;
optional int32 step = 2 [default = 1];
optional int32 end = 3;
repeated int32 also = 4;
}
message Config {
message InputFile {
optional string filename = 1;
oneof format {
ImgInputOutput img = 2;
}
}
message InputDisk {
oneof source {
string fluxfile = 1;
int32 drive = 2 [default = 0];
}
oneof format {
IBMInput ibm = 3;
BrotherInput brother = 4;
}
}
message OutputFile {
optional string filename = 1;
oneof format {
ImgInputOutput img = 2;
}
}
message OutputDisk {
oneof dest {
string fluxfile = 1;
int32 drive = 2;
}
oneof format {
IBMOutput ibm = 3;
BrotherOutput brother = 4;
}
}
message Input {
oneof input {
InputFile file = 1;
InputDisk disk = 2;
}
}
message Output {
oneof output {
OutputFile file = 1;
OutputDisk disk = 2;
}
}
optional Input input = 1;
optional Output output = 2;
optional Decoder decoder = 3;
optional Range cylinders = 4;
optional Range sides = 5;
}