/* automatically generated by rust-bindgen 0.71.1 */

#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
    #[inline]
    pub const fn new() -> Self {
        __IncompleteArrayField(::std::marker::PhantomData, [])
    }
    #[inline]
    pub fn as_ptr(&self) -> *const T {
        self as *const _ as *const T
    }
    #[inline]
    pub fn as_mut_ptr(&mut self) -> *mut T {
        self as *mut _ as *mut T
    }
    #[inline]
    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
        ::std::slice::from_raw_parts(self.as_ptr(), len)
    }
    #[inline]
    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
        ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
    }
}
impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        fmt.write_str("__IncompleteArrayField")
    }
}
pub const VIRTIO_NET_F_CSUM: u32 = 0;
pub const VIRTIO_NET_F_GUEST_CSUM: u32 = 1;
pub const VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: u32 = 2;
pub const VIRTIO_NET_F_MTU: u32 = 3;
pub const VIRTIO_NET_F_MAC: u32 = 5;
pub const VIRTIO_NET_F_GUEST_TSO4: u32 = 7;
pub const VIRTIO_NET_F_GUEST_TSO6: u32 = 8;
pub const VIRTIO_NET_F_GUEST_ECN: u32 = 9;
pub const VIRTIO_NET_F_GUEST_UFO: u32 = 10;
pub const VIRTIO_NET_F_HOST_TSO4: u32 = 11;
pub const VIRTIO_NET_F_HOST_TSO6: u32 = 12;
pub const VIRTIO_NET_F_HOST_ECN: u32 = 13;
pub const VIRTIO_NET_F_HOST_UFO: u32 = 14;
pub const VIRTIO_NET_F_MRG_RXBUF: u32 = 15;
pub const VIRTIO_NET_F_STATUS: u32 = 16;
pub const VIRTIO_NET_F_CTRL_VQ: u32 = 17;
pub const VIRTIO_NET_F_CTRL_RX: u32 = 18;
pub const VIRTIO_NET_F_CTRL_VLAN: u32 = 19;
pub const VIRTIO_NET_F_CTRL_RX_EXTRA: u32 = 20;
pub const VIRTIO_NET_F_GUEST_ANNOUNCE: u32 = 21;
pub const VIRTIO_NET_F_MQ: u32 = 22;
pub const VIRTIO_NET_F_CTRL_MAC_ADDR: u32 = 23;
pub const VIRTIO_NET_F_DEVICE_STATS: u32 = 50;
pub const VIRTIO_NET_F_VQ_NOTF_COAL: u32 = 52;
pub const VIRTIO_NET_F_NOTF_COAL: u32 = 53;
pub const VIRTIO_NET_F_GUEST_USO4: u32 = 54;
pub const VIRTIO_NET_F_GUEST_USO6: u32 = 55;
pub const VIRTIO_NET_F_HOST_USO: u32 = 56;
pub const VIRTIO_NET_F_HASH_REPORT: u32 = 57;
pub const VIRTIO_NET_F_GUEST_HDRLEN: u32 = 59;
pub const VIRTIO_NET_F_RSS: u32 = 60;
pub const VIRTIO_NET_F_RSC_EXT: u32 = 61;
pub const VIRTIO_NET_F_STANDBY: u32 = 62;
pub const VIRTIO_NET_F_SPEED_DUPLEX: u32 = 63;
pub const VIRTIO_NET_F_GSO: u32 = 6;
pub const VIRTIO_NET_S_LINK_UP: u32 = 1;
pub const VIRTIO_NET_S_ANNOUNCE: u32 = 2;
pub const VIRTIO_NET_RSS_HASH_TYPE_IPv4: u32 = 1;
pub const VIRTIO_NET_RSS_HASH_TYPE_TCPv4: u32 = 2;
pub const VIRTIO_NET_RSS_HASH_TYPE_UDPv4: u32 = 4;
pub const VIRTIO_NET_RSS_HASH_TYPE_IPv6: u32 = 8;
pub const VIRTIO_NET_RSS_HASH_TYPE_TCPv6: u32 = 16;
pub const VIRTIO_NET_RSS_HASH_TYPE_UDPv6: u32 = 32;
pub const VIRTIO_NET_RSS_HASH_TYPE_IP_EX: u32 = 64;
pub const VIRTIO_NET_RSS_HASH_TYPE_TCP_EX: u32 = 128;
pub const VIRTIO_NET_RSS_HASH_TYPE_UDP_EX: u32 = 256;
pub const VIRTIO_NET_HDR_F_NEEDS_CSUM: u32 = 1;
pub const VIRTIO_NET_HDR_F_DATA_VALID: u32 = 2;
pub const VIRTIO_NET_HDR_F_RSC_INFO: u32 = 4;
pub const VIRTIO_NET_HDR_GSO_NONE: u32 = 0;
pub const VIRTIO_NET_HDR_GSO_TCPV4: u32 = 1;
pub const VIRTIO_NET_HDR_GSO_UDP: u32 = 3;
pub const VIRTIO_NET_HDR_GSO_TCPV6: u32 = 4;
pub const VIRTIO_NET_HDR_GSO_UDP_L4: u32 = 5;
pub const VIRTIO_NET_HDR_GSO_ECN: u32 = 128;
pub const VIRTIO_NET_HASH_REPORT_NONE: u32 = 0;
pub const VIRTIO_NET_HASH_REPORT_IPv4: u32 = 1;
pub const VIRTIO_NET_HASH_REPORT_TCPv4: u32 = 2;
pub const VIRTIO_NET_HASH_REPORT_UDPv4: u32 = 3;
pub const VIRTIO_NET_HASH_REPORT_IPv6: u32 = 4;
pub const VIRTIO_NET_HASH_REPORT_TCPv6: u32 = 5;
pub const VIRTIO_NET_HASH_REPORT_UDPv6: u32 = 6;
pub const VIRTIO_NET_HASH_REPORT_IPv6_EX: u32 = 7;
pub const VIRTIO_NET_HASH_REPORT_TCPv6_EX: u32 = 8;
pub const VIRTIO_NET_HASH_REPORT_UDPv6_EX: u32 = 9;
pub const VIRTIO_NET_OK: u32 = 0;
pub const VIRTIO_NET_ERR: u32 = 1;
pub const VIRTIO_NET_CTRL_RX: u32 = 0;
pub const VIRTIO_NET_CTRL_RX_PROMISC: u32 = 0;
pub const VIRTIO_NET_CTRL_RX_ALLMULTI: u32 = 1;
pub const VIRTIO_NET_CTRL_RX_ALLUNI: u32 = 2;
pub const VIRTIO_NET_CTRL_RX_NOMULTI: u32 = 3;
pub const VIRTIO_NET_CTRL_RX_NOUNI: u32 = 4;
pub const VIRTIO_NET_CTRL_RX_NOBCAST: u32 = 5;
pub const VIRTIO_NET_CTRL_MAC: u32 = 1;
pub const VIRTIO_NET_CTRL_MAC_TABLE_SET: u32 = 0;
pub const VIRTIO_NET_CTRL_MAC_ADDR_SET: u32 = 1;
pub const VIRTIO_NET_CTRL_VLAN: u32 = 2;
pub const VIRTIO_NET_CTRL_VLAN_ADD: u32 = 0;
pub const VIRTIO_NET_CTRL_VLAN_DEL: u32 = 1;
pub const VIRTIO_NET_CTRL_ANNOUNCE: u32 = 3;
pub const VIRTIO_NET_CTRL_ANNOUNCE_ACK: u32 = 0;
pub const VIRTIO_NET_CTRL_MQ: u32 = 4;
pub const VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET: u32 = 0;
pub const VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN: u32 = 1;
pub const VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX: u32 = 32768;
pub const VIRTIO_NET_CTRL_MQ_RSS_CONFIG: u32 = 1;
pub const VIRTIO_NET_CTRL_MQ_HASH_CONFIG: u32 = 2;
pub const VIRTIO_NET_CTRL_GUEST_OFFLOADS: u32 = 5;
pub const VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET: u32 = 0;
pub const VIRTIO_NET_CTRL_NOTF_COAL: u32 = 6;
pub const VIRTIO_NET_CTRL_NOTF_COAL_TX_SET: u32 = 0;
pub const VIRTIO_NET_CTRL_NOTF_COAL_RX_SET: u32 = 1;
pub const VIRTIO_NET_CTRL_NOTF_COAL_VQ_SET: u32 = 2;
pub const VIRTIO_NET_CTRL_NOTF_COAL_VQ_GET: u32 = 3;
pub const VIRTIO_NET_CTRL_STATS: u32 = 8;
pub const VIRTIO_NET_CTRL_STATS_QUERY: u32 = 0;
pub const VIRTIO_NET_CTRL_STATS_GET: u32 = 1;
pub const VIRTIO_NET_STATS_TYPE_CVQ: u64 = 4294967296;
pub const VIRTIO_NET_STATS_TYPE_RX_BASIC: u32 = 1;
pub const VIRTIO_NET_STATS_TYPE_RX_CSUM: u32 = 2;
pub const VIRTIO_NET_STATS_TYPE_RX_GSO: u32 = 4;
pub const VIRTIO_NET_STATS_TYPE_RX_SPEED: u32 = 8;
pub const VIRTIO_NET_STATS_TYPE_TX_BASIC: u32 = 65536;
pub const VIRTIO_NET_STATS_TYPE_TX_CSUM: u32 = 131072;
pub const VIRTIO_NET_STATS_TYPE_TX_GSO: u32 = 262144;
pub const VIRTIO_NET_STATS_TYPE_TX_SPEED: u32 = 524288;
pub const VIRTIO_NET_STATS_TYPE_REPLY_CVQ: u32 = 32;
pub const VIRTIO_NET_STATS_TYPE_REPLY_RX_BASIC: u32 = 0;
pub const VIRTIO_NET_STATS_TYPE_REPLY_RX_CSUM: u32 = 1;
pub const VIRTIO_NET_STATS_TYPE_REPLY_RX_GSO: u32 = 2;
pub const VIRTIO_NET_STATS_TYPE_REPLY_RX_SPEED: u32 = 3;
pub const VIRTIO_NET_STATS_TYPE_REPLY_TX_BASIC: u32 = 16;
pub const VIRTIO_NET_STATS_TYPE_REPLY_TX_CSUM: u32 = 17;
pub const VIRTIO_NET_STATS_TYPE_REPLY_TX_GSO: u32 = 18;
pub const VIRTIO_NET_STATS_TYPE_REPLY_TX_SPEED: u32 = 19;
pub type __u8 = ::std::os::raw::c_uchar;
pub type __u16 = ::std::os::raw::c_ushort;
pub type __u32 = ::std::os::raw::c_uint;
pub type __u64 = ::std::os::raw::c_ulonglong;
pub type __le16 = __u16;
pub type __le32 = __u32;
pub type __le64 = __u64;
pub type __virtio16 = __u16;
pub type __virtio32 = __u32;
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_config {
    pub mac: [__u8; 6usize],
    pub status: __virtio16,
    pub max_virtqueue_pairs: __virtio16,
    pub mtu: __virtio16,
    pub speed: __le32,
    pub duplex: __u8,
    pub rss_max_key_size: __u8,
    pub rss_max_indirection_table_length: __le16,
    pub supported_hash_types: __le32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_config"][::std::mem::size_of::<virtio_net_config>() - 24usize];
    ["Alignment of virtio_net_config"][::std::mem::align_of::<virtio_net_config>() - 1usize];
    ["Offset of field: virtio_net_config::mac"]
        [::std::mem::offset_of!(virtio_net_config, mac) - 0usize];
    ["Offset of field: virtio_net_config::status"]
        [::std::mem::offset_of!(virtio_net_config, status) - 6usize];
    ["Offset of field: virtio_net_config::max_virtqueue_pairs"]
        [::std::mem::offset_of!(virtio_net_config, max_virtqueue_pairs) - 8usize];
    ["Offset of field: virtio_net_config::mtu"]
        [::std::mem::offset_of!(virtio_net_config, mtu) - 10usize];
    ["Offset of field: virtio_net_config::speed"]
        [::std::mem::offset_of!(virtio_net_config, speed) - 12usize];
    ["Offset of field: virtio_net_config::duplex"]
        [::std::mem::offset_of!(virtio_net_config, duplex) - 16usize];
    ["Offset of field: virtio_net_config::rss_max_key_size"]
        [::std::mem::offset_of!(virtio_net_config, rss_max_key_size) - 17usize];
    ["Offset of field: virtio_net_config::rss_max_indirection_table_length"]
        [::std::mem::offset_of!(virtio_net_config, rss_max_indirection_table_length) - 18usize];
    ["Offset of field: virtio_net_config::supported_hash_types"]
        [::std::mem::offset_of!(virtio_net_config, supported_hash_types) - 20usize];
};
#[repr(C)]
#[derive(Copy, Clone)]
pub struct virtio_net_hdr_v1 {
    pub flags: __u8,
    pub gso_type: __u8,
    pub hdr_len: __virtio16,
    pub gso_size: __virtio16,
    pub __bindgen_anon_1: virtio_net_hdr_v1__bindgen_ty_1,
    pub num_buffers: __virtio16,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union virtio_net_hdr_v1__bindgen_ty_1 {
    pub __bindgen_anon_1: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1,
    pub csum: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2,
    pub rsc: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1 {
    pub csum_start: __virtio16,
    pub csum_offset: __virtio16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1"]
        [::std::mem::size_of::<virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1>() - 4usize];
    ["Alignment of virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1"]
        [::std::mem::align_of::<virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1>() - 2usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1::csum_start"][::std::mem::offset_of!(
        virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1,
        csum_start
    ) - 0usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1::csum_offset"][::std::mem::offset_of!(
        virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1,
        csum_offset
    ) - 2usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2 {
    pub start: __virtio16,
    pub offset: __virtio16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2"]
        [::std::mem::size_of::<virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2>() - 4usize];
    ["Alignment of virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2"]
        [::std::mem::align_of::<virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2>() - 2usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2::start"]
        [::std::mem::offset_of!(virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2, start) - 0usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2::offset"]
        [::std::mem::offset_of!(virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2, offset) - 2usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3 {
    pub segments: __le16,
    pub dup_acks: __le16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3"]
        [::std::mem::size_of::<virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3>() - 4usize];
    ["Alignment of virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3"]
        [::std::mem::align_of::<virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3>() - 2usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3::segments"]
        [::std::mem::offset_of!(virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3, segments) - 0usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3::dup_acks"]
        [::std::mem::offset_of!(virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3, dup_acks) - 2usize];
};
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr_v1__bindgen_ty_1"]
        [::std::mem::size_of::<virtio_net_hdr_v1__bindgen_ty_1>() - 4usize];
    ["Alignment of virtio_net_hdr_v1__bindgen_ty_1"]
        [::std::mem::align_of::<virtio_net_hdr_v1__bindgen_ty_1>() - 2usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1::csum"]
        [::std::mem::offset_of!(virtio_net_hdr_v1__bindgen_ty_1, csum) - 0usize];
    ["Offset of field: virtio_net_hdr_v1__bindgen_ty_1::rsc"]
        [::std::mem::offset_of!(virtio_net_hdr_v1__bindgen_ty_1, rsc) - 0usize];
};
impl Default for virtio_net_hdr_v1__bindgen_ty_1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr_v1"][::std::mem::size_of::<virtio_net_hdr_v1>() - 12usize];
    ["Alignment of virtio_net_hdr_v1"][::std::mem::align_of::<virtio_net_hdr_v1>() - 2usize];
    ["Offset of field: virtio_net_hdr_v1::flags"]
        [::std::mem::offset_of!(virtio_net_hdr_v1, flags) - 0usize];
    ["Offset of field: virtio_net_hdr_v1::gso_type"]
        [::std::mem::offset_of!(virtio_net_hdr_v1, gso_type) - 1usize];
    ["Offset of field: virtio_net_hdr_v1::hdr_len"]
        [::std::mem::offset_of!(virtio_net_hdr_v1, hdr_len) - 2usize];
    ["Offset of field: virtio_net_hdr_v1::gso_size"]
        [::std::mem::offset_of!(virtio_net_hdr_v1, gso_size) - 4usize];
    ["Offset of field: virtio_net_hdr_v1::num_buffers"]
        [::std::mem::offset_of!(virtio_net_hdr_v1, num_buffers) - 10usize];
};
impl Default for virtio_net_hdr_v1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct virtio_net_hdr_v1_hash {
    pub hdr: virtio_net_hdr_v1,
    pub hash_value: __le32,
    pub hash_report: __le16,
    pub padding: __le16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr_v1_hash"][::std::mem::size_of::<virtio_net_hdr_v1_hash>() - 20usize];
    ["Alignment of virtio_net_hdr_v1_hash"]
        [::std::mem::align_of::<virtio_net_hdr_v1_hash>() - 4usize];
    ["Offset of field: virtio_net_hdr_v1_hash::hdr"]
        [::std::mem::offset_of!(virtio_net_hdr_v1_hash, hdr) - 0usize];
    ["Offset of field: virtio_net_hdr_v1_hash::hash_value"]
        [::std::mem::offset_of!(virtio_net_hdr_v1_hash, hash_value) - 12usize];
    ["Offset of field: virtio_net_hdr_v1_hash::hash_report"]
        [::std::mem::offset_of!(virtio_net_hdr_v1_hash, hash_report) - 16usize];
    ["Offset of field: virtio_net_hdr_v1_hash::padding"]
        [::std::mem::offset_of!(virtio_net_hdr_v1_hash, padding) - 18usize];
};
impl Default for virtio_net_hdr_v1_hash {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_hdr {
    pub flags: __u8,
    pub gso_type: __u8,
    pub hdr_len: __virtio16,
    pub gso_size: __virtio16,
    pub csum_start: __virtio16,
    pub csum_offset: __virtio16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr"][::std::mem::size_of::<virtio_net_hdr>() - 10usize];
    ["Alignment of virtio_net_hdr"][::std::mem::align_of::<virtio_net_hdr>() - 2usize];
    ["Offset of field: virtio_net_hdr::flags"]
        [::std::mem::offset_of!(virtio_net_hdr, flags) - 0usize];
    ["Offset of field: virtio_net_hdr::gso_type"]
        [::std::mem::offset_of!(virtio_net_hdr, gso_type) - 1usize];
    ["Offset of field: virtio_net_hdr::hdr_len"]
        [::std::mem::offset_of!(virtio_net_hdr, hdr_len) - 2usize];
    ["Offset of field: virtio_net_hdr::gso_size"]
        [::std::mem::offset_of!(virtio_net_hdr, gso_size) - 4usize];
    ["Offset of field: virtio_net_hdr::csum_start"]
        [::std::mem::offset_of!(virtio_net_hdr, csum_start) - 6usize];
    ["Offset of field: virtio_net_hdr::csum_offset"]
        [::std::mem::offset_of!(virtio_net_hdr, csum_offset) - 8usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_hdr_mrg_rxbuf {
    pub hdr: virtio_net_hdr,
    pub num_buffers: __virtio16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hdr_mrg_rxbuf"]
        [::std::mem::size_of::<virtio_net_hdr_mrg_rxbuf>() - 12usize];
    ["Alignment of virtio_net_hdr_mrg_rxbuf"]
        [::std::mem::align_of::<virtio_net_hdr_mrg_rxbuf>() - 2usize];
    ["Offset of field: virtio_net_hdr_mrg_rxbuf::hdr"]
        [::std::mem::offset_of!(virtio_net_hdr_mrg_rxbuf, hdr) - 0usize];
    ["Offset of field: virtio_net_hdr_mrg_rxbuf::num_buffers"]
        [::std::mem::offset_of!(virtio_net_hdr_mrg_rxbuf, num_buffers) - 10usize];
};
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_hdr {
    pub class: __u8,
    pub cmd: __u8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_hdr"][::std::mem::size_of::<virtio_net_ctrl_hdr>() - 2usize];
    ["Alignment of virtio_net_ctrl_hdr"][::std::mem::align_of::<virtio_net_ctrl_hdr>() - 1usize];
    ["Offset of field: virtio_net_ctrl_hdr::class"]
        [::std::mem::offset_of!(virtio_net_ctrl_hdr, class) - 0usize];
    ["Offset of field: virtio_net_ctrl_hdr::cmd"]
        [::std::mem::offset_of!(virtio_net_ctrl_hdr, cmd) - 1usize];
};
pub type virtio_net_ctrl_ack = __u8;
#[repr(C, packed)]
pub struct virtio_net_ctrl_mac {
    pub entries: __virtio32,
    pub macs: __IncompleteArrayField<[__u8; 6usize]>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_mac"][::std::mem::size_of::<virtio_net_ctrl_mac>() - 4usize];
    ["Alignment of virtio_net_ctrl_mac"][::std::mem::align_of::<virtio_net_ctrl_mac>() - 1usize];
    ["Offset of field: virtio_net_ctrl_mac::entries"]
        [::std::mem::offset_of!(virtio_net_ctrl_mac, entries) - 0usize];
    ["Offset of field: virtio_net_ctrl_mac::macs"]
        [::std::mem::offset_of!(virtio_net_ctrl_mac, macs) - 4usize];
};
impl Default for virtio_net_ctrl_mac {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_mq {
    pub virtqueue_pairs: __virtio16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_mq"][::std::mem::size_of::<virtio_net_ctrl_mq>() - 2usize];
    ["Alignment of virtio_net_ctrl_mq"][::std::mem::align_of::<virtio_net_ctrl_mq>() - 2usize];
    ["Offset of field: virtio_net_ctrl_mq::virtqueue_pairs"]
        [::std::mem::offset_of!(virtio_net_ctrl_mq, virtqueue_pairs) - 0usize];
};
#[repr(C)]
#[derive(Debug, Default)]
pub struct virtio_net_rss_config {
    pub hash_types: __le32,
    pub indirection_table_mask: __le16,
    pub unclassified_queue: __le16,
    pub indirection_table: [__le16; 1usize],
    pub max_tx_vq: __le16,
    pub hash_key_length: __u8,
    pub hash_key_data: __IncompleteArrayField<__u8>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_rss_config"][::std::mem::size_of::<virtio_net_rss_config>() - 16usize];
    ["Alignment of virtio_net_rss_config"]
        [::std::mem::align_of::<virtio_net_rss_config>() - 4usize];
    ["Offset of field: virtio_net_rss_config::hash_types"]
        [::std::mem::offset_of!(virtio_net_rss_config, hash_types) - 0usize];
    ["Offset of field: virtio_net_rss_config::indirection_table_mask"]
        [::std::mem::offset_of!(virtio_net_rss_config, indirection_table_mask) - 4usize];
    ["Offset of field: virtio_net_rss_config::unclassified_queue"]
        [::std::mem::offset_of!(virtio_net_rss_config, unclassified_queue) - 6usize];
    ["Offset of field: virtio_net_rss_config::indirection_table"]
        [::std::mem::offset_of!(virtio_net_rss_config, indirection_table) - 8usize];
    ["Offset of field: virtio_net_rss_config::max_tx_vq"]
        [::std::mem::offset_of!(virtio_net_rss_config, max_tx_vq) - 10usize];
    ["Offset of field: virtio_net_rss_config::hash_key_length"]
        [::std::mem::offset_of!(virtio_net_rss_config, hash_key_length) - 12usize];
    ["Offset of field: virtio_net_rss_config::hash_key_data"]
        [::std::mem::offset_of!(virtio_net_rss_config, hash_key_data) - 13usize];
};
#[repr(C)]
#[derive(Debug, Default)]
pub struct virtio_net_rss_config_hdr {
    pub hash_types: __le32,
    pub indirection_table_mask: __le16,
    pub unclassified_queue: __le16,
    pub indirection_table: __IncompleteArrayField<__le16>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_rss_config_hdr"]
        [::std::mem::size_of::<virtio_net_rss_config_hdr>() - 8usize];
    ["Alignment of virtio_net_rss_config_hdr"]
        [::std::mem::align_of::<virtio_net_rss_config_hdr>() - 4usize];
    ["Offset of field: virtio_net_rss_config_hdr::hash_types"]
        [::std::mem::offset_of!(virtio_net_rss_config_hdr, hash_types) - 0usize];
    ["Offset of field: virtio_net_rss_config_hdr::indirection_table_mask"]
        [::std::mem::offset_of!(virtio_net_rss_config_hdr, indirection_table_mask) - 4usize];
    ["Offset of field: virtio_net_rss_config_hdr::unclassified_queue"]
        [::std::mem::offset_of!(virtio_net_rss_config_hdr, unclassified_queue) - 6usize];
    ["Offset of field: virtio_net_rss_config_hdr::indirection_table"]
        [::std::mem::offset_of!(virtio_net_rss_config_hdr, indirection_table) - 8usize];
};
#[repr(C)]
#[derive(Debug, Default)]
pub struct virtio_net_rss_config_trailer {
    pub max_tx_vq: __le16,
    pub hash_key_length: __u8,
    pub hash_key_data: __IncompleteArrayField<__u8>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_rss_config_trailer"]
        [::std::mem::size_of::<virtio_net_rss_config_trailer>() - 4usize];
    ["Alignment of virtio_net_rss_config_trailer"]
        [::std::mem::align_of::<virtio_net_rss_config_trailer>() - 2usize];
    ["Offset of field: virtio_net_rss_config_trailer::max_tx_vq"]
        [::std::mem::offset_of!(virtio_net_rss_config_trailer, max_tx_vq) - 0usize];
    ["Offset of field: virtio_net_rss_config_trailer::hash_key_length"]
        [::std::mem::offset_of!(virtio_net_rss_config_trailer, hash_key_length) - 2usize];
    ["Offset of field: virtio_net_rss_config_trailer::hash_key_data"]
        [::std::mem::offset_of!(virtio_net_rss_config_trailer, hash_key_data) - 3usize];
};
#[repr(C)]
#[derive(Debug, Default)]
pub struct virtio_net_hash_config {
    pub hash_types: __le32,
    pub reserved: [__le16; 4usize],
    pub hash_key_length: __u8,
    pub hash_key_data: __IncompleteArrayField<__u8>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_hash_config"][::std::mem::size_of::<virtio_net_hash_config>() - 16usize];
    ["Alignment of virtio_net_hash_config"]
        [::std::mem::align_of::<virtio_net_hash_config>() - 4usize];
    ["Offset of field: virtio_net_hash_config::hash_types"]
        [::std::mem::offset_of!(virtio_net_hash_config, hash_types) - 0usize];
    ["Offset of field: virtio_net_hash_config::reserved"]
        [::std::mem::offset_of!(virtio_net_hash_config, reserved) - 4usize];
    ["Offset of field: virtio_net_hash_config::hash_key_length"]
        [::std::mem::offset_of!(virtio_net_hash_config, hash_key_length) - 12usize];
    ["Offset of field: virtio_net_hash_config::hash_key_data"]
        [::std::mem::offset_of!(virtio_net_hash_config, hash_key_data) - 13usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_coal_tx {
    pub tx_max_packets: __le32,
    pub tx_usecs: __le32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_coal_tx"][::std::mem::size_of::<virtio_net_ctrl_coal_tx>() - 8usize];
    ["Alignment of virtio_net_ctrl_coal_tx"]
        [::std::mem::align_of::<virtio_net_ctrl_coal_tx>() - 4usize];
    ["Offset of field: virtio_net_ctrl_coal_tx::tx_max_packets"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal_tx, tx_max_packets) - 0usize];
    ["Offset of field: virtio_net_ctrl_coal_tx::tx_usecs"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal_tx, tx_usecs) - 4usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_coal_rx {
    pub rx_max_packets: __le32,
    pub rx_usecs: __le32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_coal_rx"][::std::mem::size_of::<virtio_net_ctrl_coal_rx>() - 8usize];
    ["Alignment of virtio_net_ctrl_coal_rx"]
        [::std::mem::align_of::<virtio_net_ctrl_coal_rx>() - 4usize];
    ["Offset of field: virtio_net_ctrl_coal_rx::rx_max_packets"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal_rx, rx_max_packets) - 0usize];
    ["Offset of field: virtio_net_ctrl_coal_rx::rx_usecs"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal_rx, rx_usecs) - 4usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_coal {
    pub max_packets: __le32,
    pub max_usecs: __le32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_coal"][::std::mem::size_of::<virtio_net_ctrl_coal>() - 8usize];
    ["Alignment of virtio_net_ctrl_coal"][::std::mem::align_of::<virtio_net_ctrl_coal>() - 4usize];
    ["Offset of field: virtio_net_ctrl_coal::max_packets"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal, max_packets) - 0usize];
    ["Offset of field: virtio_net_ctrl_coal::max_usecs"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal, max_usecs) - 4usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_coal_vq {
    pub vqn: __le16,
    pub reserved: __le16,
    pub coal: virtio_net_ctrl_coal,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_coal_vq"][::std::mem::size_of::<virtio_net_ctrl_coal_vq>() - 12usize];
    ["Alignment of virtio_net_ctrl_coal_vq"]
        [::std::mem::align_of::<virtio_net_ctrl_coal_vq>() - 4usize];
    ["Offset of field: virtio_net_ctrl_coal_vq::vqn"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal_vq, vqn) - 0usize];
    ["Offset of field: virtio_net_ctrl_coal_vq::reserved"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal_vq, reserved) - 2usize];
    ["Offset of field: virtio_net_ctrl_coal_vq::coal"]
        [::std::mem::offset_of!(virtio_net_ctrl_coal_vq, coal) - 4usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_capabilities {
    pub supported_stats_types: [__le64; 1usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_capabilities"]
        [::std::mem::size_of::<virtio_net_stats_capabilities>() - 8usize];
    ["Alignment of virtio_net_stats_capabilities"]
        [::std::mem::align_of::<virtio_net_stats_capabilities>() - 8usize];
    ["Offset of field: virtio_net_stats_capabilities::supported_stats_types"]
        [::std::mem::offset_of!(virtio_net_stats_capabilities, supported_stats_types) - 0usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_queue_stats {
    pub stats: [virtio_net_ctrl_queue_stats__bindgen_ty_1; 1usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_ctrl_queue_stats__bindgen_ty_1 {
    pub vq_index: __le16,
    pub reserved: [__le16; 3usize],
    pub types_bitmap: [__le64; 1usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_queue_stats__bindgen_ty_1"]
        [::std::mem::size_of::<virtio_net_ctrl_queue_stats__bindgen_ty_1>() - 16usize];
    ["Alignment of virtio_net_ctrl_queue_stats__bindgen_ty_1"]
        [::std::mem::align_of::<virtio_net_ctrl_queue_stats__bindgen_ty_1>() - 8usize];
    ["Offset of field: virtio_net_ctrl_queue_stats__bindgen_ty_1::vq_index"]
        [::std::mem::offset_of!(virtio_net_ctrl_queue_stats__bindgen_ty_1, vq_index) - 0usize];
    ["Offset of field: virtio_net_ctrl_queue_stats__bindgen_ty_1::reserved"]
        [::std::mem::offset_of!(virtio_net_ctrl_queue_stats__bindgen_ty_1, reserved) - 2usize];
    ["Offset of field: virtio_net_ctrl_queue_stats__bindgen_ty_1::types_bitmap"]
        [::std::mem::offset_of!(virtio_net_ctrl_queue_stats__bindgen_ty_1, types_bitmap) - 8usize];
};
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_ctrl_queue_stats"]
        [::std::mem::size_of::<virtio_net_ctrl_queue_stats>() - 16usize];
    ["Alignment of virtio_net_ctrl_queue_stats"]
        [::std::mem::align_of::<virtio_net_ctrl_queue_stats>() - 8usize];
    ["Offset of field: virtio_net_ctrl_queue_stats::stats"]
        [::std::mem::offset_of!(virtio_net_ctrl_queue_stats, stats) - 0usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_reply_hdr {
    pub type_: __u8,
    pub reserved: __u8,
    pub vq_index: __le16,
    pub reserved1: __le16,
    pub size: __le16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_reply_hdr"]
        [::std::mem::size_of::<virtio_net_stats_reply_hdr>() - 8usize];
    ["Alignment of virtio_net_stats_reply_hdr"]
        [::std::mem::align_of::<virtio_net_stats_reply_hdr>() - 2usize];
    ["Offset of field: virtio_net_stats_reply_hdr::type_"]
        [::std::mem::offset_of!(virtio_net_stats_reply_hdr, type_) - 0usize];
    ["Offset of field: virtio_net_stats_reply_hdr::reserved"]
        [::std::mem::offset_of!(virtio_net_stats_reply_hdr, reserved) - 1usize];
    ["Offset of field: virtio_net_stats_reply_hdr::vq_index"]
        [::std::mem::offset_of!(virtio_net_stats_reply_hdr, vq_index) - 2usize];
    ["Offset of field: virtio_net_stats_reply_hdr::reserved1"]
        [::std::mem::offset_of!(virtio_net_stats_reply_hdr, reserved1) - 4usize];
    ["Offset of field: virtio_net_stats_reply_hdr::size"]
        [::std::mem::offset_of!(virtio_net_stats_reply_hdr, size) - 6usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_cvq {
    pub hdr: virtio_net_stats_reply_hdr,
    pub command_num: __le64,
    pub ok_num: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_cvq"][::std::mem::size_of::<virtio_net_stats_cvq>() - 24usize];
    ["Alignment of virtio_net_stats_cvq"][::std::mem::align_of::<virtio_net_stats_cvq>() - 8usize];
    ["Offset of field: virtio_net_stats_cvq::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_cvq, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_cvq::command_num"]
        [::std::mem::offset_of!(virtio_net_stats_cvq, command_num) - 8usize];
    ["Offset of field: virtio_net_stats_cvq::ok_num"]
        [::std::mem::offset_of!(virtio_net_stats_cvq, ok_num) - 16usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_rx_basic {
    pub hdr: virtio_net_stats_reply_hdr,
    pub rx_notifications: __le64,
    pub rx_packets: __le64,
    pub rx_bytes: __le64,
    pub rx_interrupts: __le64,
    pub rx_drops: __le64,
    pub rx_drop_overruns: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_rx_basic"]
        [::std::mem::size_of::<virtio_net_stats_rx_basic>() - 56usize];
    ["Alignment of virtio_net_stats_rx_basic"]
        [::std::mem::align_of::<virtio_net_stats_rx_basic>() - 8usize];
    ["Offset of field: virtio_net_stats_rx_basic::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_rx_basic, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_rx_basic::rx_notifications"]
        [::std::mem::offset_of!(virtio_net_stats_rx_basic, rx_notifications) - 8usize];
    ["Offset of field: virtio_net_stats_rx_basic::rx_packets"]
        [::std::mem::offset_of!(virtio_net_stats_rx_basic, rx_packets) - 16usize];
    ["Offset of field: virtio_net_stats_rx_basic::rx_bytes"]
        [::std::mem::offset_of!(virtio_net_stats_rx_basic, rx_bytes) - 24usize];
    ["Offset of field: virtio_net_stats_rx_basic::rx_interrupts"]
        [::std::mem::offset_of!(virtio_net_stats_rx_basic, rx_interrupts) - 32usize];
    ["Offset of field: virtio_net_stats_rx_basic::rx_drops"]
        [::std::mem::offset_of!(virtio_net_stats_rx_basic, rx_drops) - 40usize];
    ["Offset of field: virtio_net_stats_rx_basic::rx_drop_overruns"]
        [::std::mem::offset_of!(virtio_net_stats_rx_basic, rx_drop_overruns) - 48usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_tx_basic {
    pub hdr: virtio_net_stats_reply_hdr,
    pub tx_notifications: __le64,
    pub tx_packets: __le64,
    pub tx_bytes: __le64,
    pub tx_interrupts: __le64,
    pub tx_drops: __le64,
    pub tx_drop_malformed: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_tx_basic"]
        [::std::mem::size_of::<virtio_net_stats_tx_basic>() - 56usize];
    ["Alignment of virtio_net_stats_tx_basic"]
        [::std::mem::align_of::<virtio_net_stats_tx_basic>() - 8usize];
    ["Offset of field: virtio_net_stats_tx_basic::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_tx_basic, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_tx_basic::tx_notifications"]
        [::std::mem::offset_of!(virtio_net_stats_tx_basic, tx_notifications) - 8usize];
    ["Offset of field: virtio_net_stats_tx_basic::tx_packets"]
        [::std::mem::offset_of!(virtio_net_stats_tx_basic, tx_packets) - 16usize];
    ["Offset of field: virtio_net_stats_tx_basic::tx_bytes"]
        [::std::mem::offset_of!(virtio_net_stats_tx_basic, tx_bytes) - 24usize];
    ["Offset of field: virtio_net_stats_tx_basic::tx_interrupts"]
        [::std::mem::offset_of!(virtio_net_stats_tx_basic, tx_interrupts) - 32usize];
    ["Offset of field: virtio_net_stats_tx_basic::tx_drops"]
        [::std::mem::offset_of!(virtio_net_stats_tx_basic, tx_drops) - 40usize];
    ["Offset of field: virtio_net_stats_tx_basic::tx_drop_malformed"]
        [::std::mem::offset_of!(virtio_net_stats_tx_basic, tx_drop_malformed) - 48usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_rx_csum {
    pub hdr: virtio_net_stats_reply_hdr,
    pub rx_csum_valid: __le64,
    pub rx_needs_csum: __le64,
    pub rx_csum_none: __le64,
    pub rx_csum_bad: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_rx_csum"]
        [::std::mem::size_of::<virtio_net_stats_rx_csum>() - 40usize];
    ["Alignment of virtio_net_stats_rx_csum"]
        [::std::mem::align_of::<virtio_net_stats_rx_csum>() - 8usize];
    ["Offset of field: virtio_net_stats_rx_csum::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_rx_csum, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_rx_csum::rx_csum_valid"]
        [::std::mem::offset_of!(virtio_net_stats_rx_csum, rx_csum_valid) - 8usize];
    ["Offset of field: virtio_net_stats_rx_csum::rx_needs_csum"]
        [::std::mem::offset_of!(virtio_net_stats_rx_csum, rx_needs_csum) - 16usize];
    ["Offset of field: virtio_net_stats_rx_csum::rx_csum_none"]
        [::std::mem::offset_of!(virtio_net_stats_rx_csum, rx_csum_none) - 24usize];
    ["Offset of field: virtio_net_stats_rx_csum::rx_csum_bad"]
        [::std::mem::offset_of!(virtio_net_stats_rx_csum, rx_csum_bad) - 32usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_tx_csum {
    pub hdr: virtio_net_stats_reply_hdr,
    pub tx_csum_none: __le64,
    pub tx_needs_csum: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_tx_csum"]
        [::std::mem::size_of::<virtio_net_stats_tx_csum>() - 24usize];
    ["Alignment of virtio_net_stats_tx_csum"]
        [::std::mem::align_of::<virtio_net_stats_tx_csum>() - 8usize];
    ["Offset of field: virtio_net_stats_tx_csum::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_tx_csum, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_tx_csum::tx_csum_none"]
        [::std::mem::offset_of!(virtio_net_stats_tx_csum, tx_csum_none) - 8usize];
    ["Offset of field: virtio_net_stats_tx_csum::tx_needs_csum"]
        [::std::mem::offset_of!(virtio_net_stats_tx_csum, tx_needs_csum) - 16usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_rx_gso {
    pub hdr: virtio_net_stats_reply_hdr,
    pub rx_gso_packets: __le64,
    pub rx_gso_bytes: __le64,
    pub rx_gso_packets_coalesced: __le64,
    pub rx_gso_bytes_coalesced: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_rx_gso"][::std::mem::size_of::<virtio_net_stats_rx_gso>() - 40usize];
    ["Alignment of virtio_net_stats_rx_gso"]
        [::std::mem::align_of::<virtio_net_stats_rx_gso>() - 8usize];
    ["Offset of field: virtio_net_stats_rx_gso::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_rx_gso, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_rx_gso::rx_gso_packets"]
        [::std::mem::offset_of!(virtio_net_stats_rx_gso, rx_gso_packets) - 8usize];
    ["Offset of field: virtio_net_stats_rx_gso::rx_gso_bytes"]
        [::std::mem::offset_of!(virtio_net_stats_rx_gso, rx_gso_bytes) - 16usize];
    ["Offset of field: virtio_net_stats_rx_gso::rx_gso_packets_coalesced"]
        [::std::mem::offset_of!(virtio_net_stats_rx_gso, rx_gso_packets_coalesced) - 24usize];
    ["Offset of field: virtio_net_stats_rx_gso::rx_gso_bytes_coalesced"]
        [::std::mem::offset_of!(virtio_net_stats_rx_gso, rx_gso_bytes_coalesced) - 32usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_tx_gso {
    pub hdr: virtio_net_stats_reply_hdr,
    pub tx_gso_packets: __le64,
    pub tx_gso_bytes: __le64,
    pub tx_gso_segments: __le64,
    pub tx_gso_segments_bytes: __le64,
    pub tx_gso_packets_noseg: __le64,
    pub tx_gso_bytes_noseg: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_tx_gso"][::std::mem::size_of::<virtio_net_stats_tx_gso>() - 56usize];
    ["Alignment of virtio_net_stats_tx_gso"]
        [::std::mem::align_of::<virtio_net_stats_tx_gso>() - 8usize];
    ["Offset of field: virtio_net_stats_tx_gso::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_tx_gso, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_tx_gso::tx_gso_packets"]
        [::std::mem::offset_of!(virtio_net_stats_tx_gso, tx_gso_packets) - 8usize];
    ["Offset of field: virtio_net_stats_tx_gso::tx_gso_bytes"]
        [::std::mem::offset_of!(virtio_net_stats_tx_gso, tx_gso_bytes) - 16usize];
    ["Offset of field: virtio_net_stats_tx_gso::tx_gso_segments"]
        [::std::mem::offset_of!(virtio_net_stats_tx_gso, tx_gso_segments) - 24usize];
    ["Offset of field: virtio_net_stats_tx_gso::tx_gso_segments_bytes"]
        [::std::mem::offset_of!(virtio_net_stats_tx_gso, tx_gso_segments_bytes) - 32usize];
    ["Offset of field: virtio_net_stats_tx_gso::tx_gso_packets_noseg"]
        [::std::mem::offset_of!(virtio_net_stats_tx_gso, tx_gso_packets_noseg) - 40usize];
    ["Offset of field: virtio_net_stats_tx_gso::tx_gso_bytes_noseg"]
        [::std::mem::offset_of!(virtio_net_stats_tx_gso, tx_gso_bytes_noseg) - 48usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_rx_speed {
    pub hdr: virtio_net_stats_reply_hdr,
    pub rx_ratelimit_packets: __le64,
    pub rx_ratelimit_bytes: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_rx_speed"]
        [::std::mem::size_of::<virtio_net_stats_rx_speed>() - 24usize];
    ["Alignment of virtio_net_stats_rx_speed"]
        [::std::mem::align_of::<virtio_net_stats_rx_speed>() - 8usize];
    ["Offset of field: virtio_net_stats_rx_speed::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_rx_speed, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_rx_speed::rx_ratelimit_packets"]
        [::std::mem::offset_of!(virtio_net_stats_rx_speed, rx_ratelimit_packets) - 8usize];
    ["Offset of field: virtio_net_stats_rx_speed::rx_ratelimit_bytes"]
        [::std::mem::offset_of!(virtio_net_stats_rx_speed, rx_ratelimit_bytes) - 16usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct virtio_net_stats_tx_speed {
    pub hdr: virtio_net_stats_reply_hdr,
    pub tx_ratelimit_packets: __le64,
    pub tx_ratelimit_bytes: __le64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of virtio_net_stats_tx_speed"]
        [::std::mem::size_of::<virtio_net_stats_tx_speed>() - 24usize];
    ["Alignment of virtio_net_stats_tx_speed"]
        [::std::mem::align_of::<virtio_net_stats_tx_speed>() - 8usize];
    ["Offset of field: virtio_net_stats_tx_speed::hdr"]
        [::std::mem::offset_of!(virtio_net_stats_tx_speed, hdr) - 0usize];
    ["Offset of field: virtio_net_stats_tx_speed::tx_ratelimit_packets"]
        [::std::mem::offset_of!(virtio_net_stats_tx_speed, tx_ratelimit_packets) - 8usize];
    ["Offset of field: virtio_net_stats_tx_speed::tx_ratelimit_bytes"]
        [::std::mem::offset_of!(virtio_net_stats_tx_speed, tx_ratelimit_bytes) - 16usize];
};
