use crate::{LogicalAddress, Vin};
pub type Eid = [u8; 6];
pub type Gid = [u8; 6];
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct VehicleIdentificationRequest {}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct VehicleIdentificationRequestWithEid {}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct VehicleIdentificationRequestWithVin {}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum VinGidSyncStatus {
Synchronized,
Reserved(u8),
Incomplete,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum FurtherActionRequired {
NoFurtherActionRequired,
Reserved(u8),
RoutingActivationRequiredToInitiateCentralSecurity,
VmSpecific(u8),
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct VehicleIdentificationResponse {
pub vin: Vin,
pub logical_address: LogicalAddress,
pub eid: Eid,
pub gid: Option<Gid>,
pub further_action: FurtherActionRequired,
pub vin_gid_sync_status: VinGidSyncStatus,
}