hyperv_ic_protocol/
heartbeat.rs1use open_enum::open_enum;
6use zerocopy::FromBytes;
7use zerocopy::Immutable;
8use zerocopy::IntoBytes;
9use zerocopy::KnownLayout;
10
11#[repr(C)]
13#[derive(IntoBytes, Immutable, KnownLayout, FromBytes)]
14pub struct HeartbeatMessage {
15 pub sequence_number: u64,
17 pub application_state: ApplicationState,
19 pub reserved: [u8; 4],
21}
22
23open_enum! {
24 #[derive(IntoBytes, Immutable, KnownLayout, FromBytes)]
25 pub enum ApplicationState: u32 {
27 UNKNOWN = 0,
29 HEALTHY = 1,
31 CRITICAL = 2,
33 STOPPED = 3,
35 }
36}