mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
50 lines
924 B
Protocol Buffer
50 lines
924 B
Protocol Buffer
syntax = "proto2";
|
|
|
|
import "google/protobuf/descriptor.proto";
|
|
|
|
extend google.protobuf.FieldOptions
|
|
{
|
|
optional bool isflux = 60000 [default = false];
|
|
}
|
|
|
|
enum FluxMagic {
|
|
MAGIC = 0x466c7578;
|
|
}
|
|
|
|
enum FluxFileVersion {
|
|
VERSION_1 = 1;
|
|
VERSION_2 = 2;
|
|
}
|
|
|
|
message TrackFluxProto {
|
|
optional int32 track = 1;
|
|
optional int32 head = 2;
|
|
repeated bytes flux = 3 [(isflux) = true];
|
|
}
|
|
|
|
enum DriveType {
|
|
DRIVETYPE_UNKNOWN = 0;
|
|
DRIVETYPE_40TRACK = 1;
|
|
DRIVETYPE_80TRACK = 2;
|
|
DRIVETYPE_APPLE2 = 3;
|
|
}
|
|
|
|
enum FormatType {
|
|
FORMATTYPE_UNKNOWN = 0;
|
|
FORMATTYPE_40TRACK = 1;
|
|
FORMATTYPE_80TRACK = 2;
|
|
}
|
|
|
|
// NEXT: 8
|
|
message FluxFileProto {
|
|
optional int32 magic = 1;
|
|
optional FluxFileVersion version = 2;
|
|
repeated TrackFluxProto track = 3;
|
|
optional double rotational_period_ms = 4;
|
|
optional DriveType drive_type = 6 [default = DRIVETYPE_UNKNOWN];
|
|
optional FormatType format_type = 7 [default = FORMATTYPE_UNKNOWN];
|
|
|
|
reserved 5;
|
|
}
|
|
|