syntax = "proto3";
import "types.proto";
package BiosDB;

message BiosFwInfoTable {
    option (table_name) = "t_bios_fw_info";
    option (persistence) = "protect_power_off";

    string Id = 1[(primary_key)=true];
    string Name = 2[(default)="''"];
    string Version = 3[(default)="''"];
    string BuildNum = 4[(default)="''"];
    string ReleaseDate = 5[(default)="''"];
    string LowestSupportedVersion = 6[(default)="''"];
    string SoftwareId = 7[(default)="''"];
    string Manufacturer = 8[(default)="''"];
    bool Updateable = 9[(default)="true"];
    string Location = 10[(default)="''"];
    uint16 Capability = 11[(default)="5"];
    string State = 12[(default)="''"];
    string ActiveMode = 13[(allow_null)=true];
    bool ActiveModeSupported = 14[(allow_null)=true];
    bool ActiveModeEnabled = 15[(allow_null)=true];
}

message BiosBootOptionTable {
    option (table_name) = "t_bios_boot_option_info";
    option (persistence) = "protect_power_off";

    string Id = 1[(primary_key)=true];
    string ValidFlag = 2[(default)="''"];
    string SetInProgress = 3[(default)="''"];
    string ServicePartitionSelector = 4[(default)="''"];
    string ServicePartitionScan = 5[(default)="''"];
    string BootFlagValidBitClearing = 6[(default)="''"];
    string BootInfoAcknowledge = 7[(default)="''"];
    string BootFlags = 8[(default)="''"];
    string BootInitiatorInfo = 9[(default)="''"];
    string BootInitiatorMailbox = 10[(default)="''"];
    string WriteProtect = 11[(default)="''"];
}

message BiosBootTable {
    option (table_name) = "t_bios_boot_info";
    option (persistence) = "protect_power_off";

    string Id = 1[(primary_key)=true];
    bool BootModeSupport = 2[(default)="true"];
    bool BootModeIpmiSettable = 3[(default)="true"];
    string BootSourceOverrideMode = 4[(default)="'UEFIBoot'"];
    string BootSourceOverrideEnabled = 5[(default)="'Disabled'"];
    string BootSourceOverrideTarget = 6[(default)="'None'"];
    string BootOrder = 7[(default) = "'/PXE/Others/DVDROMDrive/HardDiskDrive'"];
}

message BiosVersionInfoTable {
    option (table_name) = "t_bios_version_info";
    option (persistence) = "protect_power_off";

    string Id = 1[(primary_key)=true];
    string Version = 2[(default)="''"];
    string BackupVersion = 3[(default)="''"];
}

message BiosUpdateCfgTable {
    option (table_name) = "t_bios_cfg_info";
    option (persistence) = "protect_power_off";

    string Id = 1[(primary_key)=true];
    uint32 idex = 2[(default)="0"];
}