#ifndef EFI_PROTOCOLS_ADAPTER_INFORMATION_H #define EFI_PROTOCOLS_ADAPTER_INFORMATION_H #define EFI_ADAPTER_INFORMATION_PROTOCOL_GUID {0xe5dd1403,0xd622,0xc24e, {0x84,0x88,0xc7,0x1b,0x17,0xf5,0xe8,0x02}} #define EFI_ADAPTER_INFO_MEDIA_STATE_GUID {0xd7c74207,0xa831,0x4a26, {0xb1,0xf5,0xd1,0x93,0x06,0x5c,0xe8,0xb6}} #define EFI_ADAPTER_INFO_NETWORK_BOOT_GUID {0x1fbd2960,0x4130,0x41e5,{0x94,0xac,0xd2,0xcf,0x03,0x7f,0xb3,0x7c}} #define EFI_ADAPTER_INFO_SAN_MAC_ADDRESS_GUID {0x114da5ef,0x2cf1,0x4e12, {0x9b,0xbb,0xc4,0x70,0xb5,0x52,0x05,0xd9}} #define EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT_GUID {0x4bd56be3,0x4975,0x4d8a, {0xa0,0xad,0xc4,0x91,0x20,0x4b,0x5d,0x4d}} #define EFI_ADAPTER_INFO_MEDIA_TYPE_GUID {0x8484472f,0x71ec,0x411a, {0xb3,0x9c,0x62,0xcd,0x94,0xd9,0x91,0x6e}} #define EFI_ADAPTER_INFO_CDAT_TYPE_GUID {0x77af24d1,0xb6f0,0x42b9, {0x83,0xf5,0x8f,0xe6,0xe8,0x3e,0xb6,0xf0}} typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL EFI_ADAPTER_INFORMATION_PROTOCOL; typedef struct { EFI_STATUS MediaState; } EFI_ADAPTER_INFO_MEDIA_STATE; typedef struct { BOOLEAN iSsciIpv4BootCapablity; BOOLEAN iScsiIpv6BootCapablity; BOOLEAN FCoeBootCapablity; BOOLEAN OffloadCapability; BOOLEAN iScsiMpioCapability; BOOLEAN iScsiIpv4Boot; BOOLEAN iScsiIpv6Boot; BOOLEAN FCoeBoot; } EFI_ADAPTER_INFO_NETWORK_BOOT; typedef struct { EFI_MAC_ADDRESS SanMacAddress; } EFI_ADAPTER_INFO_SAN_MAC_ADDRESS; typedef struct { BOOLEAN Ipv6Support; } EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT; typedef struct { UINT8 MediaType; } EFI_ADAPTER_INFO_MEDIA_TYPE; typedef struct { UINTN CdatSize; UINT8 Cdat[]; } EFI_ADAPTER_INFO_CDAT_TYPE_TYPE; typedef EFI_STATUS (EFIAPI *EFI_ADAPTER_INFO_GET_INFO)( IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, IN EFI_GUID *InformationType, OUT VOID **InformationBlock, OUT UINTN *InformationBlockSize ); typedef EFI_STATUS (EFIAPI *EFI_ADAPTER_INFO_SET_INFO)( IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, IN EFI_GUID *InformationType, IN VOID *InformationBlock, IN UINTN InformationBlockSize ); typedef EFI_STATUS (EFIAPI *EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES)( IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, OUT EFI_GUID **InfoTypesBuffer, OUT UINTN *InfoTypesBufferCount ); typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL { EFI_ADAPTER_INFO_GET_INFO GetInformation; EFI_ADAPTER_INFO_SET_INFO SetInformation; EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES GetSupportedTypes; } EFI_ADAPTER_INFORMATION_PROTOCOL; #endif /* EFI_PROTOCOLS_ADAPTER_INFORMATION_H */