extern structstd.os.uefi.device_path.DevicePath.Messaging.InfiniBandDevicePath[src]

Fields

type: DevicePath.Type
subtype: Subtype
length: u16 align(1)
resource_flags: ResourceFlags align(1)
port_gid: [16]u8
service_id: u64 align(1)
target_port_id: u64 align(1)
device_id: u64 align(1)

Source Code

Source code
pub const InfiniBandDevicePath = extern struct {
    pub const ResourceFlags = packed struct(u32) {
        pub const ControllerType = enum(u1) {
            ioc = 0,
            service = 1,
        };

        ioc_or_service: ControllerType,
        extend_boot_environment: bool,
        console_protocol: bool,
        storage_protocol: bool,
        network_protocol: bool,

        // u1 + 4 * bool = 5 bits, we need a total of 32 bits
        reserved: u27,
    };

    type: DevicePath.Type,
    subtype: Subtype,
    length: u16 align(1),
    resource_flags: ResourceFlags align(1),
    port_gid: [16]u8,
    service_id: u64 align(1),
    target_port_id: u64 align(1),
    device_id: u64 align(1),
}