MdePkg: Apply uncrustify changes

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the MdePkg package

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Michael Kubacki
2021-12-05 14:54:05 -08:00
committed by mergify[bot]
parent 1436aea4d5
commit 2f88bd3a12
975 changed files with 55681 additions and 57790 deletions

View File

@@ -13,18 +13,14 @@
#ifndef __ABSOLUTE_POINTER_H__
#define __ABSOLUTE_POINTER_H__
#define EFI_ABSOLUTE_POINTER_PROTOCOL_GUID \
{ 0x8D59D32B, 0xC655, 0x4AE9, { 0x9B, 0x15, 0xF2, 0x59, 0x04, 0x99, 0x2A, 0x43 } }
typedef struct _EFI_ABSOLUTE_POINTER_PROTOCOL EFI_ABSOLUTE_POINTER_PROTOCOL;
//*******************************************************
// *******************************************************
// EFI_ABSOLUTE_POINTER_MODE
//*******************************************************
// *******************************************************
/**
The following data values in the EFI_ABSOLUTE_POINTER_MODE
@@ -32,31 +28,30 @@ typedef struct _EFI_ABSOLUTE_POINTER_PROTOCOL EFI_ABSOLUTE_POINTER_PROTOCOL;
interface functions.
**/
typedef struct {
UINT64 AbsoluteMinX; ///< The Absolute Minimum of the device on the x-axis
UINT64 AbsoluteMinY; ///< The Absolute Minimum of the device on the y axis.
UINT64 AbsoluteMinZ; ///< The Absolute Minimum of the device on the z-axis
UINT64 AbsoluteMaxX; ///< The Absolute Maximum of the device on the x-axis. If 0, and the
///< AbsoluteMinX is 0, then the pointer device does not support a xaxis
UINT64 AbsoluteMaxY; ///< The Absolute Maximum of the device on the y -axis. If 0, and the
///< AbsoluteMinX is 0, then the pointer device does not support a yaxis.
UINT64 AbsoluteMaxZ; ///< The Absolute Maximum of the device on the z-axis. If 0 , and the
///< AbsoluteMinX is 0, then the pointer device does not support a zaxis
UINT32 Attributes; ///< The following bits are set as needed (or'd together) to indicate the
///< capabilities of the device supported. The remaining bits are undefined
///< and should be 0
UINT64 AbsoluteMinX; ///< The Absolute Minimum of the device on the x-axis
UINT64 AbsoluteMinY; ///< The Absolute Minimum of the device on the y axis.
UINT64 AbsoluteMinZ; ///< The Absolute Minimum of the device on the z-axis
UINT64 AbsoluteMaxX; ///< The Absolute Maximum of the device on the x-axis. If 0, and the
///< AbsoluteMinX is 0, then the pointer device does not support a xaxis
UINT64 AbsoluteMaxY; ///< The Absolute Maximum of the device on the y -axis. If 0, and the
///< AbsoluteMinX is 0, then the pointer device does not support a yaxis.
UINT64 AbsoluteMaxZ; ///< The Absolute Maximum of the device on the z-axis. If 0 , and the
///< AbsoluteMinX is 0, then the pointer device does not support a zaxis
UINT32 Attributes; ///< The following bits are set as needed (or'd together) to indicate the
///< capabilities of the device supported. The remaining bits are undefined
///< and should be 0
} EFI_ABSOLUTE_POINTER_MODE;
///
/// If set, indicates this device supports an alternate button input.
///
#define EFI_ABSP_SupportsAltActive 0x00000001
#define EFI_ABSP_SupportsAltActive 0x00000001
///
/// If set, indicates this device returns pressure data in parameter CurrentZ.
///
#define EFI_ABSP_SupportsPressureAsZ 0x00000002
/**
This function resets the pointer device hardware. As part of
initialization process, the firmware/device will make a quick
@@ -87,7 +82,7 @@ EFI_STATUS
(EFIAPI *EFI_ABSOLUTE_POINTER_RESET)(
IN EFI_ABSOLUTE_POINTER_PROTOCOL *This,
IN BOOLEAN ExtendedVerification
);
);
///
/// This bit is set if the touch sensor is active.
@@ -97,8 +92,7 @@ EFI_STATUS
///
/// This bit is set if the alt sensor, such as pen-side button, is active
///
#define EFI_ABS_AltActive 0x00000002
#define EFI_ABS_AltActive 0x00000002
/**
Definition of EFI_ABSOLUTE_POINTER_STATE.
@@ -110,7 +104,7 @@ typedef struct {
/// both 0, then this pointer device does not support an x-axis, and this field
/// must be ignored.
///
UINT64 CurrentX;
UINT64 CurrentX;
///
/// The unsigned position of the activation on the y axis. If the AboluteMinY
@@ -118,7 +112,7 @@ typedef struct {
/// both 0, then this pointer device does not support an y-axis, and this field
/// must be ignored.
///
UINT64 CurrentY;
UINT64 CurrentY;
///
/// The unsigned position of the activation on the z axis, or the pressure
@@ -126,13 +120,13 @@ typedef struct {
/// EFI_ABSOLUTE_POINTER_MODE structure are both 0, then this pointer device
/// does not support an z-axis, and this field must be ignored.
///
UINT64 CurrentZ;
UINT64 CurrentZ;
///
/// Bits are set to 1 in this structure item to indicate that device buttons are
/// active.
///
UINT32 ActiveButtons;
UINT32 ActiveButtons;
} EFI_ABSOLUTE_POINTER_STATE;
/**
@@ -170,8 +164,7 @@ EFI_STATUS
(EFIAPI *EFI_ABSOLUTE_POINTER_GET_STATE)(
IN EFI_ABSOLUTE_POINTER_PROTOCOL *This,
OUT EFI_ABSOLUTE_POINTER_STATE *State
);
);
///
/// The EFI_ABSOLUTE_POINTER_PROTOCOL provides a set of services
@@ -182,21 +175,18 @@ EFI_STATUS
/// device. The service also provides certain data items describing the device.
///
struct _EFI_ABSOLUTE_POINTER_PROTOCOL {
EFI_ABSOLUTE_POINTER_RESET Reset;
EFI_ABSOLUTE_POINTER_GET_STATE GetState;
EFI_ABSOLUTE_POINTER_RESET Reset;
EFI_ABSOLUTE_POINTER_GET_STATE GetState;
///
/// Event to use with WaitForEvent() to wait for input from the pointer device.
///
EFI_EVENT WaitForInput;
EFI_EVENT WaitForInput;
///
/// Pointer to EFI_ABSOLUTE_POINTER_MODE data.
///
EFI_ABSOLUTE_POINTER_MODE *Mode;
EFI_ABSOLUTE_POINTER_MODE *Mode;
};
extern EFI_GUID gEfiAbsolutePointerProtocolGuid;
extern EFI_GUID gEfiAbsolutePointerProtocolGuid;
#endif

View File

@@ -18,12 +18,12 @@
typedef UINT32 EFI_ACPI_TABLE_VERSION;
typedef VOID *EFI_ACPI_HANDLE;
#define EFI_ACPI_TABLE_VERSION_NONE (1 << 0)
#define EFI_ACPI_TABLE_VERSION_1_0B (1 << 1)
#define EFI_ACPI_TABLE_VERSION_2_0 (1 << 2)
#define EFI_ACPI_TABLE_VERSION_3_0 (1 << 3)
#define EFI_ACPI_TABLE_VERSION_4_0 (1 << 4)
#define EFI_ACPI_TABLE_VERSION_5_0 (1 << 5)
#define EFI_ACPI_TABLE_VERSION_NONE (1 << 0)
#define EFI_ACPI_TABLE_VERSION_1_0B (1 << 1)
#define EFI_ACPI_TABLE_VERSION_2_0 (1 << 2)
#define EFI_ACPI_TABLE_VERSION_3_0 (1 << 3)
#define EFI_ACPI_TABLE_VERSION_4_0 (1 << 4)
#define EFI_ACPI_TABLE_VERSION_5_0 (1 << 5)
typedef UINT32 EFI_ACPI_DATA_TYPE;
#define EFI_ACPI_DATA_TYPE_NONE 0
@@ -52,7 +52,7 @@ EFI_STATUS
IN EFI_ACPI_SDT_HEADER *Table, ///< A pointer to the ACPI table header.
IN EFI_ACPI_TABLE_VERSION Version, ///< The ACPI table's version.
IN UINTN TableKey ///< The table key for this ACPI table.
);
);
/**
Returns a requested ACPI table.
@@ -87,7 +87,7 @@ EFI_STATUS
OUT EFI_ACPI_SDT_HEADER **Table,
OUT EFI_ACPI_TABLE_VERSION *Version,
OUT UINTN *TableKey
);
);
/**
Register or unregister a callback when an ACPI table is installed.
@@ -108,7 +108,7 @@ EFI_STATUS
(EFIAPI *EFI_ACPI_REGISTER_NOTIFY)(
IN BOOLEAN Register,
IN EFI_ACPI_NOTIFICATION_FN Notification
);
);
/**
Create a handle from an ACPI opcode
@@ -126,7 +126,7 @@ EFI_STATUS
(EFIAPI *EFI_ACPI_OPEN)(
IN VOID *Buffer,
OUT EFI_ACPI_HANDLE *Handle
);
);
/**
Create a handle for the first ACPI opcode in an ACPI system description table.
@@ -142,7 +142,7 @@ EFI_STATUS
(EFIAPI *EFI_ACPI_OPEN_SDT)(
IN UINTN TableKey,
OUT EFI_ACPI_HANDLE *Handle
);
);
/**
Close an ACPI handle.
@@ -156,7 +156,7 @@ typedef
EFI_STATUS
(EFIAPI *EFI_ACPI_CLOSE)(
IN EFI_ACPI_HANDLE Handle
);
);
/**
Return the child ACPI objects.
@@ -174,7 +174,7 @@ EFI_STATUS
(EFIAPI *EFI_ACPI_GET_CHILD)(
IN EFI_ACPI_HANDLE ParentHandle,
IN OUT EFI_ACPI_HANDLE *Handle
);
);
/**
Retrieve information about an ACPI object.
@@ -197,7 +197,7 @@ EFI_STATUS
OUT EFI_ACPI_DATA_TYPE *DataType,
OUT CONST VOID **Data,
OUT UINTN *DataSize
);
);
/**
Change information about an ACPI object.
@@ -221,7 +221,7 @@ EFI_STATUS
IN UINTN Index,
IN CONST VOID *Data,
IN UINTN DataSize
);
);
/**
Returns the handle of the ACPI object representing the specified ACPI path
@@ -240,24 +240,24 @@ EFI_STATUS
IN EFI_ACPI_HANDLE HandleIn,
IN VOID *AcpiPath,
OUT EFI_ACPI_HANDLE *HandleOut
);
);
typedef struct _EFI_ACPI_SDT_PROTOCOL {
///
/// A bit map containing all the ACPI versions supported by this protocol.
///
EFI_ACPI_TABLE_VERSION AcpiVersion;
EFI_ACPI_GET_ACPI_TABLE2 GetAcpiTable;
EFI_ACPI_REGISTER_NOTIFY RegisterNotify;
EFI_ACPI_OPEN Open;
EFI_ACPI_OPEN_SDT OpenSdt;
EFI_ACPI_CLOSE Close;
EFI_ACPI_GET_CHILD GetChild;
EFI_ACPI_GET_OPTION GetOption;
EFI_ACPI_SET_OPTION SetOption;
EFI_ACPI_FIND_PATH FindPath;
EFI_ACPI_TABLE_VERSION AcpiVersion;
EFI_ACPI_GET_ACPI_TABLE2 GetAcpiTable;
EFI_ACPI_REGISTER_NOTIFY RegisterNotify;
EFI_ACPI_OPEN Open;
EFI_ACPI_OPEN_SDT OpenSdt;
EFI_ACPI_CLOSE Close;
EFI_ACPI_GET_CHILD GetChild;
EFI_ACPI_GET_OPTION GetOption;
EFI_ACPI_SET_OPTION SetOption;
EFI_ACPI_FIND_PATH FindPath;
} EFI_ACPI_SDT_PROTOCOL;
extern EFI_GUID gEfiAcpiSdtProtocolGuid;
extern EFI_GUID gEfiAcpiSdtProtocolGuid;
#endif // __ACPI_SYSTEM_DESCRIPTION_TABLE_H___

View File

@@ -16,7 +16,6 @@
#define EFI_ACPI_TABLE_PROTOCOL_GUID \
{ 0xffe06bdd, 0x6107, 0x46a6, { 0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c }}
typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;
/**
@@ -75,8 +74,7 @@ EFI_STATUS
IN VOID *AcpiTableBuffer,
IN UINTN AcpiTableBufferSize,
OUT UINTN *TableKey
);
);
/**
@@ -107,18 +105,17 @@ EFI_STATUS
(EFIAPI *EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE)(
IN EFI_ACPI_TABLE_PROTOCOL *This,
IN UINTN TableKey
);
);
///
/// The EFI_ACPI_TABLE_PROTOCOL provides the ability for a component
/// to install and uninstall ACPI tables from a platform.
///
struct _EFI_ACPI_TABLE_PROTOCOL {
EFI_ACPI_TABLE_INSTALL_ACPI_TABLE InstallAcpiTable;
EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE UninstallAcpiTable;
EFI_ACPI_TABLE_INSTALL_ACPI_TABLE InstallAcpiTable;
EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE UninstallAcpiTable;
};
extern EFI_GUID gEfiAcpiTableProtocolGuid;
extern EFI_GUID gEfiAcpiTableProtocolGuid;
#endif

View File

@@ -14,7 +14,6 @@
#ifndef __EFI_ADAPTER_INFORMATION_PROTOCOL_H__
#define __EFI_ADAPTER_INFORMATION_PROTOCOL_H__
#define EFI_ADAPTER_INFORMATION_PROTOCOL_GUID \
{ \
0xE5DD1403, 0xD622, 0xC24E, {0x84, 0x88, 0xC7, 0x1B, 0x17, 0xF5, 0xE8, 0x02 } \
@@ -45,7 +44,6 @@
0x8484472f, 0x71ec, 0x411a, { 0xb3, 0x9c, 0x62, 0xcd, 0x94, 0xd9, 0x91, 0x6e } \
}
typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL EFI_ADAPTER_INFORMATION_PROTOCOL;
///
@@ -58,7 +56,7 @@ typedef struct {
/// There was media attached to the network adapter, but it was removed and reattached. EFI_NO_MEDIA: There is
/// not any media attached to the network.
///
EFI_STATUS MediaState;
EFI_STATUS MediaState;
} EFI_ADAPTER_INFO_MEDIA_STATE;
///
@@ -71,7 +69,7 @@ typedef struct {
/// 2: Ethernet Wireless Network Adapter
/// 3~255: Reserved
///
UINT8 MediaType;
UINT8 MediaType;
} EFI_ADAPTER_INFO_MEDIA_TYPE;
///
@@ -81,39 +79,39 @@ typedef struct {
///
/// TRUE if the adapter supports booting from iSCSI IPv4 targets.
///
BOOLEAN iScsiIpv4BootCapablity;
BOOLEAN iScsiIpv4BootCapablity;
///
/// TRUE if the adapter supports booting from iSCSI IPv6 targets.
///
BOOLEAN iScsiIpv6BootCapablity;
BOOLEAN iScsiIpv6BootCapablity;
///
/// TRUE if the adapter supports booting from FCoE targets.
///
BOOLEAN FCoeBootCapablity;
BOOLEAN FCoeBootCapablity;
///
/// TRUE if the adapter supports an offload engine (such as TCP
/// Offload Engine (TOE)) for its iSCSI or FCoE boot operations.
///
BOOLEAN OffloadCapability;
BOOLEAN OffloadCapability;
///
/// TRUE if the adapter supports multipath I/O (MPIO) for its iSCSI
/// boot operations.
///
BOOLEAN iScsiMpioCapability;
BOOLEAN iScsiMpioCapability;
///
/// TRUE if the adapter is currently configured to boot from iSCSI
/// IPv4 targets.
///
BOOLEAN iScsiIpv4Boot;
BOOLEAN iScsiIpv4Boot;
///
/// TRUE if the adapter is currently configured to boot from iSCSI
/// IPv6 targets.
///
BOOLEAN iScsiIpv6Boot;
BOOLEAN iScsiIpv6Boot;
///
/// TRUE if the adapter is currently configured to boot from FCoE targets.
///
BOOLEAN FCoeBoot;
BOOLEAN FCoeBoot;
} EFI_ADAPTER_INFO_NETWORK_BOOT;
///
@@ -124,7 +122,7 @@ typedef struct {
/// Returns the SAN MAC address for the adapter.For adapters that support today's 802.3 ethernet
/// networking and Fibre-Channel Over Ethernet (FCOE), this conveys the FCOE SAN MAC address from the adapter.
///
EFI_MAC_ADDRESS SanMacAddress;
EFI_MAC_ADDRESS SanMacAddress;
} EFI_ADAPTER_INFO_SAN_MAC_ADDRESS;
///
@@ -134,7 +132,7 @@ typedef struct {
///
/// Returns capability of UNDI to support IPv6 traffic.
///
BOOLEAN Ipv6Support;
BOOLEAN Ipv6Support;
} EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT;
/**
@@ -236,19 +234,19 @@ EFI_STATUS
/// - Gets a list of supported information types for this instance of the protocol.
///
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_INFO_GET_INFO GetInformation;
EFI_ADAPTER_INFO_SET_INFO SetInformation;
EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES GetSupportedTypes;
};
extern EFI_GUID gEfiAdapterInformationProtocolGuid;
extern EFI_GUID gEfiAdapterInformationProtocolGuid;
extern EFI_GUID gEfiAdapterInfoMediaStateGuid;
extern EFI_GUID gEfiAdapterInfoMediaStateGuid;
extern EFI_GUID gEfiAdapterInfoNetworkBootGuid;
extern EFI_GUID gEfiAdapterInfoNetworkBootGuid;
extern EFI_GUID gEfiAdapterInfoSanMacAddressGuid;
extern EFI_GUID gEfiAdapterInfoSanMacAddressGuid;
extern EFI_GUID gEfiAdapterInfoUndiIpv6SupportGuid;
extern EFI_GUID gEfiAdapterInfoUndiIpv6SupportGuid;
#endif

View File

@@ -34,51 +34,51 @@ typedef struct {
///
/// Length in bytes of this entry.
///
UINT32 Size;
UINT32 Size;
///
/// Set to TRUE if this entry is a "deny" entry.
/// Set to FALSE if this entry is a "normal" entry.
///
BOOLEAN DenyFlag;
BOOLEAN DenyFlag;
///
/// Set to TRUE if this entry will not time out.
/// Set to FALSE if this entry will time out.
///
BOOLEAN StaticFlag;
BOOLEAN StaticFlag;
///
/// 16-bit ARP hardware identifier number.
///
UINT16 HwAddressType;
UINT16 HwAddressType;
///
/// 16-bit protocol type number.
///
UINT16 SwAddressType;
UINT16 SwAddressType;
///
/// The length of the hardware address.
///
UINT8 HwAddressLength;
UINT8 HwAddressLength;
///
/// The length of the protocol address.
///
UINT8 SwAddressLength;
UINT8 SwAddressLength;
} EFI_ARP_FIND_DATA;
typedef struct {
///
/// 16-bit protocol type number in host byte order.
///
UINT16 SwAddressType;
UINT16 SwAddressType;
///
/// The length in bytes of the station's protocol address to register.
///
UINT8 SwAddressLength;
UINT8 SwAddressLength;
///
/// The pointer to the first byte of the protocol address to register. For
@@ -86,30 +86,29 @@ typedef struct {
/// StationAddress points to the first byte of this station's IP
/// address stored in network byte order.
///
VOID *StationAddress;
VOID *StationAddress;
///
/// The timeout value in 100-ns units that is associated with each
/// new dynamic ARP cache entry. If it is set to zero, the value is
/// implementation-specific.
///
UINT32 EntryTimeOut;
UINT32 EntryTimeOut;
///
/// The number of retries before a MAC address is resolved. If it is
/// set to zero, the value is implementation-specific.
///
UINT32 RetryCount;
UINT32 RetryCount;
///
/// The timeout value in 100-ns units that is used to wait for the ARP
/// reply packet or the timeout value between two retries. Set to zero
/// to use implementation-specific value.
///
UINT32 RetryTimeOut;
UINT32 RetryTimeOut;
} EFI_ARP_CONFIG_DATA;
/**
This function is used to assign a station address to the ARP cache for this instance
of the ARP driver.
@@ -247,7 +246,6 @@ EFI_STATUS
IN BOOLEAN Refresh
);
/**
This function removes specified ARP cache entries.
@@ -363,17 +361,16 @@ EFI_STATUS
/// network hardware addresses.
///
struct _EFI_ARP_PROTOCOL {
EFI_ARP_CONFIGURE Configure;
EFI_ARP_ADD Add;
EFI_ARP_FIND Find;
EFI_ARP_DELETE Delete;
EFI_ARP_FLUSH Flush;
EFI_ARP_REQUEST Request;
EFI_ARP_CANCEL Cancel;
EFI_ARP_CONFIGURE Configure;
EFI_ARP_ADD Add;
EFI_ARP_FIND Find;
EFI_ARP_DELETE Delete;
EFI_ARP_FLUSH Flush;
EFI_ARP_REQUEST Request;
EFI_ARP_CANCEL Cancel;
};
extern EFI_GUID gEfiArpServiceBindingProtocolGuid;
extern EFI_GUID gEfiArpProtocolGuid;
extern EFI_GUID gEfiArpServiceBindingProtocolGuid;
extern EFI_GUID gEfiArpProtocolGuid;
#endif

View File

@@ -22,89 +22,88 @@
typedef struct _EFI_ATA_PASS_THRU_PROTOCOL EFI_ATA_PASS_THRU_PROTOCOL;
typedef struct {
UINT32 Attributes;
UINT32 IoAlign;
UINT32 Attributes;
UINT32 IoAlign;
} EFI_ATA_PASS_THRU_MODE;
///
/// If this bit is set, then the EFI_ATA_PASS_THRU_PROTOCOL interface is for physical
/// devices on the ATA controller.
///
#define EFI_ATA_PASS_THRU_ATTRIBUTES_PHYSICAL 0x0001
#define EFI_ATA_PASS_THRU_ATTRIBUTES_PHYSICAL 0x0001
///
/// If this bit is set, then the EFI_ATA_PASS_THRU_PROTOCOL interface is for logical
/// devices on the ATA controller.
///
#define EFI_ATA_PASS_THRU_ATTRIBUTES_LOGICAL 0x0002
#define EFI_ATA_PASS_THRU_ATTRIBUTES_LOGICAL 0x0002
///
/// If this bit is set, then the EFI_ATA_PASS_THRU_PROTOCOL interface supports non blocking
/// I/O. Every EFI_ATA_PASS_THRU_PROTOCOL must support blocking I/O. The support of non-blocking
/// I/O is optional.
///
#define EFI_ATA_PASS_THRU_ATTRIBUTES_NONBLOCKIO 0x0004
#define EFI_ATA_PASS_THRU_ATTRIBUTES_NONBLOCKIO 0x0004
typedef struct _EFI_ATA_COMMAND_BLOCK {
UINT8 Reserved1[2];
UINT8 AtaCommand;
UINT8 AtaFeatures;
UINT8 AtaSectorNumber;
UINT8 AtaCylinderLow;
UINT8 AtaCylinderHigh;
UINT8 AtaDeviceHead;
UINT8 AtaSectorNumberExp;
UINT8 AtaCylinderLowExp;
UINT8 AtaCylinderHighExp;
UINT8 AtaFeaturesExp;
UINT8 AtaSectorCount;
UINT8 AtaSectorCountExp;
UINT8 Reserved2[6];
UINT8 Reserved1[2];
UINT8 AtaCommand;
UINT8 AtaFeatures;
UINT8 AtaSectorNumber;
UINT8 AtaCylinderLow;
UINT8 AtaCylinderHigh;
UINT8 AtaDeviceHead;
UINT8 AtaSectorNumberExp;
UINT8 AtaCylinderLowExp;
UINT8 AtaCylinderHighExp;
UINT8 AtaFeaturesExp;
UINT8 AtaSectorCount;
UINT8 AtaSectorCountExp;
UINT8 Reserved2[6];
} EFI_ATA_COMMAND_BLOCK;
typedef struct _EFI_ATA_STATUS_BLOCK {
UINT8 Reserved1[2];
UINT8 AtaStatus;
UINT8 AtaError;
UINT8 AtaSectorNumber;
UINT8 AtaCylinderLow;
UINT8 AtaCylinderHigh;
UINT8 AtaDeviceHead;
UINT8 AtaSectorNumberExp;
UINT8 AtaCylinderLowExp;
UINT8 AtaCylinderHighExp;
UINT8 Reserved2;
UINT8 AtaSectorCount;
UINT8 AtaSectorCountExp;
UINT8 Reserved3[6];
UINT8 Reserved1[2];
UINT8 AtaStatus;
UINT8 AtaError;
UINT8 AtaSectorNumber;
UINT8 AtaCylinderLow;
UINT8 AtaCylinderHigh;
UINT8 AtaDeviceHead;
UINT8 AtaSectorNumberExp;
UINT8 AtaCylinderLowExp;
UINT8 AtaCylinderHighExp;
UINT8 Reserved2;
UINT8 AtaSectorCount;
UINT8 AtaSectorCountExp;
UINT8 Reserved3[6];
} EFI_ATA_STATUS_BLOCK;
typedef UINT8 EFI_ATA_PASS_THRU_CMD_PROTOCOL;
#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_HARDWARE_RESET 0x00
#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_SOFTWARE_RESET 0x01
#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_NON_DATA 0x02
#define EFI_ATA_PASS_THRU_PROTOCOL_PIO_DATA_IN 0x04
#define EFI_ATA_PASS_THRU_PROTOCOL_PIO_DATA_OUT 0x05
#define EFI_ATA_PASS_THRU_PROTOCOL_DMA 0x06
#define EFI_ATA_PASS_THRU_PROTOCOL_DMA_QUEUED 0x07
#define EFI_ATA_PASS_THRU_PROTOCOL_DEVICE_DIAGNOSTIC 0x08
#define EFI_ATA_PASS_THRU_PROTOCOL_DEVICE_RESET 0x09
#define EFI_ATA_PASS_THRU_PROTOCOL_UDMA_DATA_IN 0x0A
#define EFI_ATA_PASS_THRU_PROTOCOL_UDMA_DATA_OUT 0x0B
#define EFI_ATA_PASS_THRU_PROTOCOL_FPDMA 0x0C
#define EFI_ATA_PASS_THRU_PROTOCOL_RETURN_RESPONSE 0xFF
#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_HARDWARE_RESET 0x00
#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_SOFTWARE_RESET 0x01
#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_NON_DATA 0x02
#define EFI_ATA_PASS_THRU_PROTOCOL_PIO_DATA_IN 0x04
#define EFI_ATA_PASS_THRU_PROTOCOL_PIO_DATA_OUT 0x05
#define EFI_ATA_PASS_THRU_PROTOCOL_DMA 0x06
#define EFI_ATA_PASS_THRU_PROTOCOL_DMA_QUEUED 0x07
#define EFI_ATA_PASS_THRU_PROTOCOL_DEVICE_DIAGNOSTIC 0x08
#define EFI_ATA_PASS_THRU_PROTOCOL_DEVICE_RESET 0x09
#define EFI_ATA_PASS_THRU_PROTOCOL_UDMA_DATA_IN 0x0A
#define EFI_ATA_PASS_THRU_PROTOCOL_UDMA_DATA_OUT 0x0B
#define EFI_ATA_PASS_THRU_PROTOCOL_FPDMA 0x0C
#define EFI_ATA_PASS_THRU_PROTOCOL_RETURN_RESPONSE 0xFF
typedef UINT8 EFI_ATA_PASS_THRU_LENGTH;
#define EFI_ATA_PASS_THRU_LENGTH_BYTES 0x80
#define EFI_ATA_PASS_THRU_LENGTH_BYTES 0x80
#define EFI_ATA_PASS_THRU_LENGTH_MASK 0x70
#define EFI_ATA_PASS_THRU_LENGTH_NO_DATA_TRANSFER 0x00
#define EFI_ATA_PASS_THRU_LENGTH_FEATURES 0x10
#define EFI_ATA_PASS_THRU_LENGTH_SECTOR_COUNT 0x20
#define EFI_ATA_PASS_THRU_LENGTH_TPSIU 0x30
#define EFI_ATA_PASS_THRU_LENGTH_MASK 0x70
#define EFI_ATA_PASS_THRU_LENGTH_NO_DATA_TRANSFER 0x00
#define EFI_ATA_PASS_THRU_LENGTH_FEATURES 0x10
#define EFI_ATA_PASS_THRU_LENGTH_SECTOR_COUNT 0x20
#define EFI_ATA_PASS_THRU_LENGTH_TPSIU 0x30
#define EFI_ATA_PASS_THRU_LENGTH_COUNT 0x0F
#define EFI_ATA_PASS_THRU_LENGTH_COUNT 0x0F
typedef struct {
///
@@ -112,12 +111,12 @@ typedef struct {
/// command. It must be aligned to the boundary specified in the IoAlign field
/// in the EFI_ATA_PASS_THRU_MODE structure.
///
EFI_ATA_STATUS_BLOCK *Asb;
EFI_ATA_STATUS_BLOCK *Asb;
///
/// A pointer to buffer that contains the Command Data Block to send to the ATA
/// device specified by Port and PortMultiplierPort.
///
EFI_ATA_COMMAND_BLOCK *Acb;
EFI_ATA_COMMAND_BLOCK *Acb;
///
/// The timeout, in 100 ns units, to use for the execution of this ATA command.
/// A Timeout value of 0 means that this function will wait indefinitely for the
@@ -125,7 +124,7 @@ typedef struct {
/// will return EFI_TIMEOUT if the time required to execute the ATA command is
/// greater than Timeout.
///
UINT64 Timeout;
UINT64 Timeout;
///
/// A pointer to the data buffer to transfer between the ATA controller and the
/// ATA device for read and bidirectional commands. For all write and non data
@@ -133,7 +132,7 @@ typedef struct {
/// If this field is not NULL, then it must be aligned on the boundary specified
/// by the IoAlign field in the EFI_ATA_PASS_THRU_MODE structure.
///
VOID *InDataBuffer;
VOID *InDataBuffer;
///
/// A pointer to the data buffer to transfer between the ATA controller and the
/// ATA device for write or bidirectional commands. For all read and non data
@@ -141,7 +140,7 @@ typedef struct {
/// If this field is not NULL, then it must be aligned on the boundary specified
/// by the IoAlign field in the EFI_ATA_PASS_THRU_MODE structure.
///
VOID *OutDataBuffer;
VOID *OutDataBuffer;
///
/// On input, the size, in bytes, of InDataBuffer. On output, the number of bytes
/// transferred between the ATA controller and the ATA device. If InTransferLength
@@ -149,7 +148,7 @@ typedef struct {
/// InTransferLength will be updated to contain the number of bytes that the ATA
/// controller is able to transfer, and EFI_BAD_BUFFER_SIZE will be returned.
///
UINT32 InTransferLength;
UINT32 InTransferLength;
///
/// On Input, the size, in bytes of OutDataBuffer. On Output, the Number of bytes
/// transferred between ATA Controller and the ATA device. If OutTransferLength is
@@ -157,18 +156,17 @@ typedef struct {
/// OutTransferLength will be updated to contain the number of bytes that the ATA
/// controller is able to transfer, and EFI_BAD_BUFFER_SIZE will be returned.
///
UINT32 OutTransferLength;
UINT32 OutTransferLength;
///
/// Specifies the protocol used when the ATA device executes the command.
///
EFI_ATA_PASS_THRU_CMD_PROTOCOL Protocol;
EFI_ATA_PASS_THRU_CMD_PROTOCOL Protocol;
///
/// Specifies the way in which the ATA command length is encoded.
///
EFI_ATA_PASS_THRU_LENGTH Length;
EFI_ATA_PASS_THRU_LENGTH Length;
} EFI_ATA_PASS_THRU_COMMAND_PACKET;
/**
Sends an ATA command to an ATA device that is attached to the ATA controller. This function
supports both blocking I/O and non-blocking I/O. The blocking I/O functionality is required,
@@ -453,16 +451,16 @@ EFI_STATUS
);
struct _EFI_ATA_PASS_THRU_PROTOCOL {
EFI_ATA_PASS_THRU_MODE *Mode;
EFI_ATA_PASS_THRU_PASSTHRU PassThru;
EFI_ATA_PASS_THRU_GET_NEXT_PORT GetNextPort;
EFI_ATA_PASS_THRU_GET_NEXT_DEVICE GetNextDevice;
EFI_ATA_PASS_THRU_BUILD_DEVICE_PATH BuildDevicePath;
EFI_ATA_PASS_THRU_GET_DEVICE GetDevice;
EFI_ATA_PASS_THRU_RESET_PORT ResetPort;
EFI_ATA_PASS_THRU_RESET_DEVICE ResetDevice;
EFI_ATA_PASS_THRU_MODE *Mode;
EFI_ATA_PASS_THRU_PASSTHRU PassThru;
EFI_ATA_PASS_THRU_GET_NEXT_PORT GetNextPort;
EFI_ATA_PASS_THRU_GET_NEXT_DEVICE GetNextDevice;
EFI_ATA_PASS_THRU_BUILD_DEVICE_PATH BuildDevicePath;
EFI_ATA_PASS_THRU_GET_DEVICE GetDevice;
EFI_ATA_PASS_THRU_RESET_PORT ResetPort;
EFI_ATA_PASS_THRU_RESET_DEVICE ResetDevice;
};
extern EFI_GUID gEfiAtaPassThruProtocolGuid;
extern EFI_GUID gEfiAtaPassThruProtocolGuid;
#endif

View File

@@ -33,41 +33,41 @@ typedef struct {
///
/// Authentication Type GUID.
///
EFI_GUID Guid;
EFI_GUID Guid;
///
/// Length of this structure in bytes.
///
UINT16 Length;
UINT16 Length;
} AUTH_NODE_HEADER;
typedef struct {
AUTH_NODE_HEADER Header;
AUTH_NODE_HEADER Header;
///
/// RADIUS Server IPv4 or IPv6 Address.
///
UINT8 RadiusIpAddr[16]; ///< IPv4 or IPv6 address.
UINT8 RadiusIpAddr[16]; ///< IPv4 or IPv6 address.
///
/// Reserved for future use.
///
UINT16 Reserved;
UINT16 Reserved;
///
/// Network Access Server IPv4 or IPv6 Address (OPTIONAL).
///
UINT8 NasIpAddr[16]; ///< IPv4 or IPv6 address.
UINT8 NasIpAddr[16]; ///< IPv4 or IPv6 address.
///
/// Network Access Server Secret Length in bytes (OPTIONAL).
///
UINT16 NasSecretLength;
UINT16 NasSecretLength;
///
/// Network Access Server Secret (OPTIONAL).
///
UINT8 NasSecret[1];
UINT8 NasSecret[1];
///
/// CHAP Initiator Secret Length in bytes on offset NasSecret + NasSecretLength.
@@ -105,22 +105,22 @@ typedef struct {
} CHAP_RADIUS_AUTH_NODE;
typedef struct {
AUTH_NODE_HEADER Header;
AUTH_NODE_HEADER Header;
///
/// Reserved for future use.
///
UINT16 Reserved;
UINT16 Reserved;
///
/// User Secret Length in bytes.
///
UINT16 UserSecretLength;
UINT16 UserSecretLength;
///
/// User Secret.
///
UINT8 UserSecret[1];
UINT8 UserSecret[1];
///
/// User Name Length in bytes on offset UserSecret + UserSecretLength.
@@ -220,12 +220,12 @@ EFI_STATUS
/// information associated with the physical or logical device.
///
struct _EFI_AUTHENTICATION_INFO_PROTOCOL {
EFI_AUTHENTICATION_INFO_PROTOCOL_GET Get;
EFI_AUTHENTICATION_INFO_PROTOCOL_SET Set;
EFI_AUTHENTICATION_INFO_PROTOCOL_GET Get;
EFI_AUTHENTICATION_INFO_PROTOCOL_SET Set;
};
extern EFI_GUID gEfiAuthenticationInfoProtocolGuid;
extern EFI_GUID gEfiAuthenticationChapRadiusGuid;
extern EFI_GUID gEfiAuthenticationChapLocalGuid;
extern EFI_GUID gEfiAuthenticationInfoProtocolGuid;
extern EFI_GUID gEfiAuthenticationChapRadiusGuid;
extern EFI_GUID gEfiAuthenticationChapLocalGuid;
#endif

View File

@@ -20,7 +20,7 @@
///
/// Declare forward reference for the BDS Architectural Protocol
///
typedef struct _EFI_BDS_ARCH_PROTOCOL EFI_BDS_ARCH_PROTOCOL;
typedef struct _EFI_BDS_ARCH_PROTOCOL EFI_BDS_ARCH_PROTOCOL;
/**
This function uses policy data from the platform to determine what operating
@@ -58,9 +58,9 @@ VOID
/// the boot device can be used to load and invoke an OS or a system utility.
///
struct _EFI_BDS_ARCH_PROTOCOL {
EFI_BDS_ENTRY Entry;
EFI_BDS_ENTRY Entry;
};
extern EFI_GUID gEfiBdsArchProtocolGuid;
extern EFI_GUID gEfiBdsArchProtocolGuid;
#endif

View File

@@ -29,32 +29,29 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
0xedd35e31, 0x7b9, 0x11d2, { 0x83,0xa3,0x0,0xa0,0xc9,0x1f,0xad,0xcf } \
}
typedef struct _EFI_BIS_PROTOCOL EFI_BIS_PROTOCOL;
typedef struct _EFI_BIS_PROTOCOL EFI_BIS_PROTOCOL;
//
// Basic types
//
typedef VOID *BIS_APPLICATION_HANDLE;
typedef UINT16 BIS_ALG_ID;
typedef UINT32 BIS_CERT_ID;
typedef VOID *BIS_APPLICATION_HANDLE;
typedef UINT16 BIS_ALG_ID;
typedef UINT32 BIS_CERT_ID;
///
/// EFI_BIS_DATA instances obtained from BIS must be freed by calling Free( ).
///
typedef struct {
UINT32 Length; ///< The length of Data in 8 bit bytes.
UINT8 *Data; ///< 32 Bit Flat Address of data.
UINT32 Length; ///< The length of Data in 8 bit bytes.
UINT8 *Data; ///< 32 Bit Flat Address of data.
} EFI_BIS_DATA;
///
/// EFI_BIS_VERSION type.
///
typedef struct {
UINT32 Major; ///< The major BIS version number.
UINT32 Minor; ///< A minor BIS version number.
UINT32 Major; ///< The major BIS version number.
UINT32 Minor; ///< A minor BIS version number.
} EFI_BIS_VERSION;
//
@@ -63,16 +60,16 @@ typedef struct {
// and to interpret results of Initialize.
// ----------------------------------------------------//
//
#define BIS_CURRENT_VERSION_MAJOR BIS_VERSION_1
#define BIS_VERSION_1 1
#define BIS_CURRENT_VERSION_MAJOR BIS_VERSION_1
#define BIS_VERSION_1 1
///
/// EFI_BIS_SIGNATURE_INFO type.
///
typedef struct {
BIS_CERT_ID CertificateID; ///< Truncated hash of platform Boot Object
BIS_ALG_ID AlgorithmID; ///< A signature algorithm number.
UINT16 KeyLength; ///< The length of alg. keys in bits.
BIS_CERT_ID CertificateID; ///< Truncated hash of platform Boot Object
BIS_ALG_ID AlgorithmID; ///< A signature algorithm number.
UINT16 KeyLength; ///< The length of alg. keys in bits.
} EFI_BIS_SIGNATURE_INFO;
///
@@ -80,13 +77,13 @@ typedef struct {
/// The exact numeric values come from the
/// "Common Data Security Architecture (CDSA) Specification".
///
#define BIS_ALG_DSA (41) // CSSM_ALGID_DSA
#define BIS_ALG_RSA_MD5 (42) // CSSM_ALGID_MD5_WITH_RSA
#define BIS_ALG_DSA (41) // CSSM_ALGID_DSA
#define BIS_ALG_RSA_MD5 (42) // CSSM_ALGID_MD5_WITH_RSA
///
/// values for EFI_BIS_SIGNATURE_INFO.CertificateId.
///
#define BIS_CERT_ID_DSA BIS_ALG_DSA // CSSM_ALGID_DSA
#define BIS_CERT_ID_RSA_MD5 BIS_ALG_RSA_MD5 // CSSM_ALGID_MD5_WITH_RSA
#define BIS_CERT_ID_DSA BIS_ALG_DSA // CSSM_ALGID_DSA
#define BIS_CERT_ID_RSA_MD5 BIS_ALG_RSA_MD5 // CSSM_ALGID_MD5_WITH_RSA
///
/// The mask value that gets applied to the truncated hash of a
/// platform Boot Object Authorization Certificate to create the certificateID.
@@ -102,13 +99,13 @@ typedef struct {
/// elements are contained in a EFI_BIS_DATA struct pointed to
/// by the provided EFI_BIS_DATA*.
///
#define BIS_GET_SIGINFO_COUNT(BisDataPtr) ((BisDataPtr)->Length / sizeof (EFI_BIS_SIGNATURE_INFO))
#define BIS_GET_SIGINFO_COUNT(BisDataPtr) ((BisDataPtr)->Length / sizeof (EFI_BIS_SIGNATURE_INFO))
///
/// BIS_GET_SIGINFO_ARRAY - produces a EFI_BIS_SIGNATURE_INFO*
/// from a given EFI_BIS_DATA*.
///
#define BIS_GET_SIGINFO_ARRAY(BisDataPtr) ((EFI_BIS_SIGNATURE_INFO *) (BisDataPtr)->Data)
#define BIS_GET_SIGINFO_ARRAY(BisDataPtr) ((EFI_BIS_SIGNATURE_INFO *) (BisDataPtr)->Data)
///
/// Support an old name for backward compatibility.
@@ -427,19 +424,19 @@ EFI_STATUS
/// certificate for the purpose of an integrity and authorization check.
///
struct _EFI_BIS_PROTOCOL {
EFI_BIS_INITIALIZE Initialize;
EFI_BIS_SHUTDOWN Shutdown;
EFI_BIS_FREE Free;
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CERTIFICATE GetBootObjectAuthorizationCertificate;
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CHECKFLAG GetBootObjectAuthorizationCheckFlag;
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_UPDATE_TOKEN GetBootObjectAuthorizationUpdateToken;
EFI_BIS_GET_SIGNATURE_INFO GetSignatureInfo;
EFI_BIS_UPDATE_BOOT_OBJECT_AUTHORIZATION UpdateBootObjectAuthorization;
EFI_BIS_VERIFY_BOOT_OBJECT VerifyBootObject;
EFI_BIS_VERIFY_OBJECT_WITH_CREDENTIAL VerifyObjectWithCredential;
EFI_BIS_INITIALIZE Initialize;
EFI_BIS_SHUTDOWN Shutdown;
EFI_BIS_FREE Free;
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CERTIFICATE GetBootObjectAuthorizationCertificate;
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CHECKFLAG GetBootObjectAuthorizationCheckFlag;
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_UPDATE_TOKEN GetBootObjectAuthorizationUpdateToken;
EFI_BIS_GET_SIGNATURE_INFO GetSignatureInfo;
EFI_BIS_UPDATE_BOOT_OBJECT_AUTHORIZATION UpdateBootObjectAuthorization;
EFI_BIS_VERIFY_BOOT_OBJECT VerifyBootObject;
EFI_BIS_VERIFY_OBJECT_WITH_CREDENTIAL VerifyObjectWithCredential;
};
extern EFI_GUID gEfiBisProtocolGuid;
extern EFI_GUID gBootObjectAuthorizationParmsetGuid;
extern EFI_GUID gEfiBisProtocolGuid;
extern EFI_GUID gBootObjectAuthorizationParmsetGuid;
#endif

View File

@@ -17,17 +17,17 @@
0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
}
typedef struct _EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL;
typedef struct _EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL;
///
/// Protocol GUID name defined in EFI1.1.
///
#define BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL_GUID
#define BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL_GUID
///
/// Protocol defined in EFI1.1.
///
typedef EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO;
typedef EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO;
/**
Reset the Block Device.
@@ -129,84 +129,84 @@ typedef struct {
///
/// The curent media Id. If the media changes, this value is changed.
///
UINT32 MediaId;
UINT32 MediaId;
///
/// TRUE if the media is removable; otherwise, FALSE.
///
BOOLEAN RemovableMedia;
BOOLEAN RemovableMedia;
///
/// TRUE if there is a media currently present in the device;
/// othersise, FALSE. THis field shows the media present status
/// as of the most recent ReadBlocks() or WriteBlocks() call.
///
BOOLEAN MediaPresent;
BOOLEAN MediaPresent;
///
/// TRUE if LBA 0 is the first block of a partition; otherwise
/// FALSE. For media with only one partition this would be TRUE.
///
BOOLEAN LogicalPartition;
BOOLEAN LogicalPartition;
///
/// TRUE if the media is marked read-only otherwise, FALSE.
/// This field shows the read-only status as of the most recent WriteBlocks () call.
///
BOOLEAN ReadOnly;
BOOLEAN ReadOnly;
///
/// TRUE if the WriteBlock () function caches write data.
///
BOOLEAN WriteCaching;
BOOLEAN WriteCaching;
///
/// The intrinsic block size of the device. If the media changes, then
/// this field is updated.
///
UINT32 BlockSize;
UINT32 BlockSize;
///
/// Supplies the alignment requirement for any buffer to read or write block(s).
///
UINT32 IoAlign;
UINT32 IoAlign;
///
/// The last logical block address on the device.
/// If the media changes, then this field is updated.
///
EFI_LBA LastBlock;
EFI_LBA LastBlock;
///
/// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
/// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the first LBA is aligned to
/// a physical block boundary.
///
EFI_LBA LowestAlignedLba;
EFI_LBA LowestAlignedLba;
///
/// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
/// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the number of logical blocks
/// per physical block.
///
UINT32 LogicalBlocksPerPhysicalBlock;
UINT32 LogicalBlocksPerPhysicalBlock;
///
/// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
/// EFI_BLOCK_IO_PROTOCOL_REVISION3. Returns the optimal transfer length
/// granularity as a number of logical blocks.
///
UINT32 OptimalTransferLengthGranularity;
UINT32 OptimalTransferLengthGranularity;
} EFI_BLOCK_IO_MEDIA;
#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
#define EFI_BLOCK_IO_PROTOCOL_REVISION2 0x00020001
#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x0002001F
#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
#define EFI_BLOCK_IO_PROTOCOL_REVISION2 0x00020001
#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x0002001F
///
/// Revision defined in EFI1.1.
///
#define EFI_BLOCK_IO_INTERFACE_REVISION EFI_BLOCK_IO_PROTOCOL_REVISION
#define EFI_BLOCK_IO_INTERFACE_REVISION EFI_BLOCK_IO_PROTOCOL_REVISION
///
/// This protocol provides control over block devices.
@@ -217,19 +217,18 @@ struct _EFI_BLOCK_IO_PROTOCOL {
/// revisions must be backwards compatible. If a future version is not
/// back wards compatible, it is not the same GUID.
///
UINT64 Revision;
UINT64 Revision;
///
/// Pointer to the EFI_BLOCK_IO_MEDIA data for this device.
///
EFI_BLOCK_IO_MEDIA *Media;
EFI_BLOCK_RESET Reset;
EFI_BLOCK_READ ReadBlocks;
EFI_BLOCK_WRITE WriteBlocks;
EFI_BLOCK_FLUSH FlushBlocks;
EFI_BLOCK_IO_MEDIA *Media;
EFI_BLOCK_RESET Reset;
EFI_BLOCK_READ ReadBlocks;
EFI_BLOCK_WRITE WriteBlocks;
EFI_BLOCK_FLUSH FlushBlocks;
};
extern EFI_GUID gEfiBlockIoProtocolGuid;
extern EFI_GUID gEfiBlockIoProtocolGuid;
#endif

View File

@@ -20,27 +20,25 @@
0xa77b2472, 0xe282, 0x4e9f, {0xa2, 0x45, 0xc2, 0xc0, 0xe2, 0x7b, 0xbc, 0xc1} \
}
typedef struct _EFI_BLOCK_IO2_PROTOCOL EFI_BLOCK_IO2_PROTOCOL;
typedef struct _EFI_BLOCK_IO2_PROTOCOL EFI_BLOCK_IO2_PROTOCOL;
/**
The struct of Block IO2 Token.
**/
typedef struct {
///
/// If Event is NULL, then blocking I/O is performed.If Event is not NULL and
/// non-blocking I/O is supported, then non-blocking I/O is performed, and
/// Event will be signaled when the read request is completed.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// Defines whether or not the signaled event encountered an error.
///
EFI_STATUS TransactionStatus;
EFI_STATUS TransactionStatus;
} EFI_BLOCK_IO2_TOKEN;
/**
Reset the block device hardware.
@@ -56,7 +54,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_RESET_EX) (
(EFIAPI *EFI_BLOCK_RESET_EX)(
IN EFI_BLOCK_IO2_PROTOCOL *This,
IN BOOLEAN ExtendedVerification
);
@@ -96,13 +94,13 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_READ_EX) (
(EFIAPI *EFI_BLOCK_READ_EX)(
IN EFI_BLOCK_IO2_PROTOCOL *This,
IN UINT32 MediaId,
IN EFI_LBA LBA,
IN OUT EFI_BLOCK_IO2_TOKEN *Token,
IN UINTN BufferSize,
OUT VOID *Buffer
OUT VOID *Buffer
);
/**
@@ -138,7 +136,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_WRITE_EX) (
(EFIAPI *EFI_BLOCK_WRITE_EX)(
IN EFI_BLOCK_IO2_PROTOCOL *This,
IN UINT32 MediaId,
IN EFI_LBA LBA,
@@ -171,7 +169,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_FLUSH_EX) (
(EFIAPI *EFI_BLOCK_FLUSH_EX)(
IN EFI_BLOCK_IO2_PROTOCOL *This,
IN OUT EFI_BLOCK_IO2_TOKEN *Token
);
@@ -186,15 +184,14 @@ struct _EFI_BLOCK_IO2_PROTOCOL {
/// A pointer to the EFI_BLOCK_IO_MEDIA data for this device.
/// Type EFI_BLOCK_IO_MEDIA is defined in BlockIo.h.
///
EFI_BLOCK_IO_MEDIA *Media;
EFI_BLOCK_IO_MEDIA *Media;
EFI_BLOCK_RESET_EX Reset;
EFI_BLOCK_READ_EX ReadBlocksEx;
EFI_BLOCK_WRITE_EX WriteBlocksEx;
EFI_BLOCK_FLUSH_EX FlushBlocksEx;
EFI_BLOCK_RESET_EX Reset;
EFI_BLOCK_READ_EX ReadBlocksEx;
EFI_BLOCK_WRITE_EX WriteBlocksEx;
EFI_BLOCK_FLUSH_EX FlushBlocksEx;
};
extern EFI_GUID gEfiBlockIo2ProtocolGuid;
extern EFI_GUID gEfiBlockIo2ProtocolGuid;
#endif

View File

@@ -20,7 +20,7 @@
0xa00490ba, 0x3f1a, 0x4b4c, {0xab, 0x90, 0x4f, 0xa9, 0x97, 0x26, 0xa1, 0xe8} \
}
typedef struct _EFI_BLOCK_IO_CRYPTO_PROTOCOL EFI_BLOCK_IO_CRYPTO_PROTOCOL;
typedef struct _EFI_BLOCK_IO_CRYPTO_PROTOCOL EFI_BLOCK_IO_CRYPTO_PROTOCOL;
///
/// The struct of Block I/O Crypto Token.
@@ -32,27 +32,27 @@ typedef struct {
// Event will be signaled when the read request is completed and data was
// decrypted (when Index was specified).
//
EFI_EVENT Event;
EFI_EVENT Event;
//
// Defines whether or not the signaled event encountered an error.
//
EFI_STATUS TransactionStatus;
EFI_STATUS TransactionStatus;
} EFI_BLOCK_IO_CRYPTO_TOKEN;
typedef struct {
//
// GUID of the algorithm.
//
EFI_GUID Algorithm;
EFI_GUID Algorithm;
//
// Specifies KeySizein bits used with this Algorithm.
//
UINT64 KeySize;
UINT64 KeySize;
//
// Specifies bitmask of block sizes supported by this algorithm.
// Bit j being set means that 2^j bytes crypto block size is supported.
//
UINT64 CryptoBlockSizeBitMask;
UINT64 CryptoBlockSizeBitMask;
} EFI_BLOCK_IO_CRYPTO_CAPABILITY;
///
@@ -63,7 +63,7 @@ typedef struct {
/// the Inline Cryptographic Interface.
///
typedef struct {
UINT64 InputSize;
UINT64 InputSize;
} EFI_BLOCK_IO_CRYPTO_IV_INPUT;
#define EFI_BLOCK_IO_CRYPTO_ALGO_GUID_AES_XTS \
@@ -71,12 +71,12 @@ typedef struct {
0x2f87ba6a, 0x5c04, 0x4385, {0xa7, 0x80, 0xf3, 0xbf, 0x78, 0xa9, 0x7b, 0xec} \
}
extern EFI_GUID gEfiBlockIoCryptoAlgoAesXtsGuid;
extern EFI_GUID gEfiBlockIoCryptoAlgoAesXtsGuid;
typedef struct {
EFI_BLOCK_IO_CRYPTO_IV_INPUT Header;
UINT64 CryptoBlockNumber;
UINT64 CryptoBlockByteSize;
EFI_BLOCK_IO_CRYPTO_IV_INPUT Header;
UINT64 CryptoBlockNumber;
UINT64 CryptoBlockByteSize;
} EFI_BLOCK_IO_CRYPTO_IV_INPUT_AES_XTS;
#define EFI_BLOCK_IO_CRYPTO_ALGO_GUID_AES_CBC_MICROSOFT_BITLOCKER \
@@ -84,33 +84,33 @@ typedef struct {
0x689e4c62, 0x70bf, 0x4cf3, {0x88, 0xbb, 0x33, 0xb3, 0x18, 0x26, 0x86, 0x70} \
}
extern EFI_GUID gEfiBlockIoCryptoAlgoAesCbcMsBitlockerGuid;
extern EFI_GUID gEfiBlockIoCryptoAlgoAesCbcMsBitlockerGuid;
typedef struct {
EFI_BLOCK_IO_CRYPTO_IV_INPUT Header;
UINT64 CryptoBlockByteOffset;
UINT64 CryptoBlockByteSize;
EFI_BLOCK_IO_CRYPTO_IV_INPUT Header;
UINT64 CryptoBlockByteOffset;
UINT64 CryptoBlockByteSize;
} EFI_BLOCK_IO_CRYPTO_IV_INPUT_AES_CBC_MICROSOFT_BITLOCKER;
#define EFI_BLOCK_IO_CRYPTO_INDEX_ANY 0xFFFFFFFFFFFFFFFF
#define EFI_BLOCK_IO_CRYPTO_INDEX_ANY 0xFFFFFFFFFFFFFFFF
typedef struct {
//
// Is inline cryptographic capability supported on this device.
//
BOOLEAN Supported;
BOOLEAN Supported;
//
// Maximum number of keys that can be configured at the same time.
//
UINT64 KeyCount;
UINT64 KeyCount;
//
// Number of supported capabilities.
//
UINT64 CapabilityCount;
UINT64 CapabilityCount;
//
// Array of supported capabilities.
//
EFI_BLOCK_IO_CRYPTO_CAPABILITY Capabilities[1];
EFI_BLOCK_IO_CRYPTO_CAPABILITY Capabilities[1];
} EFI_BLOCK_IO_CRYPTO_CAPABILITIES;
typedef struct {
@@ -118,38 +118,38 @@ typedef struct {
// Configuration table index. A special Index EFI_BLOCK_IO_CRYPTO_INDEX_ANY can be
// used to set any available entry in the configuration table.
//
UINT64 Index;
UINT64 Index;
//
// Identifies the owner of the configuration table entry. Entry can also be used
// with the Nil value to clear key from the configuration table index.
//
EFI_GUID KeyOwnerGuid;
EFI_GUID KeyOwnerGuid;
//
// A supported capability to be used. The CryptoBlockSizeBitMask field of the
// structure should have only one bit set from the supported mask.
//
EFI_BLOCK_IO_CRYPTO_CAPABILITY Capability;
EFI_BLOCK_IO_CRYPTO_CAPABILITY Capability;
//
// Pointer to the key. The size of the key is defined by the KeySize field of
// the capability specified by the Capability parameter.
//
VOID *CryptoKey;
VOID *CryptoKey;
} EFI_BLOCK_IO_CRYPTO_CONFIGURATION_TABLE_ENTRY;
typedef struct {
//
// Configuration table index.
//
UINT64 Index;
UINT64 Index;
//
// Identifies the current owner of the entry.
//
EFI_GUID KeyOwnerGuid;
EFI_GUID KeyOwnerGuid;
//
// The capability to be used. The CryptoBlockSizeBitMask field of the structure
// has only one bit set from the supported mask.
//
EFI_BLOCK_IO_CRYPTO_CAPABILITY Capability;
EFI_BLOCK_IO_CRYPTO_CAPABILITY Capability;
} EFI_BLOCK_IO_CRYPTO_RESPONSE_CONFIGURATION_ENTRY;
/**
@@ -179,7 +179,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_IO_CRYPTO_RESET) (
(EFIAPI *EFI_BLOCK_IO_CRYPTO_RESET)(
IN EFI_BLOCK_IO_CRYPTO_PROTOCOL *This,
IN BOOLEAN ExtendedVerification
);
@@ -212,9 +212,9 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_IO_CRYPTO_GET_CAPABILITIES) (
(EFIAPI *EFI_BLOCK_IO_CRYPTO_GET_CAPABILITIES)(
IN EFI_BLOCK_IO_CRYPTO_PROTOCOL *This,
OUT EFI_BLOCK_IO_CRYPTO_CAPABILITIES *Capabilities
OUT EFI_BLOCK_IO_CRYPTO_CAPABILITIES *Capabilities
);
/**
@@ -281,11 +281,11 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_IO_CRYPTO_SET_CONFIGURATION) (
(EFIAPI *EFI_BLOCK_IO_CRYPTO_SET_CONFIGURATION)(
IN EFI_BLOCK_IO_CRYPTO_PROTOCOL *This,
IN UINT64 ConfigurationCount,
IN EFI_BLOCK_IO_CRYPTO_CONFIGURATION_TABLE_ENTRY *ConfigurationTable,
OUT EFI_BLOCK_IO_CRYPTO_RESPONSE_CONFIGURATION_ENTRY *ResultingTable OPTIONAL
OUT EFI_BLOCK_IO_CRYPTO_RESPONSE_CONFIGURATION_ENTRY *ResultingTable OPTIONAL
);
/**
@@ -322,13 +322,13 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_IO_CRYPTO_GET_CONFIGURATION) (
(EFIAPI *EFI_BLOCK_IO_CRYPTO_GET_CONFIGURATION)(
IN EFI_BLOCK_IO_CRYPTO_PROTOCOL *This,
IN UINT64 StartIndex,
IN UINT64 ConfigurationCount,
IN EFI_GUID *KeyOwnerGuid OPTIONAL,
OUT EFI_BLOCK_IO_CRYPTO_RESPONSE_CONFIGURATION_ENTRY *ConfigurationTable
);
OUT EFI_BLOCK_IO_CRYPTO_RESPONSE_CONFIGURATION_ENTRY *ConfigurationTable
);
/**
Reads the requested number of blocks from the device and optionally decrypts
@@ -387,13 +387,13 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_IO_CRYPTO_READ_EXTENDED) (
(EFIAPI *EFI_BLOCK_IO_CRYPTO_READ_EXTENDED)(
IN EFI_BLOCK_IO_CRYPTO_PROTOCOL *This,
IN UINT32 MediaId,
IN EFI_LBA LBA,
IN OUT EFI_BLOCK_IO_CRYPTO_TOKEN *Token,
IN UINT64 BufferSize,
OUT VOID *Buffer,
OUT VOID *Buffer,
IN UINT64 *Index OPTIONAL,
IN VOID *CryptoIvInput OPTIONAL
);
@@ -453,7 +453,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_IO_CRYPTO_WRITE_EXTENDED) (
(EFIAPI *EFI_BLOCK_IO_CRYPTO_WRITE_EXTENDED)(
IN EFI_BLOCK_IO_CRYPTO_PROTOCOL *This,
IN UINT32 MediaId,
IN EFI_LBA LBA,
@@ -498,7 +498,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_IO_CRYPTO_FLUSH) (
(EFIAPI *EFI_BLOCK_IO_CRYPTO_FLUSH)(
IN EFI_BLOCK_IO_CRYPTO_PROTOCOL *This,
IN OUT EFI_BLOCK_IO_CRYPTO_TOKEN *Token
);
@@ -508,17 +508,16 @@ EFI_STATUS
/// drivers and applications to perform block encryption on a storage device, such as UFS.
///
struct _EFI_BLOCK_IO_CRYPTO_PROTOCOL {
EFI_BLOCK_IO_MEDIA *Media;
EFI_BLOCK_IO_CRYPTO_RESET Reset;
EFI_BLOCK_IO_CRYPTO_GET_CAPABILITIES GetCapabilities;
EFI_BLOCK_IO_CRYPTO_SET_CONFIGURATION SetConfiguration;
EFI_BLOCK_IO_CRYPTO_GET_CONFIGURATION GetConfiguration;
EFI_BLOCK_IO_CRYPTO_READ_EXTENDED ReadExtended;
EFI_BLOCK_IO_CRYPTO_WRITE_EXTENDED WriteExtended;
EFI_BLOCK_IO_CRYPTO_FLUSH FlushBlocks;
EFI_BLOCK_IO_MEDIA *Media;
EFI_BLOCK_IO_CRYPTO_RESET Reset;
EFI_BLOCK_IO_CRYPTO_GET_CAPABILITIES GetCapabilities;
EFI_BLOCK_IO_CRYPTO_SET_CONFIGURATION SetConfiguration;
EFI_BLOCK_IO_CRYPTO_GET_CONFIGURATION GetConfiguration;
EFI_BLOCK_IO_CRYPTO_READ_EXTENDED ReadExtended;
EFI_BLOCK_IO_CRYPTO_WRITE_EXTENDED WriteExtended;
EFI_BLOCK_IO_CRYPTO_FLUSH FlushBlocks;
};
extern EFI_GUID gEfiBlockIoCryptoProtocolGuid;
extern EFI_GUID gEfiBlockIoCryptoProtocolGuid;
#endif

View File

@@ -32,100 +32,99 @@ typedef struct _EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL EFI_BLUETOOTH_ATTRIBUTE_PROTOCO
// Bluetooth UUID
//
typedef struct {
UINT8 Length;
UINT8 Length;
union {
UINT16 Uuid16;
UINT32 Uuid32;
UINT8 Uuid128[16];
UINT16 Uuid16;
UINT32 Uuid32;
UINT8 Uuid128[16];
} Data;
} EFI_BLUETOOTH_UUID;
#define UUID_16BIT_TYPE_LEN 2
#define UUID_32BIT_TYPE_LEN 4
#define UUID_128BIT_TYPE_LEN 16
#define BLUETOOTH_IS_ATTRIBUTE_OF_TYPE(a,t) ((a)->Type.Length == UUID_16BIT_TYPE_LEN && (a)->Type.Data.Uuid16 == (t))
#define BLUETOOTH_IS_ATTRIBUTE_OF_TYPE(a, t) ((a)->Type.Length == UUID_16BIT_TYPE_LEN && (a)->Type.Data.Uuid16 == (t))
//
// Bluetooth Attribute Permission
//
typedef union {
struct {
UINT16 Readable : 1;
UINT16 ReadEncryption : 1;
UINT16 ReadAuthentication : 1;
UINT16 ReadAuthorization : 1;
UINT16 ReadKeySize : 5;
UINT16 Reserved1 : 7;
UINT16 Writeable : 1;
UINT16 WriteEncryption : 1;
UINT16 WriteAuthentication : 1;
UINT16 WriteAuthorization : 1;
UINT16 WriteKeySize : 5;
UINT16 Reserved2 : 7;
UINT16 Readable : 1;
UINT16 ReadEncryption : 1;
UINT16 ReadAuthentication : 1;
UINT16 ReadAuthorization : 1;
UINT16 ReadKeySize : 5;
UINT16 Reserved1 : 7;
UINT16 Writeable : 1;
UINT16 WriteEncryption : 1;
UINT16 WriteAuthentication : 1;
UINT16 WriteAuthorization : 1;
UINT16 WriteKeySize : 5;
UINT16 Reserved2 : 7;
} Permission;
UINT32 Data32;
UINT32 Data32;
} EFI_BLUETOOTH_ATTRIBUTE_PERMISSION;
typedef struct {
EFI_BLUETOOTH_UUID Type;
UINT16 Length;
UINT16 AttributeHandle;
EFI_BLUETOOTH_ATTRIBUTE_PERMISSION AttributePermission;
EFI_BLUETOOTH_UUID Type;
UINT16 Length;
UINT16 AttributeHandle;
EFI_BLUETOOTH_ATTRIBUTE_PERMISSION AttributePermission;
} EFI_BLUETOOTH_ATTRIBUTE_HEADER;
typedef struct {
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
UINT16 EndGroupHandle;
EFI_BLUETOOTH_UUID ServiceUuid;
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
UINT16 EndGroupHandle;
EFI_BLUETOOTH_UUID ServiceUuid;
} EFI_BLUETOOTH_GATT_PRIMARY_SERVICE_INFO;
typedef struct {
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
UINT16 StartGroupHandle;
UINT16 EndGroupHandle;
EFI_BLUETOOTH_UUID ServiceUuid;
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
UINT16 StartGroupHandle;
UINT16 EndGroupHandle;
EFI_BLUETOOTH_UUID ServiceUuid;
} EFI_BLUETOOTH_GATT_INCLUDE_SERVICE_INFO;
typedef struct {
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
UINT8 CharacteristicProperties;
UINT16 CharacteristicValueHandle;
EFI_BLUETOOTH_UUID CharacteristicUuid;
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
UINT8 CharacteristicProperties;
UINT16 CharacteristicValueHandle;
EFI_BLUETOOTH_UUID CharacteristicUuid;
} EFI_BLUETOOTH_GATT_CHARACTERISTIC_INFO;
typedef struct {
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
EFI_BLUETOOTH_UUID CharacteristicDescriptorUuid;
EFI_BLUETOOTH_ATTRIBUTE_HEADER Header;
EFI_BLUETOOTH_UUID CharacteristicDescriptorUuid;
} EFI_BLUETOOTH_GATT_CHARACTERISTIC_DESCRIPTOR_INFO;
#pragma pack()
typedef struct {
UINT16 AttributeHandle;
UINT16 AttributeHandle;
} EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER_NOTIFICATION;
typedef struct {
UINT16 AttributeHandle;
UINT16 AttributeHandle;
} EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER_INDICATION;
typedef struct {
UINT32 Version;
UINT8 AttributeOpCode;
UINT32 Version;
UINT8 AttributeOpCode;
union {
EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER_NOTIFICATION Notification;
EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER_INDICATION Indication;
EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER_NOTIFICATION Notification;
EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER_INDICATION Indication;
} Parameter;
} EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER;
typedef struct {
UINT32 Version;
BLUETOOTH_LE_ADDRESS BD_ADDR;
BLUETOOTH_LE_ADDRESS DirectAddress;
UINT8 RSSI;
UINTN AdvertisementDataSize;
VOID *AdvertisementData;
UINT32 Version;
BLUETOOTH_LE_ADDRESS BD_ADDR;
BLUETOOTH_LE_ADDRESS DirectAddress;
UINT8 RSSI;
UINTN AdvertisementDataSize;
VOID *AdvertisementData;
} EFI_BLUETOOTH_LE_DEVICE_INFO;
/**
@@ -143,7 +142,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_FUNCTION) (
(EFIAPI *EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_FUNCTION)(
IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This,
IN VOID *Data,
IN UINTN DataLength,
@@ -177,7 +176,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_ATTRIBUTE_SEND_REQUEST) (
(EFIAPI *EFI_BLUETOOTH_ATTRIBUTE_SEND_REQUEST)(
IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This,
IN VOID *Data,
IN UINTN DataLength,
@@ -263,15 +262,13 @@ EFI_STATUS
);
struct _EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL {
EFI_BLUETOOTH_ATTRIBUTE_SEND_REQUEST SendRequest;
EFI_BLUETOOTH_ATTRIBUTE_REGISTER_FOR_SERVER_NOTIFICATION RegisterForServerNotification;
EFI_BLUETOOTH_ATTRIBUTE_GET_SERVICE_INFO GetServiceInfo;
EFI_BLUETOOTH_ATTRIBUTE_GET_DEVICE_INFO GetDeviceInfo;
EFI_BLUETOOTH_ATTRIBUTE_SEND_REQUEST SendRequest;
EFI_BLUETOOTH_ATTRIBUTE_REGISTER_FOR_SERVER_NOTIFICATION RegisterForServerNotification;
EFI_BLUETOOTH_ATTRIBUTE_GET_SERVICE_INFO GetServiceInfo;
EFI_BLUETOOTH_ATTRIBUTE_GET_DEVICE_INFO GetDeviceInfo;
};
extern EFI_GUID gEfiBluetoothAttributeProtocolGuid;
extern EFI_GUID gEfiBluetoothAttributeServiceBindingProtocolGuid;
extern EFI_GUID gEfiBluetoothAttributeProtocolGuid;
extern EFI_GUID gEfiBluetoothAttributeServiceBindingProtocolGuid;
#endif

View File

@@ -22,9 +22,9 @@
typedef struct _EFI_BLUETOOTH_CONFIG_PROTOCOL EFI_BLUETOOTH_CONFIG_PROTOCOL;
typedef UINT32 EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_TYPE;
#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_CONNECTED 0x1
#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_PAIRED 0x2
typedef UINT32 EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_TYPE;
#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_CONNECTED 0x1
#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_PAIRED 0x2
///
/// EFI_BLUETOOTH_SCAN_CALLBACK_INFORMATION
@@ -33,19 +33,19 @@ typedef struct {
///
/// 48bit Bluetooth device address.
///
BLUETOOTH_ADDRESS BDAddr;
BLUETOOTH_ADDRESS BDAddr;
///
/// State of the remote deive
///
UINT8 RemoteDeviceState;
UINT8 RemoteDeviceState;
///
/// Bluetooth ClassOfDevice. See Bluetooth specification for detail.
///
BLUETOOTH_CLASS_OF_DEVICE ClassOfDevice;
BLUETOOTH_CLASS_OF_DEVICE ClassOfDevice;
///
/// Remote device name
///
UINT8 RemoteDeviceName[BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE];
UINT8 RemoteDeviceName[BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE];
} EFI_BLUETOOTH_SCAN_CALLBACK_INFORMATION;
///
@@ -85,19 +85,19 @@ typedef enum {
///
EfiBluetoothConfigDataTypeAvailableDeviceList,
EfiBluetoothConfigDataTypeRandomAddress, /* Relevant for LE*/
EfiBluetoothConfigDataTypeRSSI, /* Relevant for LE*/
EfiBluetoothConfigDataTypeRSSI, /* Relevant for LE*/
///
/// Advertisement report. Data structure is UNIT8[].
///
EfiBluetoothConfigDataTypeAdvertisementData, /* Relevant for LE*/
EfiBluetoothConfigDataTypeIoCapability, /* Relevant for LE*/
EfiBluetoothConfigDataTypeOOBDataFlag, /* Relevant for LE*/
EfiBluetoothConfigDataTypeIoCapability, /* Relevant for LE*/
EfiBluetoothConfigDataTypeOOBDataFlag, /* Relevant for LE*/
///
/// KeyType of Authentication Requirements flag of local
/// device as UINT8, indicating requested security properties.
/// See Bluetooth specification 3.H.3.5.1. BIT0: MITM, BIT1:SC.
///
EfiBluetoothConfigDataTypeKeyType, /* Relevant for LE*/
EfiBluetoothConfigDataTypeKeyType, /* Relevant for LE*/
EfiBluetoothConfigDataTypeEncKeySize, /* Relevant for LE*/
EfiBluetoothConfigDataTypeMax,
} EFI_BLUETOOTH_CONFIG_DATA_TYPE;
@@ -154,7 +154,6 @@ typedef enum {
EfiBluetoothConnCallbackTypeEncrypted
} EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE;
/**
Initialize Bluetooth host controller and local device.
@@ -183,7 +182,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_CONFIG_SCAN_CALLBACK_FUNCTION) (
(EFIAPI *EFI_BLUETOOTH_CONFIG_SCAN_CALLBACK_FUNCTION)(
IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This,
IN VOID *Context,
IN EFI_BLUETOOTH_SCAN_CALLBACK_INFORMATION *CallbackInfo
@@ -505,19 +504,19 @@ EFI_STATUS
/// This protocol abstracts user interface configuration for Bluetooth device.
///
struct _EFI_BLUETOOTH_CONFIG_PROTOCOL {
EFI_BLUETOOTH_CONFIG_INIT Init;
EFI_BLUETOOTH_CONFIG_SCAN Scan;
EFI_BLUETOOTH_CONFIG_CONNECT Connect;
EFI_BLUETOOTH_CONFIG_DISCONNECT Disconnect;
EFI_BLUETOOTH_CONFIG_GET_DATA GetData;
EFI_BLUETOOTH_CONFIG_SET_DATA SetData;
EFI_BLUETOOTH_CONFIG_GET_REMOTE_DATA GetRemoteData;
EFI_BLUETOOTH_CONFIG_REGISTER_PIN_CALLBACK RegisterPinCallback;
EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK RegisterGetLinkKeyCallback;
EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK RegisterSetLinkKeyCallback;
EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK RegisterLinkConnectCompleteCallback;
EFI_BLUETOOTH_CONFIG_INIT Init;
EFI_BLUETOOTH_CONFIG_SCAN Scan;
EFI_BLUETOOTH_CONFIG_CONNECT Connect;
EFI_BLUETOOTH_CONFIG_DISCONNECT Disconnect;
EFI_BLUETOOTH_CONFIG_GET_DATA GetData;
EFI_BLUETOOTH_CONFIG_SET_DATA SetData;
EFI_BLUETOOTH_CONFIG_GET_REMOTE_DATA GetRemoteData;
EFI_BLUETOOTH_CONFIG_REGISTER_PIN_CALLBACK RegisterPinCallback;
EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK RegisterGetLinkKeyCallback;
EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK RegisterSetLinkKeyCallback;
EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK RegisterLinkConnectCompleteCallback;
};
extern EFI_GUID gEfiBluetoothConfigProtocolGuid;
extern EFI_GUID gEfiBluetoothConfigProtocolGuid;
#endif

View File

@@ -110,7 +110,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK)(
IN VOID *Data,
IN UINTN DataLength,
IN VOID *Context
@@ -142,7 +142,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_RECEIVE_EVENT) (
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_RECEIVE_EVENT)(
IN EFI_BLUETOOTH_HC_PROTOCOL *This,
IN BOOLEAN IsNewTransfer,
IN UINTN PollingInterval,
@@ -255,7 +255,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_RECEIVE_ACL_DATA) (
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_RECEIVE_ACL_DATA)(
IN EFI_BLUETOOTH_HC_PROTOCOL *This,
IN BOOLEAN IsNewTransfer,
IN UINTN PollingInterval,
@@ -361,7 +361,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_RECEIVE_SCO_DATA) (
(EFIAPI *EFI_BLUETOOTH_HC_ASYNC_RECEIVE_SCO_DATA)(
IN EFI_BLUETOOTH_HC_PROTOCOL *This,
IN BOOLEAN IsNewTransfer,
IN UINTN PollingInterval,
@@ -377,42 +377,41 @@ struct _EFI_BLUETOOTH_HC_PROTOCOL {
//
// Send HCI command packet.
//
EFI_BLUETOOTH_HC_SEND_COMMAND SendCommand;
EFI_BLUETOOTH_HC_SEND_COMMAND SendCommand;
//
// Receive HCI event packets.
//
EFI_BLUETOOTH_HC_RECEIVE_EVENT ReceiveEvent;
EFI_BLUETOOTH_HC_RECEIVE_EVENT ReceiveEvent;
//
// Non-blocking receive HCI event packets.
//
EFI_BLUETOOTH_HC_ASYNC_RECEIVE_EVENT AsyncReceiveEvent;
EFI_BLUETOOTH_HC_ASYNC_RECEIVE_EVENT AsyncReceiveEvent;
//
// Send HCI ACL (asynchronous connection-oriented) data packets.
//
EFI_BLUETOOTH_HC_SEND_ACL_DATA SendACLData;
EFI_BLUETOOTH_HC_SEND_ACL_DATA SendACLData;
//
// Receive HCI ACL data packets.
//
EFI_BLUETOOTH_HC_RECEIVE_ACL_DATA ReceiveACLData;
EFI_BLUETOOTH_HC_RECEIVE_ACL_DATA ReceiveACLData;
//
// Non-blocking receive HCI ACL data packets.
//
EFI_BLUETOOTH_HC_ASYNC_RECEIVE_ACL_DATA AsyncReceiveACLData;
EFI_BLUETOOTH_HC_ASYNC_RECEIVE_ACL_DATA AsyncReceiveACLData;
//
// Send HCI synchronous (SCO and eSCO) data packets.
//
EFI_BLUETOOTH_HC_SEND_SCO_DATA SendSCOData;
EFI_BLUETOOTH_HC_SEND_SCO_DATA SendSCOData;
//
// Receive HCI synchronous data packets.
//
EFI_BLUETOOTH_HC_RECEIVE_SCO_DATA ReceiveSCOData;
EFI_BLUETOOTH_HC_RECEIVE_SCO_DATA ReceiveSCOData;
//
// Non-blocking receive HCI synchronous data packets.
//
EFI_BLUETOOTH_HC_ASYNC_RECEIVE_SCO_DATA AsyncReceiveSCOData;
EFI_BLUETOOTH_HC_ASYNC_RECEIVE_SCO_DATA AsyncReceiveSCOData;
};
extern EFI_GUID gEfiBluetoothHcProtocolGuid;
extern EFI_GUID gEfiBluetoothHcProtocolGuid;
#endif

View File

@@ -36,31 +36,31 @@ typedef struct {
///
/// The version of the structure
///
UINT32 Version;
UINT32 Version;
///
/// 48bit Bluetooth device address.
///
BLUETOOTH_ADDRESS BD_ADDR;
BLUETOOTH_ADDRESS BD_ADDR;
///
/// Bluetooth PageScanRepetitionMode. See Bluetooth specification for detail.
///
UINT8 PageScanRepetitionMode;
UINT8 PageScanRepetitionMode;
///
/// Bluetooth ClassOfDevice. See Bluetooth specification for detail.
///
BLUETOOTH_CLASS_OF_DEVICE ClassOfDevice;
BLUETOOTH_CLASS_OF_DEVICE ClassOfDevice;
///
/// Bluetooth CloseOffset. See Bluetooth specification for detail.
///
UINT16 ClockOffset;
UINT16 ClockOffset;
///
/// Bluetooth RSSI. See Bluetooth specification for detail.
///
UINT8 RSSI;
UINT8 RSSI;
///
/// Bluetooth ExtendedInquiryResponse. See Bluetooth specification for detail.
///
UINT8 ExtendedInquiryResponse[240];
UINT8 ExtendedInquiryResponse[240];
} EFI_BLUETOOTH_DEVICE_INFO;
/**
@@ -172,7 +172,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_IO_ASYNC_FUNC_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_IO_ASYNC_FUNC_CALLBACK)(
IN UINT16 ChannelID,
IN VOID *Data,
IN UINTN DataLength,
@@ -282,7 +282,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK)(
IN VOID *Data,
IN UINTN DataLength,
IN VOID *Context
@@ -311,7 +311,7 @@ EFI_STATUS
IN EFI_BLUETOOTH_IO_PROTOCOL *This,
IN EFI_HANDLE Handle,
IN EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK Callback,
IN VOID* Context
IN VOID *Context
);
/**
@@ -405,7 +405,7 @@ struct _EFI_BLUETOOTH_IO_PROTOCOL {
EFI_BLUETOOTH_IO_L2CAP_REGISTER_SERVICE L2CapRegisterService;
};
extern EFI_GUID gEfiBluetoothIoServiceBindingProtocolGuid;
extern EFI_GUID gEfiBluetoothIoProtocolGuid;
extern EFI_GUID gEfiBluetoothIoServiceBindingProtocolGuid;
extern EFI_GUID gEfiBluetoothIoProtocolGuid;
#endif

View File

@@ -47,38 +47,38 @@ typedef struct {
/// structure as defined here. Future version of this specification may extend this data structure in a
/// backward compatible way and increase the value of Version.
///
UINT32 Version;
UINT32 Version;
///
/// Passive scanning or active scanning. See Bluetooth specification.
///
UINT8 ScanType;
UINT8 ScanType;
///
/// Recommended scan interval to be used while performing scan.
///
UINT16 ScanInterval;
UINT16 ScanInterval;
///
/// Recommended scan window to be used while performing a scan.
///
UINT16 ScanWindow;
UINT16 ScanWindow;
///
/// Recommended scanning filter policy to be used while performing a scan.
///
UINT8 ScanningFilterPolicy;
UINT8 ScanningFilterPolicy;
///
/// This is one byte flag to serve as a filter to remove unneeded scan
/// result. For example, set BIT0 means scan in LE Limited Discoverable
/// Mode. Set BIT1 means scan in LE General Discoverable Mode.
///
UINT8 AdvertisementFlagFilter;
UINT8 AdvertisementFlagFilter;
} EFI_BLUETOOTH_LE_CONFIG_SCAN_PARAMETER;
typedef struct{
BLUETOOTH_LE_ADDRESS BDAddr;
BLUETOOTH_LE_ADDRESS DirectAddress;
UINT8 RemoteDeviceState;
INT8 RSSI;
UINTN AdvertisementDataSize;
VOID *AdvertisementData;
typedef struct {
BLUETOOTH_LE_ADDRESS BDAddr;
BLUETOOTH_LE_ADDRESS DirectAddress;
UINT8 RemoteDeviceState;
INT8 RSSI;
UINTN AdvertisementDataSize;
VOID *AdvertisementData;
} EFI_BLUETOOTH_LE_SCAN_CALLBACK_INFORMATION;
/**
@@ -93,7 +93,7 @@ typedef struct{
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_SCAN_CALLBACK_FUNCTION) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_SCAN_CALLBACK_FUNCTION)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN VOID *Context,
IN EFI_BLUETOOTH_LE_SCAN_CALLBACK_INFORMATION *CallbackInfo
@@ -141,31 +141,31 @@ typedef struct {
/// extend this data structure in a backward compatible way and
/// increase the value of Version.
///
UINT32 Version;
UINT32 Version;
///
/// Recommended scan interval to be used while performing scan before connect.
///
UINT16 ScanInterval;
UINT16 ScanInterval;
///
/// Recommended scan window to be used while performing a connection
///
UINT16 ScanWindow;
UINT16 ScanWindow;
///
/// Minimum allowed connection interval. Shall be less than or equal to ConnIntervalMax.
///
UINT16 ConnIntervalMin;
UINT16 ConnIntervalMin;
///
/// Maximum allowed connection interval. Shall be greater than or equal to ConnIntervalMin.
///
UINT16 ConnIntervalMax;
UINT16 ConnIntervalMax;
///
/// Slave latency for the connection in number of connection events.
///
UINT16 ConnLatency;
UINT16 ConnLatency;
///
/// Link supervision timeout for the connection.
///
UINT16 SupervisionTimeout;
UINT16 SupervisionTimeout;
} EFI_BLUETOOTH_LE_CONFIG_CONNECT_PARAMETER;
/**
@@ -250,7 +250,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_GET_DATA) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_GET_DATA)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType,
IN OUT UINTN *DataSize,
@@ -278,7 +278,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_SET_DATA) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_SET_DATA)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType,
IN UINTN DataSize,
@@ -309,7 +309,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_GET_REMOTE_DATA) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_GET_REMOTE_DATA)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType,
IN BLUETOOTH_LE_ADDRESS *BDAddr,
@@ -369,7 +369,7 @@ typedef enum {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_SMP_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_SMP_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN VOID *Context,
IN BLUETOOTH_LE_ADDRESS *BDAddr,
@@ -397,7 +397,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_REGISTER_SMP_AUTH_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_REGISTER_SMP_AUTH_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN EFI_BLUETOOTH_LE_SMP_CALLBACK Callback,
IN VOID *Context
@@ -423,7 +423,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_SEND_SMP_AUTH_DATA) (
(EFIAPI *EFI_BLUETOOTH_LE_SEND_SMP_AUTH_DATA)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN BLUETOOTH_LE_ADDRESS *BDAddr,
IN EFI_BLUETOOTH_LE_SMP_EVENT_DATA_TYPE EventDataType,
@@ -433,8 +433,8 @@ EFI_STATUS
typedef enum {
// For local device only
EfiBluetoothSmpLocalIR, /* If Key hierarchy is supported */
EfiBluetoothSmpLocalER, /* If Key hierarchy is supported */
EfiBluetoothSmpLocalIR, /* If Key hierarchy is supported */
EfiBluetoothSmpLocalER, /* If Key hierarchy is supported */
EfiBluetoothSmpLocalDHK, /* If Key hierarchy is supported. OPTIONAL */
// For peer specific
EfiBluetoothSmpKeysDistributed = 0x1000,
@@ -446,8 +446,8 @@ typedef enum {
EfiBluetoothSmpPeerRand,
EfiBluetoothSmpPeerEDIV,
EfiBluetoothSmpPeerSignCounter,
EfiBluetoothSmpLocalLTK, /* If Key hierarchy not supported */
EfiBluetoothSmpLocalIRK, /* If Key hierarchy not supported */
EfiBluetoothSmpLocalLTK, /* If Key hierarchy not supported */
EfiBluetoothSmpLocalIRK, /* If Key hierarchy not supported */
EfiBluetoothSmpLocalCSRK, /* If Key hierarchy not supported */
EfiBluetoothSmpLocalSignCounter,
EfiBluetoothSmpLocalDIV,
@@ -473,7 +473,7 @@ typedef enum {
**/
typedef
EFI_STATUS
(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SMP_GET_DATA_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_SMP_GET_DATA_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN VOID *Context,
IN BLUETOOTH_LE_ADDRESS *BDAddr,
@@ -499,7 +499,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_GET_DATA_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_GET_DATA_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN EFI_BLUETOOTH_LE_CONFIG_SMP_GET_DATA_CALLBACK Callback,
IN VOID *Context
@@ -521,7 +521,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SMP_SET_DATA_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_SMP_SET_DATA_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN VOID *Context,
IN BLUETOOTH_LE_ADDRESS *BDAddr,
@@ -547,7 +547,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_SET_DATA_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_SET_DATA_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN EFI_BLUETOOTH_LE_CONFIG_SMP_SET_DATA_CALLBACK Callback,
IN VOID *Context
@@ -569,7 +569,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_CONNECT_COMPLETE_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_CONNECT_COMPLETE_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN VOID *Context,
IN EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE CallbackType,
@@ -600,7 +600,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK) (
(EFIAPI *EFI_BLUETOOTH_LE_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK)(
IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This,
IN EFI_BLUETOOTH_LE_CONFIG_CONNECT_COMPLETE_CALLBACK Callback,
IN VOID *Context
@@ -610,20 +610,20 @@ EFI_STATUS
/// This protocol abstracts user interface configuration for BluetoothLe device.
///
struct _EFI_BLUETOOTH_LE_CONFIG_PROTOCOL {
EFI_BLUETOOTH_LE_CONFIG_INIT Init;
EFI_BLUETOOTH_LE_CONFIG_SCAN Scan;
EFI_BLUETOOTH_LE_CONFIG_CONNECT Connect;
EFI_BLUETOOTH_LE_CONFIG_DISCONNECT Disconnect;
EFI_BLUETOOTH_LE_CONFIG_GET_DATA GetData;
EFI_BLUETOOTH_LE_CONFIG_SET_DATA SetData;
EFI_BLUETOOTH_LE_CONFIG_GET_REMOTE_DATA GetRemoteData;
EFI_BLUETOOTH_LE_REGISTER_SMP_AUTH_CALLBACK RegisterSmpAuthCallback;
EFI_BLUETOOTH_LE_SEND_SMP_AUTH_DATA SendSmpAuthData;
EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_GET_DATA_CALLBACK RegisterSmpGetDataCallback;
EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_SET_DATA_CALLBACK RegisterSmpSetDataCallback;
EFI_BLUETOOTH_LE_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK RegisterLinkConnectCompleteCallback;
EFI_BLUETOOTH_LE_CONFIG_INIT Init;
EFI_BLUETOOTH_LE_CONFIG_SCAN Scan;
EFI_BLUETOOTH_LE_CONFIG_CONNECT Connect;
EFI_BLUETOOTH_LE_CONFIG_DISCONNECT Disconnect;
EFI_BLUETOOTH_LE_CONFIG_GET_DATA GetData;
EFI_BLUETOOTH_LE_CONFIG_SET_DATA SetData;
EFI_BLUETOOTH_LE_CONFIG_GET_REMOTE_DATA GetRemoteData;
EFI_BLUETOOTH_LE_REGISTER_SMP_AUTH_CALLBACK RegisterSmpAuthCallback;
EFI_BLUETOOTH_LE_SEND_SMP_AUTH_DATA SendSmpAuthData;
EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_GET_DATA_CALLBACK RegisterSmpGetDataCallback;
EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_SET_DATA_CALLBACK RegisterSmpSetDataCallback;
EFI_BLUETOOTH_LE_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK RegisterLinkConnectCompleteCallback;
};
extern EFI_GUID gEfiBluetoothLeConfigProtocolGuid;
extern EFI_GUID gEfiBluetoothLeConfigProtocolGuid;
#endif

View File

@@ -33,7 +33,7 @@
typedef struct _EFI_BOOT_MANAGER_POLICY_PROTOCOL EFI_BOOT_MANAGER_POLICY_PROTOCOL;
#define EFI_BOOT_MANAGER_POLICY_PROTOCOL_REVISION 0x00010000
#define EFI_BOOT_MANAGER_POLICY_PROTOCOL_REVISION 0x00010000
/**
Connect a device path following the platforms EFI Boot Manager policy.
@@ -118,15 +118,15 @@ EFI_STATUS
);
struct _EFI_BOOT_MANAGER_POLICY_PROTOCOL {
UINT64 Revision;
EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_PATH ConnectDevicePath;
EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_CLASS ConnectDeviceClass;
UINT64 Revision;
EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_PATH ConnectDevicePath;
EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_CLASS ConnectDeviceClass;
};
extern EFI_GUID gEfiBootManagerPolicyProtocolGuid;
extern EFI_GUID gEfiBootManagerPolicyProtocolGuid;
extern EFI_GUID gEfiBootManagerPolicyConsoleGuid;
extern EFI_GUID gEfiBootManagerPolicyNetworkGuid;
extern EFI_GUID gEfiBootManagerPolicyConnectAllGuid;
extern EFI_GUID gEfiBootManagerPolicyConsoleGuid;
extern EFI_GUID gEfiBootManagerPolicyNetworkGuid;
extern EFI_GUID gEfiBootManagerPolicyConnectAllGuid;
#endif

View File

@@ -22,7 +22,7 @@
0x3bc1b285, 0x8a15, 0x4a82, {0xaa, 0xbf, 0x4d, 0x7d, 0x13, 0xfb, 0x32, 0x65 } \
}
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
//
// Prototypes for the Bus Specific Driver Override Protocol
@@ -58,9 +58,9 @@ EFI_STATUS
/// drivers to controllers.
///
struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL {
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
};
extern EFI_GUID gEfiBusSpecificDriverOverrideProtocolGuid;
extern EFI_GUID gEfiBusSpecificDriverOverrideProtocolGuid;
#endif

View File

@@ -24,6 +24,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_CAPSULE_ARCH_PROTOCOL_GUID \
{ 0x5053697e, 0x2cbc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54 }}
extern EFI_GUID gEfiCapsuleArchProtocolGuid;
extern EFI_GUID gEfiCapsuleArchProtocolGuid;
#endif

View File

@@ -19,8 +19,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
0x107a772c, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
}
typedef struct _EFI_COMPONENT_NAME_PROTOCOL EFI_COMPONENT_NAME_PROTOCOL;
typedef struct _EFI_COMPONENT_NAME_PROTOCOL EFI_COMPONENT_NAME_PROTOCOL;
/**
Retrieves a Unicode string that is the user-readable name of the EFI Driver.
@@ -52,7 +51,6 @@ EFI_STATUS
OUT CHAR16 **DriverName
);
/**
Retrieves a Unicode string that is the user readable name of the controller
that is being managed by an EFI Driver.
@@ -108,16 +106,16 @@ EFI_STATUS
/// and controllers managed by UEFI Drivers.
///
struct _EFI_COMPONENT_NAME_PROTOCOL {
EFI_COMPONENT_NAME_GET_DRIVER_NAME GetDriverName;
EFI_COMPONENT_NAME_GET_CONTROLLER_NAME GetControllerName;
EFI_COMPONENT_NAME_GET_DRIVER_NAME GetDriverName;
EFI_COMPONENT_NAME_GET_CONTROLLER_NAME GetControllerName;
///
/// A Null-terminated ASCII string that contains one or more
/// ISO 639-2 language codes. This is the list of language codes
/// that this protocol supports.
///
CHAR8 *SupportedLanguages;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiComponentNameProtocolGuid;
extern EFI_GUID gEfiComponentNameProtocolGuid;
#endif

View File

@@ -17,8 +17,7 @@
#define EFI_COMPONENT_NAME2_PROTOCOL_GUID \
{0x6a7a5cff, 0xe8d9, 0x4f70, { 0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14 } }
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
/**
Retrieves a string that is the user readable name of
@@ -64,7 +63,6 @@ EFI_STATUS
OUT CHAR16 **DriverName
);
/**
Retrieves a string that is the user readable name of
the controller that is being managed by an EFI Driver.
@@ -148,8 +146,8 @@ EFI_STATUS
/// and controllers managed by UEFI Drivers.
///
struct _EFI_COMPONENT_NAME2_PROTOCOL {
EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName;
EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName;
EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName;
EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName;
///
/// A Null-terminated ASCII string array that contains one or more
@@ -158,9 +156,9 @@ struct _EFI_COMPONENT_NAME2_PROTOCOL {
/// driver is up to the driver writer. SupportedLanguages is
/// specified in RFC 4646 format.
///
CHAR8 *SupportedLanguages;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiComponentName2ProtocolGuid;
extern EFI_GUID gEfiComponentName2ProtocolGuid;
#endif

View File

@@ -16,7 +16,7 @@
#define EFI_CPU_ARCH_PROTOCOL_GUID \
{ 0x26baccb1, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
typedef struct _EFI_CPU_ARCH_PROTOCOL EFI_CPU_ARCH_PROTOCOL;
typedef struct _EFI_CPU_ARCH_PROTOCOL EFI_CPU_ARCH_PROTOCOL;
///
/// The type of flush operation
@@ -90,7 +90,6 @@ EFI_STATUS
IN EFI_CPU_FLUSH_TYPE FlushType
);
/**
This function enables interrupt processing by the processor.
@@ -106,7 +105,6 @@ EFI_STATUS
IN EFI_CPU_ARCH_PROTOCOL *This
);
/**
This function disables interrupt processing by the processor.
@@ -122,7 +120,6 @@ EFI_STATUS
IN EFI_CPU_ARCH_PROTOCOL *This
);
/**
This function retrieves the processor's current interrupt state a returns it in
State. If interrupts are currently enabled, then TRUE is returned. If interrupts
@@ -143,7 +140,6 @@ EFI_STATUS
OUT BOOLEAN *State
);
/**
This function generates an INIT on the processor. If this function succeeds, then the
processor will be reset, and control will not be returned to the caller. If InitType is
@@ -167,7 +163,6 @@ EFI_STATUS
IN EFI_CPU_INIT_TYPE InitType
);
/**
This function registers and enables the handler specified by InterruptHandler for a processor
interrupt or exception type specified by InterruptType. If InterruptHandler is NULL, then the
@@ -197,7 +192,6 @@ EFI_STATUS
IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler
);
/**
This function reads the processor timer specified by TimerIndex and returns it in TimerValue.
@@ -224,7 +218,6 @@ EFI_STATUS
OUT UINT64 *TimerPeriod OPTIONAL
);
/**
This function modifies the attributes for the memory region specified by BaseAddress and
Length from their current attributes to the attributes specified by Attributes.
@@ -257,7 +250,6 @@ EFI_STATUS
IN UINT64 Attributes
);
///
/// The EFI_CPU_ARCH_PROTOCOL is used to abstract processor-specific functions from the DXE
/// Foundation. This includes flushing caches, enabling and disabling interrupts, hooking interrupt
@@ -265,20 +257,20 @@ EFI_STATUS
/// determining the processor frequency.
///
struct _EFI_CPU_ARCH_PROTOCOL {
EFI_CPU_FLUSH_DATA_CACHE FlushDataCache;
EFI_CPU_ENABLE_INTERRUPT EnableInterrupt;
EFI_CPU_DISABLE_INTERRUPT DisableInterrupt;
EFI_CPU_GET_INTERRUPT_STATE GetInterruptState;
EFI_CPU_INIT Init;
EFI_CPU_REGISTER_INTERRUPT_HANDLER RegisterInterruptHandler;
EFI_CPU_GET_TIMER_VALUE GetTimerValue;
EFI_CPU_SET_MEMORY_ATTRIBUTES SetMemoryAttributes;
EFI_CPU_FLUSH_DATA_CACHE FlushDataCache;
EFI_CPU_ENABLE_INTERRUPT EnableInterrupt;
EFI_CPU_DISABLE_INTERRUPT DisableInterrupt;
EFI_CPU_GET_INTERRUPT_STATE GetInterruptState;
EFI_CPU_INIT Init;
EFI_CPU_REGISTER_INTERRUPT_HANDLER RegisterInterruptHandler;
EFI_CPU_GET_TIMER_VALUE GetTimerValue;
EFI_CPU_SET_MEMORY_ATTRIBUTES SetMemoryAttributes;
///
/// The number of timers that are available in a processor. The value in this
/// field is a constant that must not be modified after the CPU Architectural
/// Protocol is installed. All consumers must treat this as a read-only field.
///
UINT32 NumberOfTimers;
UINT32 NumberOfTimers;
///
/// The size, in bytes, of the alignment required for DMA buffer allocations.
/// This is typically the size of the largest data cache line in the platform.
@@ -286,9 +278,9 @@ struct _EFI_CPU_ARCH_PROTOCOL {
/// CPU Architectural Protocol is installed. All consumers must treat this as
/// a read-only field.
///
UINT32 DmaBufferAlignment;
UINT32 DmaBufferAlignment;
};
extern EFI_GUID gEfiCpuArchProtocolGuid;
extern EFI_GUID gEfiCpuArchProtocolGuid;
#endif

View File

@@ -109,11 +109,11 @@ typedef struct {
///
/// This service provides the various modalities of memory and I/O read.
///
EFI_CPU_IO_PROTOCOL_IO_MEM Read;
EFI_CPU_IO_PROTOCOL_IO_MEM Read;
///
/// This service provides the various modalities of memory and I/O write.
///
EFI_CPU_IO_PROTOCOL_IO_MEM Write;
EFI_CPU_IO_PROTOCOL_IO_MEM Write;
} EFI_CPU_IO_PROTOCOL_ACCESS;
///
@@ -124,13 +124,13 @@ struct _EFI_CPU_IO2_PROTOCOL {
///
/// Enables a driver to access memory-mapped registers in the EFI system memory space.
///
EFI_CPU_IO_PROTOCOL_ACCESS Mem;
EFI_CPU_IO_PROTOCOL_ACCESS Mem;
///
/// Enables a driver to access registers in the EFI CPU I/O space.
///
EFI_CPU_IO_PROTOCOL_ACCESS Io;
EFI_CPU_IO_PROTOCOL_ACCESS Io;
};
extern EFI_GUID gEfiCpuIo2ProtocolGuid;
extern EFI_GUID gEfiCpuIo2ProtocolGuid;
#endif

View File

@@ -12,7 +12,6 @@
#ifndef __DEBUG_PORT_H__
#define __DEBUG_PORT_H__
///
/// DebugPortIo protocol {EBA4E8D2-3858-41EC-A281-2647BA9660D0}
///
@@ -21,7 +20,7 @@
0xEBA4E8D2, 0x3858, 0x41EC, {0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 } \
}
extern EFI_GUID gEfiDebugPortProtocolGuid;
extern EFI_GUID gEfiDebugPortProtocolGuid;
typedef struct _EFI_DEBUGPORT_PROTOCOL EFI_DEBUGPORT_PROTOCOL;
@@ -111,30 +110,30 @@ EFI_STATUS
/// This protocol provides the communication link between the debug agent and the remote host.
///
struct _EFI_DEBUGPORT_PROTOCOL {
EFI_DEBUGPORT_RESET Reset;
EFI_DEBUGPORT_WRITE Write;
EFI_DEBUGPORT_READ Read;
EFI_DEBUGPORT_POLL Poll;
EFI_DEBUGPORT_RESET Reset;
EFI_DEBUGPORT_WRITE Write;
EFI_DEBUGPORT_READ Read;
EFI_DEBUGPORT_POLL Poll;
};
//
// DEBUGPORT variable definitions...
//
#define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"
#define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID
#define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"
#define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID
extern EFI_GUID gEfiDebugPortVariableGuid;
//
// DebugPort device path definitions...
//
#define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
#define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
extern EFI_GUID gEfiDebugPortDevicePathGuid;
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
EFI_GUID Guid;
EFI_DEVICE_PATH_PROTOCOL Header;
EFI_GUID Guid;
} DEBUGPORT_DEVICE_PATH;
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,7 @@
0xd8117cfe, 0x94a6, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
}
typedef struct _EFI_DECOMPRESS_PROTOCOL EFI_DECOMPRESS_PROTOCOL;
typedef struct _EFI_DECOMPRESS_PROTOCOL EFI_DECOMPRESS_PROTOCOL;
/**
The GetInfo() function retrieves the size of the uncompressed buffer
@@ -107,10 +107,10 @@ EFI_STATUS
/// Provides a decompression service.
///
struct _EFI_DECOMPRESS_PROTOCOL {
EFI_DECOMPRESS_GET_INFO GetInfo;
EFI_DECOMPRESS_DECOMPRESS Decompress;
EFI_DECOMPRESS_GET_INFO GetInfo;
EFI_DECOMPRESS_DECOMPRESS Decompress;
};
extern EFI_GUID gEfiDecompressProtocolGuid;
extern EFI_GUID gEfiDecompressProtocolGuid;
#endif

View File

@@ -22,7 +22,7 @@
0x15853d7c, 0x3ddf, 0x43e0, { 0xa1, 0xcb, 0xeb, 0xf8, 0x5b, 0x8f, 0x87, 0x2c } \
};
typedef struct _EFI_DEFERRED_IMAGE_LOAD_PROTOCOL EFI_DEFERRED_IMAGE_LOAD_PROTOCOL;
typedef struct _EFI_DEFERRED_IMAGE_LOAD_PROTOCOL EFI_DEFERRED_IMAGE_LOAD_PROTOCOL;
/**
Returns information about a deferred image.
@@ -66,9 +66,9 @@ EFI_STATUS
/// This protocol returns information about a deferred image.
///
struct _EFI_DEFERRED_IMAGE_LOAD_PROTOCOL {
EFI_DEFERRED_IMAGE_INFO GetImageInfo;
EFI_DEFERRED_IMAGE_INFO GetImageInfo;
};
extern EFI_GUID gEfiDeferredImageLoadProtocolGuid;
extern EFI_GUID gEfiDeferredImageLoadProtocolGuid;
#endif

View File

@@ -27,7 +27,7 @@ typedef struct _EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_PROTOCOL;
///
/// Protocol defined in EFI1.1.
///
typedef EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_INTERFACE;
typedef EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_INTERFACE;
///
/// Device IO Access Width
@@ -76,8 +76,8 @@ EFI_STATUS
);
typedef struct {
EFI_DEVICE_IO Read;
EFI_DEVICE_IO Write;
EFI_DEVICE_IO Read;
EFI_DEVICE_IO Write;
} EFI_IO_ACCESS;
/**
@@ -240,23 +240,23 @@ struct _EFI_DEVICE_IO_PROTOCOL {
///
/// Allows reads and writes to memory mapped I/O space.
///
EFI_IO_ACCESS Mem;
EFI_IO_ACCESS Mem;
///
/// Allows reads and writes to I/O space.
///
EFI_IO_ACCESS Io;
EFI_IO_ACCESS Io;
///
/// Allows reads and writes to PCI configuration space.
///
EFI_IO_ACCESS Pci;
EFI_IO_MAP Map;
EFI_PCI_DEVICE_PATH PciDevicePath;
EFI_IO_UNMAP Unmap;
EFI_IO_ALLOCATE_BUFFER AllocateBuffer;
EFI_IO_FLUSH Flush;
EFI_IO_FREE_BUFFER FreeBuffer;
EFI_IO_ACCESS Pci;
EFI_IO_MAP Map;
EFI_PCI_DEVICE_PATH PciDevicePath;
EFI_IO_UNMAP Unmap;
EFI_IO_ALLOCATE_BUFFER AllocateBuffer;
EFI_IO_FLUSH Flush;
EFI_IO_FREE_BUFFER FreeBuffer;
};
extern EFI_GUID gEfiDeviceIoProtocolGuid;
extern EFI_GUID gEfiDeviceIoProtocolGuid;
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -30,12 +30,11 @@
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_NODE)(
IN CONST CHAR16 *TextDeviceNode
);
/**
Convert text to the binary representation of a device node.
@@ -48,7 +47,7 @@ EFI_DEVICE_PATH_PROTOCOL*
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_PATH)(
IN CONST CHAR16 *TextDevicePath
);
@@ -57,10 +56,10 @@ EFI_DEVICE_PATH_PROTOCOL*
/// This protocol converts text to device paths and device nodes.
///
typedef struct {
EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;
EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath;
EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;
EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath;
} EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL;
extern EFI_GUID gEfiDevicePathFromTextProtocolGuid;
extern EFI_GUID gEfiDevicePathFromTextProtocolGuid;
#endif

View File

@@ -34,7 +34,7 @@
**/
typedef
CHAR16*
CHAR16 *
(EFIAPI *EFI_DEVICE_PATH_TO_TEXT_NODE)(
IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode,
IN BOOLEAN DisplayOnly,
@@ -57,7 +57,7 @@ CHAR16*
**/
typedef
CHAR16*
CHAR16 *
(EFIAPI *EFI_DEVICE_PATH_TO_TEXT_PATH)(
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
IN BOOLEAN DisplayOnly,
@@ -68,12 +68,10 @@ CHAR16*
/// This protocol converts device paths and device nodes to text.
///
typedef struct {
EFI_DEVICE_PATH_TO_TEXT_NODE ConvertDeviceNodeToText;
EFI_DEVICE_PATH_TO_TEXT_PATH ConvertDevicePathToText;
EFI_DEVICE_PATH_TO_TEXT_NODE ConvertDeviceNodeToText;
EFI_DEVICE_PATH_TO_TEXT_PATH ConvertDevicePathToText;
} EFI_DEVICE_PATH_TO_TEXT_PROTOCOL;
extern EFI_GUID gEfiDevicePathToTextProtocolGuid;
extern EFI_GUID gEfiDevicePathToTextProtocolGuid;
#endif

View File

@@ -33,7 +33,6 @@ UINTN
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
);
/**
Create a duplicate of the specified path.
@@ -44,7 +43,7 @@ UINTN
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH)(
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
);
@@ -63,7 +62,7 @@ EFI_DEVICE_PATH_PROTOCOL*
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_PATH)(
IN CONST EFI_DEVICE_PATH_PROTOCOL *Src1,
IN CONST EFI_DEVICE_PATH_PROTOCOL *Src2
@@ -83,7 +82,7 @@ EFI_DEVICE_PATH_PROTOCOL*
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_NODE)(
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode
@@ -100,7 +99,7 @@ EFI_DEVICE_PATH_PROTOCOL*
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE)(
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance
@@ -123,7 +122,7 @@ EFI_DEVICE_PATH_PROTOCOL*
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE)(
IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePathInstance,
OUT UINTN *DevicePathInstanceSize
@@ -145,12 +144,12 @@ EFI_DEVICE_PATH_PROTOCOL*
**/
typedef
EFI_DEVICE_PATH_PROTOCOL*
EFI_DEVICE_PATH_PROTOCOL *
(EFIAPI *EFI_DEVICE_PATH_UTILS_CREATE_NODE)(
IN UINT8 NodeType,
IN UINT8 NodeSubType,
IN UINT16 NodeLength
);
);
/**
Returns whether a device path is multi-instance.
@@ -171,16 +170,16 @@ BOOLEAN
/// This protocol is used to creates and manipulates device paths and device nodes.
///
typedef struct {
EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;
EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH DuplicateDevicePath;
EFI_DEVICE_PATH_UTILS_APPEND_PATH AppendDevicePath;
EFI_DEVICE_PATH_UTILS_APPEND_NODE AppendDeviceNode;
EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE AppendDevicePathInstance;
EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE GetNextDevicePathInstance;
EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE IsDevicePathMultiInstance;
EFI_DEVICE_PATH_UTILS_CREATE_NODE CreateDeviceNode;
EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;
EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH DuplicateDevicePath;
EFI_DEVICE_PATH_UTILS_APPEND_PATH AppendDevicePath;
EFI_DEVICE_PATH_UTILS_APPEND_NODE AppendDeviceNode;
EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE AppendDevicePathInstance;
EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE GetNextDevicePathInstance;
EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE IsDevicePathMultiInstance;
EFI_DEVICE_PATH_UTILS_CREATE_NODE CreateDeviceNode;
} EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
extern EFI_GUID gEfiDevicePathUtilitiesProtocolGuid;
extern EFI_GUID gEfiDevicePathUtilitiesProtocolGuid;
#endif

View File

@@ -27,151 +27,146 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
typedef struct _EFI_DHCP4_PROTOCOL EFI_DHCP4_PROTOCOL;
#pragma pack(1)
typedef struct {
///
/// DHCP option code.
///
UINT8 OpCode;
UINT8 OpCode;
///
/// Length of the DHCP option data. Not present if OpCode is 0 or 255.
///
UINT8 Length;
UINT8 Length;
///
/// Start of the DHCP option data. Not present if OpCode is 0 or 255 or if Length is zero.
///
UINT8 Data[1];
UINT8 Data[1];
} EFI_DHCP4_PACKET_OPTION;
#pragma pack()
#pragma pack(1)
///
/// EFI_DHCP4_PACKET defines the format of DHCPv4 packets. See RFC 2131 for more information.
///
typedef struct {
UINT8 OpCode;
UINT8 HwType;
UINT8 HwAddrLen;
UINT8 Hops;
UINT32 Xid;
UINT16 Seconds;
UINT16 Reserved;
EFI_IPv4_ADDRESS ClientAddr; ///< Client IP address from client.
EFI_IPv4_ADDRESS YourAddr; ///< Client IP address from server.
EFI_IPv4_ADDRESS ServerAddr; ///< IP address of next server in bootstrap.
EFI_IPv4_ADDRESS GatewayAddr; ///< Relay agent IP address.
UINT8 ClientHwAddr[16]; ///< Client hardware address.
CHAR8 ServerName[64];
CHAR8 BootFileName[128];
}EFI_DHCP4_HEADER;
UINT8 OpCode;
UINT8 HwType;
UINT8 HwAddrLen;
UINT8 Hops;
UINT32 Xid;
UINT16 Seconds;
UINT16 Reserved;
EFI_IPv4_ADDRESS ClientAddr; ///< Client IP address from client.
EFI_IPv4_ADDRESS YourAddr; ///< Client IP address from server.
EFI_IPv4_ADDRESS ServerAddr; ///< IP address of next server in bootstrap.
EFI_IPv4_ADDRESS GatewayAddr; ///< Relay agent IP address.
UINT8 ClientHwAddr[16]; ///< Client hardware address.
CHAR8 ServerName[64];
CHAR8 BootFileName[128];
} EFI_DHCP4_HEADER;
#pragma pack()
#pragma pack(1)
typedef struct {
///
/// Size of the EFI_DHCP4_PACKET buffer.
///
UINT32 Size;
UINT32 Size;
///
/// Length of the EFI_DHCP4_PACKET from the first byte of the Header field
/// to the last byte of the Option[] field.
///
UINT32 Length;
UINT32 Length;
struct {
///
/// DHCP packet header.
///
EFI_DHCP4_HEADER Header;
EFI_DHCP4_HEADER Header;
///
/// DHCP magik cookie in network byte order.
///
UINT32 Magik;
UINT32 Magik;
///
/// Start of the DHCP packed option data.
///
UINT8 Option[1];
UINT8 Option[1];
} Dhcp4;
} EFI_DHCP4_PACKET;
#pragma pack()
typedef enum {
///
/// The EFI DHCPv4 Protocol driver is stopped.
///
Dhcp4Stopped = 0x0,
Dhcp4Stopped = 0x0,
///
/// The EFI DHCPv4 Protocol driver is inactive.
///
Dhcp4Init = 0x1,
Dhcp4Init = 0x1,
///
/// The EFI DHCPv4 Protocol driver is collecting DHCP offer packets from DHCP servers.
///
Dhcp4Selecting = 0x2,
Dhcp4Selecting = 0x2,
///
/// The EFI DHCPv4 Protocol driver has sent the request to the DHCP server and is waiting for a response.
///
Dhcp4Requesting = 0x3,
Dhcp4Requesting = 0x3,
///
/// The DHCP configuration has completed.
///
Dhcp4Bound = 0x4,
Dhcp4Bound = 0x4,
///
/// The DHCP configuration is being renewed and another request has
/// been sent out, but it has not received a response from the server yet.
///
Dhcp4Renewing = 0x5,
Dhcp4Renewing = 0x5,
///
/// The DHCP configuration has timed out and the EFI DHCPv4
/// Protocol driver is trying to extend the lease time.
///
Dhcp4Rebinding = 0x6,
Dhcp4Rebinding = 0x6,
///
/// The EFI DHCPv4 Protocol driver was initialized with a previously
/// allocated or known IP address.
///
Dhcp4InitReboot = 0x7,
Dhcp4InitReboot = 0x7,
///
/// The EFI DHCPv4 Protocol driver is seeking to reuse the previously
/// allocated IP address by sending a request to the DHCP server.
///
Dhcp4Rebooting = 0x8
Dhcp4Rebooting = 0x8
} EFI_DHCP4_STATE;
typedef enum{
typedef enum {
///
/// The packet to start the configuration sequence is about to be sent.
///
Dhcp4SendDiscover = 0x01,
Dhcp4SendDiscover = 0x01,
///
/// A reply packet was just received.
///
Dhcp4RcvdOffer = 0x02,
Dhcp4RcvdOffer = 0x02,
///
/// It is time for Dhcp4Callback to select an offer.
///
Dhcp4SelectOffer = 0x03,
Dhcp4SelectOffer = 0x03,
///
/// A request packet is about to be sent.
///
Dhcp4SendRequest = 0x04,
Dhcp4SendRequest = 0x04,
///
/// A DHCPACK packet was received and will be passed to Dhcp4Callback.
///
Dhcp4RcvdAck = 0x05,
Dhcp4RcvdAck = 0x05,
///
/// A DHCPNAK packet was received and will be passed to Dhcp4Callback.
///
Dhcp4RcvdNak = 0x06,
Dhcp4RcvdNak = 0x06,
///
/// A decline packet is about to be sent.
///
Dhcp4SendDecline = 0x07,
Dhcp4SendDecline = 0x07,
///
/// The DHCP configuration process has completed. No packet is associated with this event.
///
@@ -180,7 +175,7 @@ typedef enum{
/// It is time to enter the Dhcp4Renewing state and to contact the server
/// that originally issued the network address. No packet is associated with this event.
///
Dhcp4EnterRenewing = 0x09,
Dhcp4EnterRenewing = 0x09,
///
/// It is time to enter the Dhcp4Rebinding state and to contact any server.
/// No packet is associated with this event.
@@ -191,13 +186,13 @@ typedef enum{
/// the user released the configuration, or a DHCPNAK packet was received in
/// the Dhcp4Renewing or Dhcp4Rebinding state. No packet is associated with this event.
///
Dhcp4AddressLost = 0x0b,
Dhcp4AddressLost = 0x0b,
///
/// The DHCP process failed because a DHCPNAK packet was received or the user
/// aborted the DHCP process at a time when the configuration was not available yet.
/// No packet is associated with this event.
///
Dhcp4Fail = 0x0c
Dhcp4Fail = 0x0c
} EFI_DHCP4_EVENT;
/**
@@ -249,25 +244,25 @@ typedef struct {
/// event and waiting for a response during the Dhcp4RcvdOffer event.
/// Set to zero to use the default try counts and timeout values.
///
UINT32 DiscoverTryCount;
UINT32 DiscoverTryCount;
///
/// The maximum amount of time (in seconds) to wait for returned packets in each
/// of the retries. Timeout values of zero will default to a timeout value
/// of one second. Set to NULL to use default timeout values.
///
UINT32 *DiscoverTimeout;
UINT32 *DiscoverTimeout;
///
/// The number of times to try sending a packet during the Dhcp4SendRequest event
/// and waiting for a response during the Dhcp4RcvdAck event before accepting
/// failure. Set to zero to use the default try counts and timeout values.
///
UINT32 RequestTryCount;
UINT32 RequestTryCount;
///
/// The maximum amount of time (in seconds) to wait for return packets in each of the retries.
/// Timeout values of zero will default to a timeout value of one second.
/// Set to NULL to use default timeout values.
///
UINT32 *RequestTimeout;
UINT32 *RequestTimeout;
///
/// For a DHCPDISCOVER, setting this parameter to the previously allocated IP
/// address will cause the EFI DHCPv4 Protocol driver to enter the Dhcp4InitReboot state.
@@ -275,20 +270,20 @@ typedef struct {
/// For a DHCPINFORM this parameter should be set to the client network address
/// which was assigned to the client during a DHCPDISCOVER.
///
EFI_IPv4_ADDRESS ClientAddress;
EFI_IPv4_ADDRESS ClientAddress;
///
/// The callback function to intercept various events that occurred in
/// the DHCP configuration process. Set to NULL to ignore all those events.
///
EFI_DHCP4_CALLBACK Dhcp4Callback;
EFI_DHCP4_CALLBACK Dhcp4Callback;
///
/// The pointer to the context that will be passed to Dhcp4Callback when it is called.
///
VOID *CallbackContext;
VOID *CallbackContext;
///
/// Number of DHCP options in the OptionList.
///
UINT32 OptionCount;
UINT32 OptionCount;
///
/// List of DHCP options to be included in every packet that is sent during the
/// Dhcp4SendDiscover event. Pad options are appended automatically by DHCP driver
@@ -296,122 +291,118 @@ typedef struct {
/// ignored by the driver. OptionList can be freed after EFI_DHCP4_PROTOCOL.Configure()
/// returns. Ignored if OptionCount is zero.
///
EFI_DHCP4_PACKET_OPTION **OptionList;
EFI_DHCP4_PACKET_OPTION **OptionList;
} EFI_DHCP4_CONFIG_DATA;
typedef struct {
///
/// The EFI DHCPv4 Protocol driver operating state.
///
EFI_DHCP4_STATE State;
EFI_DHCP4_STATE State;
///
/// The configuration data of the current EFI DHCPv4 Protocol driver instance.
///
EFI_DHCP4_CONFIG_DATA ConfigData;
EFI_DHCP4_CONFIG_DATA ConfigData;
///
/// The client IP address that was acquired from the DHCP server. If it is zero,
/// the DHCP acquisition has not completed yet and the following fields in this structure are undefined.
///
EFI_IPv4_ADDRESS ClientAddress;
EFI_IPv4_ADDRESS ClientAddress;
///
/// The local hardware address.
///
EFI_MAC_ADDRESS ClientMacAddress;
EFI_MAC_ADDRESS ClientMacAddress;
///
/// The server IP address that is providing the DHCP service to this client.
///
EFI_IPv4_ADDRESS ServerAddress;
EFI_IPv4_ADDRESS ServerAddress;
///
/// The router IP address that was acquired from the DHCP server.
/// May be zero if the server does not offer this address.
///
EFI_IPv4_ADDRESS RouterAddress;
EFI_IPv4_ADDRESS RouterAddress;
///
/// The subnet mask of the connected network that was acquired from the DHCP server.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
///
/// The lease time (in 1-second units) of the configured IP address.
/// The value 0xFFFFFFFF means that the lease time is infinite.
/// A default lease of 7 days is used if the DHCP server does not provide a value.
///
UINT32 LeaseTime;
UINT32 LeaseTime;
///
/// The cached latest DHCPACK or DHCPNAK or BOOTP REPLY packet. May be NULL if no packet is cached.
///
EFI_DHCP4_PACKET *ReplyPacket;
EFI_DHCP4_PACKET *ReplyPacket;
} EFI_DHCP4_MODE_DATA;
typedef struct {
///
/// Alternate listening address. It can be a unicast, multicast, or broadcast address.
///
EFI_IPv4_ADDRESS ListenAddress;
EFI_IPv4_ADDRESS ListenAddress;
///
/// The subnet mask of above listening unicast/broadcast IP address.
/// Ignored if ListenAddress is a multicast address.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
///
/// Alternate station source (or listening) port number.
/// If zero, then the default station port number (68) will be used.
///
UINT16 ListenPort;
UINT16 ListenPort;
} EFI_DHCP4_LISTEN_POINT;
typedef struct {
///
/// The completion status of transmitting and receiving.
///
EFI_STATUS Status;
EFI_STATUS Status;
///
/// If not NULL, the event that will be signaled when the collection process
/// completes. If NULL, this function will busy-wait until the collection process competes.
///
EFI_EVENT CompletionEvent;
EFI_EVENT CompletionEvent;
///
/// The pointer to the server IP address. This address may be a unicast, multicast, or broadcast address.
///
EFI_IPv4_ADDRESS RemoteAddress;
EFI_IPv4_ADDRESS RemoteAddress;
///
/// The server listening port number. If zero, the default server listening port number (67) will be used.
///
UINT16 RemotePort;
UINT16 RemotePort;
///
/// The pointer to the gateway address to override the existing setting.
///
EFI_IPv4_ADDRESS GatewayAddress;
EFI_IPv4_ADDRESS GatewayAddress;
///
/// The number of entries in ListenPoints. If zero, the default station address and port number 68 are used.
///
UINT32 ListenPointCount;
UINT32 ListenPointCount;
///
/// An array of station address and port number pairs that are used as receiving filters.
/// The first entry is also used as the source address and source port of the outgoing packet.
///
EFI_DHCP4_LISTEN_POINT *ListenPoints;
EFI_DHCP4_LISTEN_POINT *ListenPoints;
///
/// The number of seconds to collect responses. Zero is invalid.
///
UINT32 TimeoutValue;
UINT32 TimeoutValue;
///
/// The pointer to the packet to be transmitted.
///
EFI_DHCP4_PACKET *Packet;
EFI_DHCP4_PACKET *Packet;
///
/// Number of received packets.
///
UINT32 ResponseCount;
UINT32 ResponseCount;
///
/// The pointer to the allocated list of received packets.
///
EFI_DHCP4_PACKET *ResponseList;
EFI_DHCP4_PACKET *ResponseList;
} EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN;
/**
Returns the current operating mode and cached data packet for the EFI DHCPv4 Protocol driver.
@@ -487,7 +478,6 @@ EFI_STATUS
IN EFI_DHCP4_CONFIG_DATA *Dhcp4CfgData OPTIONAL
);
/**
Starts the DHCP configuration process.
@@ -677,7 +667,6 @@ EFI_STATUS
OUT EFI_DHCP4_PACKET **NewPacket
);
/**
Transmits a DHCP formatted packet and optionally waits for responses.
@@ -710,7 +699,6 @@ EFI_STATUS
IN EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN *Token
);
/**
Parses the packed DHCP option data.
@@ -757,18 +745,18 @@ EFI_STATUS
/// and to provide DHCPv4 server and PXE boot server discovery services.
///
struct _EFI_DHCP4_PROTOCOL {
EFI_DHCP4_GET_MODE_DATA GetModeData;
EFI_DHCP4_CONFIGURE Configure;
EFI_DHCP4_START Start;
EFI_DHCP4_RENEW_REBIND RenewRebind;
EFI_DHCP4_RELEASE Release;
EFI_DHCP4_STOP Stop;
EFI_DHCP4_BUILD Build;
EFI_DHCP4_TRANSMIT_RECEIVE TransmitReceive;
EFI_DHCP4_PARSE Parse;
EFI_DHCP4_GET_MODE_DATA GetModeData;
EFI_DHCP4_CONFIGURE Configure;
EFI_DHCP4_START Start;
EFI_DHCP4_RENEW_REBIND RenewRebind;
EFI_DHCP4_RELEASE Release;
EFI_DHCP4_STOP Stop;
EFI_DHCP4_BUILD Build;
EFI_DHCP4_TRANSMIT_RECEIVE TransmitReceive;
EFI_DHCP4_PARSE Parse;
};
extern EFI_GUID gEfiDhcp4ProtocolGuid;
extern EFI_GUID gEfiDhcp4ServiceBindingProtocolGuid;
extern EFI_GUID gEfiDhcp4ProtocolGuid;
extern EFI_GUID gEfiDhcp4ServiceBindingProtocolGuid;
#endif

View File

@@ -30,47 +30,47 @@ typedef enum {
/// The EFI DHCPv6 Protocol instance is configured, and start() needs
/// to be called
///
Dhcp6Init = 0x0,
Dhcp6Init = 0x0,
///
/// A Solicit packet is sent out to discover DHCPv6 server, and the EFI
/// DHCPv6 Protocol instance is collecting Advertise packets.
///
Dhcp6Selecting = 0x1,
Dhcp6Selecting = 0x1,
///
/// A Request is sent out to the DHCPv6 server, and the EFI DHCPv6
/// Protocol instance is waiting for Reply packet.
///
Dhcp6Requesting = 0x2,
Dhcp6Requesting = 0x2,
///
/// A Decline packet is sent out to indicate one or more addresses of the
/// configured IA are in use by another node, and the EFI DHCPv6.
/// Protocol instance is waiting for Reply packet.
///
Dhcp6Declining = 0x3,
Dhcp6Declining = 0x3,
///
/// A Confirm packet is sent out to confirm the IPv6 addresses of the
/// configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.
///
Dhcp6Confirming = 0x4,
Dhcp6Confirming = 0x4,
///
/// A Release packet is sent out to release one or more IPv6 addresses of
/// the configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.
///
Dhcp6Releasing = 0x5,
Dhcp6Releasing = 0x5,
///
/// The DHCPv6 S.A.R.R process is completed for the configured IA.
///
Dhcp6Bound = 0x6,
Dhcp6Bound = 0x6,
///
/// A Renew packet is sent out to extend lifetime for the IPv6 addresses of
/// the configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.
///
Dhcp6Renewing = 0x7,
Dhcp6Renewing = 0x7,
///
/// A Rebind packet is sent out to extend lifetime for the IPv6 addresses of
/// the configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.
///
Dhcp6Rebinding = 0x8
Dhcp6Rebinding = 0x8
} EFI_DHCP6_STATE;
typedef enum {
@@ -78,64 +78,64 @@ typedef enum {
/// A Solicit packet is about to be sent. The packet is passed to Dhcp6Callback and
/// can be modified or replaced in Dhcp6Callback.
///
Dhcp6SendSolicit = 0x0,
Dhcp6SendSolicit = 0x0,
///
/// An Advertise packet is received and will be passed to Dhcp6Callback.
///
Dhcp6RcvdAdvertise = 0x1,
Dhcp6RcvdAdvertise = 0x1,
///
/// It is time for Dhcp6Callback to determine whether select the default Advertise
/// packet by RFC 3315 policy, or overwrite it by specific user policy.
///
Dhcp6SelectAdvertise = 0x2,
Dhcp6SelectAdvertise = 0x2,
///
/// A Request packet is about to be sent. The packet is passed to Dhcp6Callback and
/// can be modified or replaced in Dhcp6Callback.
///
Dhcp6SendRequest = 0x3,
Dhcp6SendRequest = 0x3,
///
/// A Reply packet is received and will be passed to Dhcp6Callback.
///
Dhcp6RcvdReply = 0x4,
Dhcp6RcvdReply = 0x4,
///
/// A Reconfigure packet is received and will be passed to Dhcp6Callback.
///
Dhcp6RcvdReconfigure = 0x5,
Dhcp6RcvdReconfigure = 0x5,
///
/// A Decline packet is about to be sent. The packet is passed to Dhcp6Callback and
/// can be modified or replaced in Dhcp6Callback.
///
Dhcp6SendDecline = 0x6,
Dhcp6SendDecline = 0x6,
///
/// A Confirm packet is about to be sent. The packet is passed to Dhcp6Callback and
/// can be modified or replaced in Dhcp6Callback.
///
Dhcp6SendConfirm = 0x7,
Dhcp6SendConfirm = 0x7,
///
/// A Release packet is about to be sent. The packet is passed to Dhcp6Callback and
/// can be modified or replaced in Dhcp6Callback.
///
Dhcp6SendRelease = 0x8,
Dhcp6SendRelease = 0x8,
///
/// A Renew packet is about to be sent. The packet is passed to Dhcp6Callback and
/// can be modified or replaced in Dhcp6Callback.
///
Dhcp6EnterRenewing = 0x9,
Dhcp6EnterRenewing = 0x9,
///
/// A Rebind packet is about to be sent. The packet is passed to Dhcp6Callback and
/// can be modified or replaced in Dhcp6Callback.
///
Dhcp6EnterRebinding = 0xa
Dhcp6EnterRebinding = 0xa
} EFI_DHCP6_EVENT;
///
/// An IA which carries assigned not temporary address.
///
#define EFI_DHCP6_IA_TYPE_NA 3
#define EFI_DHCP6_IA_TYPE_NA 3
///
/// An IA which carries assigned temporary address.
///
#define EFI_DHCP6_IA_TYPE_TA 4
#define EFI_DHCP6_IA_TYPE_TA 4
#pragma pack(1)
///
@@ -147,31 +147,31 @@ typedef struct {
///
/// The DHCPv6 option code, stored in network order.
///
UINT16 OpCode;
UINT16 OpCode;
///
/// Length of the DHCPv6 option data, stored in network order.
/// From the first byte to the last byte of the Data field.
///
UINT16 OpLen;
UINT16 OpLen;
///
/// The data for the DHCPv6 option, stored in network order.
///
UINT8 Data[1];
UINT8 Data[1];
} EFI_DHCP6_PACKET_OPTION;
///
/// EFI_DHCP6_HEADER
/// defines the format of the DHCPv6 header. See RFC 3315 for more information.
///
typedef struct{
typedef struct {
///
/// The DHCPv6 transaction ID.
///
UINT32 MessageType:8;
UINT32 MessageType : 8;
///
/// The DHCPv6 message type.
///
UINT32 TransactionId:24;
UINT32 TransactionId : 24;
} EFI_DHCP6_HEADER;
///
@@ -182,21 +182,21 @@ typedef struct {
///
/// Size of the EFI_DHCP6_PACKET buffer.
///
UINT32 Size;
UINT32 Size;
///
/// Length of the EFI_DHCP6_PACKET from the first byte of the Header field to the last
/// byte of the Option[] field.
///
UINT32 Length;
struct{
UINT32 Length;
struct {
///
/// The DHCPv6 packet header.
///
EFI_DHCP6_HEADER Header;
EFI_DHCP6_HEADER Header;
///
/// Start of the DHCPv6 packed option data.
///
UINT8 Option[1];
UINT8 Option[1];
} Dhcp6;
} EFI_DHCP6_PACKET;
@@ -206,91 +206,91 @@ typedef struct {
///
/// Length of DUID in octects.
///
UINT16 Length;
UINT16 Length;
///
/// Array of DUID octects.
///
UINT8 Duid[1];
UINT8 Duid[1];
} EFI_DHCP6_DUID;
typedef struct {
///
/// Initial retransmission timeout.
///
UINT32 Irt;
UINT32 Irt;
///
/// Maximum retransmission count for one packet. If Mrc is zero, there's no upper limit
/// for retransmission count.
///
UINT32 Mrc;
UINT32 Mrc;
///
/// Maximum retransmission timeout for each retry. It's the upper bound of the number of
/// retransmission timeout. If Mrt is zero, there is no upper limit for retransmission
/// timeout.
///
UINT32 Mrt;
UINT32 Mrt;
///
/// Maximum retransmission duration for one packet. It's the upper bound of the numbers
/// the client may retransmit a message. If Mrd is zero, there's no upper limit for
/// retransmission duration.
///
UINT32 Mrd;
UINT32 Mrd;
} EFI_DHCP6_RETRANSMISSION;
typedef struct {
///
/// The IPv6 address.
///
EFI_IPv6_ADDRESS IpAddress;
EFI_IPv6_ADDRESS IpAddress;
///
/// The preferred lifetime in unit of seconds for the IPv6 address.
///
UINT32 PreferredLifetime;
UINT32 PreferredLifetime;
///
/// The valid lifetime in unit of seconds for the IPv6 address.
///
UINT32 ValidLifetime;
UINT32 ValidLifetime;
} EFI_DHCP6_IA_ADDRESS;
typedef struct {
UINT16 Type; ///< Type for an IA.
UINT32 IaId; ///< The identifier for an IA.
UINT16 Type; ///< Type for an IA.
UINT32 IaId; ///< The identifier for an IA.
} EFI_DHCP6_IA_DESCRIPTOR;
typedef struct {
///
/// The descriptor for IA.
///
EFI_DHCP6_IA_DESCRIPTOR Descriptor;
EFI_DHCP6_IA_DESCRIPTOR Descriptor;
///
/// The state of the configured IA.
///
EFI_DHCP6_STATE State;
EFI_DHCP6_STATE State;
///
/// Pointer to the cached latest Reply packet. May be NULL if no packet is cached.
///
EFI_DHCP6_PACKET *ReplyPacket;
EFI_DHCP6_PACKET *ReplyPacket;
///
/// Number of IPv6 addresses of the configured IA.
///
UINT32 IaAddressCount;
UINT32 IaAddressCount;
///
/// List of the IPv6 addresses of the configured IA. When the state of the configured IA is
/// in Dhcp6Bound, Dhcp6Renewing and Dhcp6Rebinding, the IPv6 addresses are usable.
///
EFI_DHCP6_IA_ADDRESS IaAddress[1];
EFI_DHCP6_IA_ADDRESS IaAddress[1];
} EFI_DHCP6_IA;
typedef struct {
///
/// Pointer to the DHCPv6 unique identifier. The caller is responsible for freeing this buffer.
///
EFI_DHCP6_DUID *ClientId;
EFI_DHCP6_DUID *ClientId;
///
/// Pointer to the configured IA of current instance. The caller can free this buffer after
/// using it.
///
EFI_DHCP6_IA *Ia;
EFI_DHCP6_IA *Ia;
} EFI_DHCP6_MODE_DATA;
/**
@@ -329,15 +329,15 @@ typedef struct {
/// The callback function is to intercept various events that occur in the DHCPv6 S.A.R.R
/// process. Set to NULL to ignore all those events.
///
EFI_DHCP6_CALLBACK Dhcp6Callback;
EFI_DHCP6_CALLBACK Dhcp6Callback;
///
/// Pointer to the context that will be passed to Dhcp6Callback.
///
VOID *CallbackContext;
VOID *CallbackContext;
///
/// Number of the DHCPv6 options in the OptionList.
///
UINT32 OptionCount;
UINT32 OptionCount;
///
/// List of the DHCPv6 options to be included in Solicit and Request packet. The buffer
/// can be freed after EFI_DHCP6_PROTOCOL.Configure() returns. Ignored if
@@ -345,11 +345,11 @@ typedef struct {
/// and any IA option, which will be appended by EFI DHCPv6 Protocol instance
/// automatically.
///
EFI_DHCP6_PACKET_OPTION **OptionList;
EFI_DHCP6_PACKET_OPTION **OptionList;
///
/// The descriptor for the IA of the EFI DHCPv6 Protocol instance.
///
EFI_DHCP6_IA_DESCRIPTOR IaDescriptor;
EFI_DHCP6_IA_DESCRIPTOR IaDescriptor;
///
/// If not NULL, the event will be signaled when any IPv6 address information of the
/// configured IA is updated, including IPv6 address, preferred lifetime and valid
@@ -357,24 +357,24 @@ typedef struct {
/// renewrebind(), decline(), release() and stop() will be blocking
/// operations, and they will wait for the exchange process completion or failure.
///
EFI_EVENT IaInfoEvent;
EFI_EVENT IaInfoEvent;
///
/// If TRUE, the EFI DHCPv6 Protocol instance is willing to accept Reconfigure packet.
/// Otherwise, it will ignore it. Reconfigure Accept option can not be specified through
/// OptionList parameter.
///
BOOLEAN ReconfigureAccept;
BOOLEAN ReconfigureAccept;
///
/// If TRUE, the EFI DHCPv6 Protocol instance will send Solicit packet with Rapid
/// Commit option. Otherwise, Rapid Commit option will not be included in Solicit
/// packet. Rapid Commit option can not be specified through OptionList parameter.
///
BOOLEAN RapidCommit;
BOOLEAN RapidCommit;
///
/// Parameter to control Solicit packet retransmission behavior. The
/// buffer can be freed after EFI_DHCP6_PROTOCOL.Configure() returns.
///
EFI_DHCP6_RETRANSMISSION *SolicitRetransmission;
EFI_DHCP6_RETRANSMISSION *SolicitRetransmission;
} EFI_DHCP6_CONFIG_DATA;
/**
@@ -756,25 +756,25 @@ EFI_STATUS
IN EFI_DHCP6_PACKET *Packet,
IN OUT UINT32 *OptionCount,
OUT EFI_DHCP6_PACKET_OPTION *PacketOptionList[] OPTIONAL
);
);
///
/// The EFI DHCPv6 Protocol is used to get IPv6 addresses and other configuration parameters
/// from DHCPv6 servers.
///
struct _EFI_DHCP6_PROTOCOL {
EFI_DHCP6_GET_MODE_DATA GetModeData;
EFI_DHCP6_CONFIGURE Configure;
EFI_DHCP6_START Start;
EFI_DHCP6_INFO_REQUEST InfoRequest;
EFI_DHCP6_RENEW_REBIND RenewRebind;
EFI_DHCP6_DECLINE Decline;
EFI_DHCP6_RELEASE Release;
EFI_DHCP6_STOP Stop;
EFI_DHCP6_PARSE Parse;
EFI_DHCP6_GET_MODE_DATA GetModeData;
EFI_DHCP6_CONFIGURE Configure;
EFI_DHCP6_START Start;
EFI_DHCP6_INFO_REQUEST InfoRequest;
EFI_DHCP6_RENEW_REBIND RenewRebind;
EFI_DHCP6_DECLINE Decline;
EFI_DHCP6_RELEASE Release;
EFI_DHCP6_STOP Stop;
EFI_DHCP6_PARSE Parse;
};
extern EFI_GUID gEfiDhcp6ProtocolGuid;
extern EFI_GUID gEfiDhcp6ServiceBindingProtocolGuid;
extern EFI_GUID gEfiDhcp6ProtocolGuid;
extern EFI_GUID gEfiDhcp6ServiceBindingProtocolGuid;
#endif

View File

@@ -25,7 +25,7 @@
///
/// Forward declaration for EFI_DISK_INFO_PROTOCOL
///
typedef struct _EFI_DISK_INFO_PROTOCOL EFI_DISK_INFO_PROTOCOL;
typedef struct _EFI_DISK_INFO_PROTOCOL EFI_DISK_INFO_PROTOCOL;
///
/// Global ID for an IDE interface. Used to fill in EFI_DISK_INFO_PROTOCOL.Interface
@@ -186,36 +186,36 @@ struct _EFI_DISK_INFO_PROTOCOL {
/// A GUID that defines the format of buffers for the other member functions
/// of this protocol.
///
EFI_GUID Interface;
EFI_GUID Interface;
///
/// Return the results of the Inquiry command to a drive in InquiryData. Data
/// format of Inquiry data is defined by the Interface GUID.
///
EFI_DISK_INFO_INQUIRY Inquiry;
EFI_DISK_INFO_INQUIRY Inquiry;
///
/// Return the results of the Identify command to a drive in IdentifyData. Data
/// format of Identify data is defined by the Interface GUID.
///
EFI_DISK_INFO_IDENTIFY Identify;
EFI_DISK_INFO_IDENTIFY Identify;
///
/// Return the results of the Request Sense command to a drive in SenseData. Data
/// format of Sense data is defined by the Interface GUID.
///
EFI_DISK_INFO_SENSE_DATA SenseData;
EFI_DISK_INFO_SENSE_DATA SenseData;
///
/// Specific controller.
///
EFI_DISK_INFO_WHICH_IDE WhichIde;
EFI_DISK_INFO_WHICH_IDE WhichIde;
};
extern EFI_GUID gEfiDiskInfoProtocolGuid;
extern EFI_GUID gEfiDiskInfoProtocolGuid;
extern EFI_GUID gEfiDiskInfoIdeInterfaceGuid;
extern EFI_GUID gEfiDiskInfoScsiInterfaceGuid;
extern EFI_GUID gEfiDiskInfoUsbInterfaceGuid;
extern EFI_GUID gEfiDiskInfoAhciInterfaceGuid;
extern EFI_GUID gEfiDiskInfoNvmeInterfaceGuid;
extern EFI_GUID gEfiDiskInfoUfsInterfaceGuid;
extern EFI_GUID gEfiDiskInfoSdMmcInterfaceGuid;
extern EFI_GUID gEfiDiskInfoIdeInterfaceGuid;
extern EFI_GUID gEfiDiskInfoScsiInterfaceGuid;
extern EFI_GUID gEfiDiskInfoUsbInterfaceGuid;
extern EFI_GUID gEfiDiskInfoAhciInterfaceGuid;
extern EFI_GUID gEfiDiskInfoNvmeInterfaceGuid;
extern EFI_GUID gEfiDiskInfoUfsInterfaceGuid;
extern EFI_GUID gEfiDiskInfoSdMmcInterfaceGuid;
#endif

View File

@@ -28,7 +28,7 @@ typedef struct _EFI_DISK_IO_PROTOCOL EFI_DISK_IO_PROTOCOL;
///
/// Protocol defined in EFI1.1.
///
typedef EFI_DISK_IO_PROTOCOL EFI_DISK_IO;
typedef EFI_DISK_IO_PROTOCOL EFI_DISK_IO;
/**
Read BufferSize bytes from Offset into Buffer.
@@ -85,7 +85,7 @@ EFI_STATUS
IN VOID *Buffer
);
#define EFI_DISK_IO_PROTOCOL_REVISION 0x00010000
#define EFI_DISK_IO_PROTOCOL_REVISION 0x00010000
///
/// Revision defined in EFI1.1
@@ -101,11 +101,11 @@ struct _EFI_DISK_IO_PROTOCOL {
/// revisions must be backwards compatible. If a future version is not
/// backwards compatible, it is not the same GUID.
///
UINT64 Revision;
EFI_DISK_READ ReadDisk;
EFI_DISK_WRITE WriteDisk;
UINT64 Revision;
EFI_DISK_READ ReadDisk;
EFI_DISK_WRITE WriteDisk;
};
extern EFI_GUID gEfiDiskIoProtocolGuid;
extern EFI_GUID gEfiDiskIoProtocolGuid;
#endif

View File

@@ -30,12 +30,12 @@ typedef struct {
// The caller must be prepared to handle the case where the callback associated with Event occurs
// before the original asynchronous I/O request call returns.
//
EFI_EVENT Event;
EFI_EVENT Event;
//
// Defines whether or not the signaled event encountered an error.
//
EFI_STATUS TransactionStatus;
EFI_STATUS TransactionStatus;
} EFI_DISK_IO2_TOKEN;
/**
@@ -49,7 +49,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_CANCEL_EX) (
(EFIAPI *EFI_DISK_CANCEL_EX)(
IN EFI_DISK_IO2_PROTOCOL *This
);
@@ -77,7 +77,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_READ_EX) (
(EFIAPI *EFI_DISK_READ_EX)(
IN EFI_DISK_IO2_PROTOCOL *This,
IN UINT32 MediaId,
IN UINT64 Offset,
@@ -110,7 +110,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_WRITE_EX) (
(EFIAPI *EFI_DISK_WRITE_EX)(
IN EFI_DISK_IO2_PROTOCOL *This,
IN UINT32 MediaId,
IN UINT64 Offset,
@@ -138,12 +138,12 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_FLUSH_EX) (
(EFIAPI *EFI_DISK_FLUSH_EX)(
IN EFI_DISK_IO2_PROTOCOL *This,
IN OUT EFI_DISK_IO2_TOKEN *Token
);
#define EFI_DISK_IO2_PROTOCOL_REVISION 0x00020000
#define EFI_DISK_IO2_PROTOCOL_REVISION 0x00020000
///
/// This protocol is used to abstract Block I/O interfaces.
@@ -154,13 +154,13 @@ struct _EFI_DISK_IO2_PROTOCOL {
/// revisions must be backwards compatible. If a future version is not
/// backwards compatible, it is not the same GUID.
///
UINT64 Revision;
EFI_DISK_CANCEL_EX Cancel;
EFI_DISK_READ_EX ReadDiskEx;
EFI_DISK_WRITE_EX WriteDiskEx;
EFI_DISK_FLUSH_EX FlushDiskEx;
UINT64 Revision;
EFI_DISK_CANCEL_EX Cancel;
EFI_DISK_READ_EX ReadDiskEx;
EFI_DISK_WRITE_EX WriteDiskEx;
EFI_DISK_FLUSH_EX FlushDiskEx;
};
extern EFI_GUID gEfiDiskIo2ProtocolGuid;
extern EFI_GUID gEfiDiskIo2ProtocolGuid;
#endif

View File

@@ -39,7 +39,7 @@ typedef struct {
/// DnsServerListCount is zero, the DNS server configuration
/// will be retrieved from DHCP server automatically.
///
UINTN DnsServerListCount;
UINTN DnsServerListCount;
///
/// Pointer to DNS server list containing DnsServerListCount entries or NULL
/// if DnsServerListCountis 0. For Configure(), this will be NULL when there are
@@ -51,16 +51,16 @@ typedef struct {
/// freed by the caller. When used with Configure(), the buffer
/// containing the list will be allocated and released by the caller.
///
EFI_IPv4_ADDRESS *DnsServerList;
EFI_IPv4_ADDRESS *DnsServerList;
///
/// Set to TRUE to use the default IP address/subnet mask and default routing table.
///
BOOLEAN UseDefaultSetting;
BOOLEAN UseDefaultSetting;
///
/// If TRUE, enable DNS cache function for this DNS instance. If FALSE, all DNS
/// query will not lookup local DNS cache.
///
BOOLEAN EnableDnsCache;
BOOLEAN EnableDnsCache;
///
/// Use the protocol number defined in "Links to UEFI-Related
/// Documents"(http://uefi.org/uefi) under the heading "IANA
@@ -68,31 +68,30 @@ typedef struct {
/// protocol values are invalid. An implementation can choose to
/// support only UDP, or both TCP and UDP.
///
UINT8 Protocol;
UINT8 Protocol;
///
/// If UseDefaultSetting is FALSE indicates the station address to use.
///
EFI_IPv4_ADDRESS StationIp;
EFI_IPv4_ADDRESS StationIp;
///
/// If UseDefaultSetting is FALSE indicates the subnet mask to use.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
///
/// Local port number. Set to zero to use the automatically assigned port number.
///
UINT16 LocalPort;
UINT16 LocalPort;
///
/// Retry number if no response received after RetryInterval.
///
UINT32 RetryCount;
UINT32 RetryCount;
///
/// Minimum interval of retry is 2 second. If the retry interval is less than 2
/// seconds, then use the 2 seconds.
///
UINT32 RetryInterval;
UINT32 RetryInterval;
} EFI_DNS4_CONFIG_DATA;
///
/// EFI_DNS4_CACHE_ENTRY
///
@@ -100,11 +99,11 @@ typedef struct {
///
/// Host name.
///
CHAR16 *HostName;
CHAR16 *HostName;
///
/// IP address of this host.
///
EFI_IPv4_ADDRESS *IpAddress;
EFI_IPv4_ADDRESS *IpAddress;
///
/// Time in second unit that this entry will remain in DNS cache. A value of zero
/// means that this entry is permanent. A nonzero value will override the existing
@@ -112,7 +111,7 @@ typedef struct {
/// default timeout value for the dynamically created DNS cache entry after one DNS
/// resolve succeeds.
///
UINT32 Timeout;
UINT32 Timeout;
} EFI_DNS4_CACHE_ENTRY;
///
@@ -122,12 +121,12 @@ typedef struct {
///
/// The configuration data of this instance.
///
EFI_DNS4_CONFIG_DATA DnsConfigData;
EFI_DNS4_CONFIG_DATA DnsConfigData;
///
/// Number of configured DNS server. Each DNS instance has its own DNS server
/// configuration.
///
UINT32 DnsServerCount;
UINT32 DnsServerCount;
///
/// Pointer to common list of addresses of all configured DNS server
/// used by EFI_DNS4_PROTOCOL instances. List will include
@@ -135,17 +134,17 @@ typedef struct {
/// The storage for this list is allocated by the driver publishing this
/// protocol, and must be freed by the caller.
///
EFI_IPv4_ADDRESS *DnsServerList;
EFI_IPv4_ADDRESS *DnsServerList;
///
/// Number of DNS Cache entries. The DNS Cache is shared among all DNS instances.
///
UINT32 DnsCacheCount;
UINT32 DnsCacheCount;
///
/// Pointer to a buffer containing DnsCacheCount DNS Cache
/// entry structures. The storage for this list is allocated by the driver
/// publishing this protocol and must be freed by caller.
///
EFI_DNS4_CACHE_ENTRY *DnsCacheList;
EFI_DNS4_CACHE_ENTRY *DnsCacheList;
} EFI_DNS4_MODE_DATA;
///
@@ -155,11 +154,11 @@ typedef struct {
///
/// Number of the returned IP addresses.
///
UINT32 IpCount;
UINT32 IpCount;
///
/// Pointer to the all the returned IP addresses.
///
EFI_IPv4_ADDRESS *IpList;
EFI_IPv4_ADDRESS *IpList;
} DNS_HOST_TO_ADDR_DATA;
///
@@ -170,7 +169,7 @@ typedef struct {
/// Pointer to the primary name for this host address. It's the caller's
/// responsibility to free the response memory.
///
CHAR16 *HostName;
CHAR16 *HostName;
} DNS_ADDR_TO_HOST_DATA;
///
@@ -180,30 +179,30 @@ typedef struct {
///
/// The Owner name.
///
CHAR8 *QName;
CHAR8 *QName;
///
/// The Type Code of this RR.
///
UINT16 QType;
UINT16 QType;
///
/// The CLASS code of this RR.
///
UINT16 QClass;
UINT16 QClass;
///
/// 32 bit integer which specify the time interval that the resource record may be
/// cached before the source of the information should again be consulted. Zero means
/// this RR can not be cached.
///
UINT32 TTL;
UINT32 TTL;
///
/// 16 big integer which specify the length of RData.
///
UINT16 DataLength;
UINT16 DataLength;
///
/// A string of octets that describe the resource, the format of this information
/// varies according to QType and QClass difference.
///
CHAR8 *RData;
CHAR8 *RData;
} DNS_RESOURCE_RECORD;
///
@@ -213,12 +212,12 @@ typedef struct {
///
/// Number of returned matching RRs.
///
UINTN RRCount;
UINTN RRCount;
///
/// Pointer to the all the returned matching RRs. It's caller responsibility to free
/// the allocated memory to hold the returned RRs.
///
DNS_RESOURCE_RECORD *RRList;
DNS_RESOURCE_RECORD *RRList;
} DNS_GENERAL_LOOKUP_DATA;
///
@@ -229,7 +228,7 @@ typedef struct {
/// This Event will be signaled after the Status field is updated by the EFI DNS
/// protocol driver. The type of Event must be EFI_NOTIFY_SIGNAL.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// Will be set to one of the following values:
/// EFI_SUCCESS: The host name to address translation completed successfully.
@@ -239,17 +238,17 @@ typedef struct {
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
/// EFI_NO_MEDIA: There was a media error.
///
EFI_STATUS Status;
EFI_STATUS Status;
///
/// Retry number if no response received after RetryInterval. If zero, use the
/// parameter configured through Dns.Configure() interface.
///
UINT32 RetryCount;
UINT32 RetryCount;
///
/// Minimum interval of retry is 2 second. If the retry interval is less than 2
/// seconds, then use the 2 seconds. If zero, use the parameter configured through
/// Dns.Configure() interface.
UINT32 RetryInterval;
UINT32 RetryInterval;
///
/// DNSv4 completion token data
///
@@ -258,17 +257,17 @@ typedef struct {
/// When the Token is used for host name to address translation, H2AData is a pointer
/// to the DNS_HOST_TO_ADDR_DATA.
///
DNS_HOST_TO_ADDR_DATA *H2AData;
DNS_HOST_TO_ADDR_DATA *H2AData;
///
/// When the Token is used for host address to host name translation, A2HData is a
/// pointer to the DNS_ADDR_TO_HOST_DATA.
///
DNS_ADDR_TO_HOST_DATA *A2HData;
DNS_ADDR_TO_HOST_DATA *A2HData;
///
/// When the Token is used for a general lookup function, GLookupDATA is a pointer to
/// the DNS_GENERAL_LOOKUP_DATA.
///
DNS_GENERAL_LOOKUP_DATA *GLookupData;
DNS_GENERAL_LOOKUP_DATA *GLookupData;
} RspData;
} EFI_DNS4_COMPLETION_TOKEN;
@@ -289,7 +288,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_GET_MODE_DATA) (
(EFIAPI *EFI_DNS4_GET_MODE_DATA)(
IN EFI_DNS4_PROTOCOL *This,
OUT EFI_DNS4_MODE_DATA *DnsModeData
);
@@ -321,7 +320,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_CONFIGURE) (
(EFIAPI *EFI_DNS4_CONFIGURE)(
IN EFI_DNS4_PROTOCOL *This,
IN EFI_DNS4_CONFIG_DATA *DnsConfigData
);
@@ -348,10 +347,10 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_HOST_NAME_TO_IP) (
IN EFI_DNS4_PROTOCOL *This,
IN CHAR16 *HostName,
IN EFI_DNS4_COMPLETION_TOKEN *Token
(EFIAPI *EFI_DNS4_HOST_NAME_TO_IP)(
IN EFI_DNS4_PROTOCOL *This,
IN CHAR16 *HostName,
IN EFI_DNS4_COMPLETION_TOKEN *Token
);
/**
@@ -378,10 +377,10 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_IP_TO_HOST_NAME) (
IN EFI_DNS4_PROTOCOL *This,
IN EFI_IPv4_ADDRESS IpAddress,
IN EFI_DNS4_COMPLETION_TOKEN *Token
(EFIAPI *EFI_DNS4_IP_TO_HOST_NAME)(
IN EFI_DNS4_PROTOCOL *This,
IN EFI_IPv4_ADDRESS IpAddress,
IN EFI_DNS4_COMPLETION_TOKEN *Token
);
/**
@@ -413,7 +412,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_GENERAL_LOOKUP) (
(EFIAPI *EFI_DNS4_GENERAL_LOOKUP)(
IN EFI_DNS4_PROTOCOL *This,
IN CHAR8 *QName,
IN UINT16 QType,
@@ -449,7 +448,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_UPDATE_DNS_CACHE) (
(EFIAPI *EFI_DNS4_UPDATE_DNS_CACHE)(
IN EFI_DNS4_PROTOCOL *This,
IN BOOLEAN DeleteFlag,
IN BOOLEAN Override,
@@ -479,7 +478,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_POLL) (
(EFIAPI *EFI_DNS4_POLL)(
IN EFI_DNS4_PROTOCOL *This
);
@@ -510,7 +509,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS4_CANCEL) (
(EFIAPI *EFI_DNS4_CANCEL)(
IN EFI_DNS4_PROTOCOL *This,
IN EFI_DNS4_COMPLETION_TOKEN *Token
);
@@ -521,17 +520,17 @@ EFI_STATUS
/// from DNS.
///
struct _EFI_DNS4_PROTOCOL {
EFI_DNS4_GET_MODE_DATA GetModeData;
EFI_DNS4_CONFIGURE Configure;
EFI_DNS4_HOST_NAME_TO_IP HostNameToIp;
EFI_DNS4_IP_TO_HOST_NAME IpToHostName;
EFI_DNS4_GENERAL_LOOKUP GeneralLookUp;
EFI_DNS4_UPDATE_DNS_CACHE UpdateDnsCache;
EFI_DNS4_POLL Poll;
EFI_DNS4_CANCEL Cancel;
EFI_DNS4_GET_MODE_DATA GetModeData;
EFI_DNS4_CONFIGURE Configure;
EFI_DNS4_HOST_NAME_TO_IP HostNameToIp;
EFI_DNS4_IP_TO_HOST_NAME IpToHostName;
EFI_DNS4_GENERAL_LOOKUP GeneralLookUp;
EFI_DNS4_UPDATE_DNS_CACHE UpdateDnsCache;
EFI_DNS4_POLL Poll;
EFI_DNS4_CANCEL Cancel;
};
extern EFI_GUID gEfiDns4ServiceBindingProtocolGuid;
extern EFI_GUID gEfiDns4ProtocolGuid;
extern EFI_GUID gEfiDns4ServiceBindingProtocolGuid;
extern EFI_GUID gEfiDns4ProtocolGuid;
#endif

View File

@@ -35,23 +35,23 @@ typedef struct {
/// If TRUE, enable DNS cache function for this DNS instance. If FALSE, all DNS query
/// will not lookup local DNS cache.
///
BOOLEAN EnableDnsCache;
BOOLEAN EnableDnsCache;
///
/// Use the protocol number defined in
/// http://www.iana.org/assignments/protocol-numbers. Beside TCP/UDP, Other protocol
/// is invalid value. An implementation can choose to support UDP, or both TCP and UDP.
///
UINT8 Protocol;
UINT8 Protocol;
///
/// The local IP address to use. Set to zero to let the underlying IPv6
/// driver choose a source address. If not zero it must be one of the
/// configured IP addresses in the underlying IPv6 driver.
///
EFI_IPv6_ADDRESS StationIp;
EFI_IPv6_ADDRESS StationIp;
///
/// Local port number. Set to zero to use the automatically assigned port number.
///
UINT16 LocalPort;
UINT16 LocalPort;
///
/// Count of the DNS servers. When used with GetModeData(),
/// this field is the count of originally configured servers when
@@ -60,7 +60,7 @@ typedef struct {
/// DnsServerListCount is zero, the DNS server configuration
/// will be retrieved from DHCP server automatically.
///
UINT32 DnsServerCount;
UINT32 DnsServerCount;
///
/// Pointer to DNS server list containing DnsServerListCount
/// entries or NULL if DnsServerListCount is 0. For Configure(),
@@ -72,15 +72,15 @@ typedef struct {
/// freed by the caller. When used with Configure(), the buffer
/// containing the list will be allocated and released by the caller.
///
EFI_IPv6_ADDRESS *DnsServerList;
EFI_IPv6_ADDRESS *DnsServerList;
///
/// Retry number if no response received after RetryInterval.
///
UINT32 RetryCount;
UINT32 RetryCount;
///
/// Minimum interval of retry is 2 second. If the retry interval is less than 2
/// seconds, then use the 2 seconds.
UINT32 RetryInterval;
UINT32 RetryInterval;
} EFI_DNS6_CONFIG_DATA;
///
@@ -90,18 +90,18 @@ typedef struct {
///
/// Host name. This should be interpreted as Unicode characters.
///
CHAR16 *HostName;
CHAR16 *HostName;
///
/// IP address of this host.
///
EFI_IPv6_ADDRESS *IpAddress;
EFI_IPv6_ADDRESS *IpAddress;
///
/// Time in second unit that this entry will remain in DNS cache. A value of zero means
/// that this entry is permanent. A nonzero value will override the existing one if
/// this entry to be added is dynamic entry. Implementations may set its default
/// timeout value for the dynamically created DNS cache entry after one DNS resolve
/// succeeds.
UINT32 Timeout;
UINT32 Timeout;
} EFI_DNS6_CACHE_ENTRY;
///
@@ -111,28 +111,28 @@ typedef struct {
///
/// The configuration data of this instance.
///
EFI_DNS6_CONFIG_DATA DnsConfigData;
EFI_DNS6_CONFIG_DATA DnsConfigData;
///
/// Number of configured DNS6 servers.
///
UINT32 DnsServerCount;
UINT32 DnsServerCount;
///
/// Pointer to common list of addresses of all configured DNS server used by EFI_DNS6_PROTOCOL
/// instances. List will include DNS servers configured by this or any other EFI_DNS6_PROTOCOL
/// instance. The storage for this list is allocated by the driver publishing this protocol,
/// and must be freed by the caller.
///
EFI_IPv6_ADDRESS *DnsServerList;
EFI_IPv6_ADDRESS *DnsServerList;
///
/// Number of DNS Cache entries. The DNS Cache is shared among all DNS instances.
///
UINT32 DnsCacheCount;
UINT32 DnsCacheCount;
///
/// Pointer to a buffer containing DnsCacheCount DNS Cache
/// entry structures. The storage for thislist is allocated by the driver
/// publishing this protocol and must be freed by caller.
///
EFI_DNS6_CACHE_ENTRY *DnsCacheList;
EFI_DNS6_CACHE_ENTRY *DnsCacheList;
} EFI_DNS6_MODE_DATA;
///
@@ -142,11 +142,11 @@ typedef struct {
///
/// Number of the returned IP address.
///
UINT32 IpCount;
UINT32 IpCount;
///
/// Pointer to the all the returned IP address.
///
EFI_IPv6_ADDRESS *IpList;
EFI_IPv6_ADDRESS *IpList;
} DNS6_HOST_TO_ADDR_DATA;
///
@@ -157,7 +157,7 @@ typedef struct {
/// Pointer to the primary name for this host address. It's the caller's
/// responsibility to free the response memory.
///
CHAR16 *HostName;
CHAR16 *HostName;
} DNS6_ADDR_TO_HOST_DATA;
///
@@ -167,30 +167,30 @@ typedef struct {
///
/// The Owner name.
///
CHAR8 *QName;
CHAR8 *QName;
///
/// The Type Code of this RR.
///
UINT16 QType;
UINT16 QType;
///
/// The CLASS code of this RR.
///
UINT16 QClass;
UINT16 QClass;
///
/// 32 bit integer which specify the time interval that the resource record may be
/// cached before the source of the information should again be consulted. Zero means
/// this RR cannot be cached.
///
UINT32 TTL;
UINT32 TTL;
///
/// 16 big integer which specify the length of RData.
///
UINT16 DataLength;
UINT16 DataLength;
///
/// A string of octets that describe the resource, the format of this information
/// varies according to QType and QClass difference.
///
CHAR8 *RData;
CHAR8 *RData;
} DNS6_RESOURCE_RECORD;
///
@@ -200,12 +200,12 @@ typedef struct {
///
/// Number of returned matching RRs.
///
UINTN RRCount;
UINTN RRCount;
///
/// Pointer to the all the returned matching RRs. It's caller responsibility to free
/// the allocated memory to hold the returned RRs.
///
DNS6_RESOURCE_RECORD *RRList;
DNS6_RESOURCE_RECORD *RRList;
} DNS6_GENERAL_LOOKUP_DATA;
///
@@ -216,7 +216,7 @@ typedef struct {
/// This Event will be signaled after the Status field is updated by the EFI DNSv6
/// protocol driver. The type of Event must be EFI_NOTIFY_SIGNAL.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// Will be set to one of the following values:
/// EFI_SUCCESS: The host name to address translation completed successfully.
@@ -226,18 +226,18 @@ typedef struct {
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
/// EFI_NO_MEDIA: There was a media error.
///
EFI_STATUS Status;
EFI_STATUS Status;
///
/// The parameter configured through DNSv6.Configure() interface. Retry number if no
/// response received after RetryInterval.
///
UINT32 RetryCount;
UINT32 RetryCount;
///
/// The parameter configured through DNSv6.Configure() interface. Minimum interval of
/// retry is 2 seconds. If the retry interval is less than 2 seconds, then use the 2
/// seconds.
///
UINT32 RetryInterval;
UINT32 RetryInterval;
///
/// DNSv6 completion token data
///
@@ -278,7 +278,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI * EFI_DNS6_GET_MODE_DATA)(
(EFIAPI *EFI_DNS6_GET_MODE_DATA)(
IN EFI_DNS6_PROTOCOL *This,
OUT EFI_DNS6_MODE_DATA *DnsModeData
);
@@ -308,7 +308,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_DNS6_CONFIGURE)(
(EFIAPI *EFI_DNS6_CONFIGURE)(
IN EFI_DNS6_PROTOCOL *This,
IN EFI_DNS6_CONFIG_DATA *DnsConfigData
);
@@ -337,7 +337,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS6_HOST_NAME_TO_IP) (
(EFIAPI *EFI_DNS6_HOST_NAME_TO_IP)(
IN EFI_DNS6_PROTOCOL *This,
IN CHAR16 *HostName,
IN EFI_DNS6_COMPLETION_TOKEN *Token
@@ -368,7 +368,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS6_IP_TO_HOST_NAME) (
(EFIAPI *EFI_DNS6_IP_TO_HOST_NAME)(
IN EFI_DNS6_PROTOCOL *This,
IN EFI_IPv6_ADDRESS IpAddress,
IN EFI_DNS6_COMPLETION_TOKEN *Token
@@ -405,7 +405,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS6_GENERAL_LOOKUP) (
(EFIAPI *EFI_DNS6_GENERAL_LOOKUP)(
IN EFI_DNS6_PROTOCOL *This,
IN CHAR8 *QName,
IN UINT16 QType,
@@ -442,7 +442,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS6_UPDATE_DNS_CACHE) (
(EFIAPI *EFI_DNS6_UPDATE_DNS_CACHE)(
IN EFI_DNS6_PROTOCOL *This,
IN BOOLEAN DeleteFlag,
IN BOOLEAN Override,
@@ -474,7 +474,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS6_POLL) (
(EFIAPI *EFI_DNS6_POLL)(
IN EFI_DNS6_PROTOCOL *This
);
@@ -506,7 +506,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DNS6_CANCEL) (
(EFIAPI *EFI_DNS6_CANCEL)(
IN EFI_DNS6_PROTOCOL *This,
IN EFI_DNS6_COMPLETION_TOKEN *Token
);
@@ -517,17 +517,17 @@ EFI_STATUS
/// DNSv6.
///
struct _EFI_DNS6_PROTOCOL {
EFI_DNS6_GET_MODE_DATA GetModeData;
EFI_DNS6_CONFIGURE Configure;
EFI_DNS6_HOST_NAME_TO_IP HostNameToIp;
EFI_DNS6_IP_TO_HOST_NAME IpToHostName;
EFI_DNS6_GENERAL_LOOKUP GeneralLookUp;
EFI_DNS6_UPDATE_DNS_CACHE UpdateDnsCache;
EFI_DNS6_POLL Poll;
EFI_DNS6_CANCEL Cancel;
EFI_DNS6_GET_MODE_DATA GetModeData;
EFI_DNS6_CONFIGURE Configure;
EFI_DNS6_HOST_NAME_TO_IP HostNameToIp;
EFI_DNS6_IP_TO_HOST_NAME IpToHostName;
EFI_DNS6_GENERAL_LOOKUP GeneralLookUp;
EFI_DNS6_UPDATE_DNS_CACHE UpdateDnsCache;
EFI_DNS6_POLL Poll;
EFI_DNS6_CANCEL Cancel;
};
extern EFI_GUID gEfiDns6ServiceBindingProtocolGuid;
extern EFI_GUID gEfiDns6ProtocolGuid;
extern EFI_GUID gEfiDns6ServiceBindingProtocolGuid;
extern EFI_GUID gEfiDns6ProtocolGuid;
#endif

View File

@@ -20,7 +20,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
0x18a031ab, 0xb443, 0x4d1a, {0xa5, 0xc0, 0xc, 0x9, 0x26, 0x1e, 0x9f, 0x71 } \
}
typedef struct _EFI_DRIVER_BINDING_PROTOCOL EFI_DRIVER_BINDING_PROTOCOL;
typedef struct _EFI_DRIVER_BINDING_PROTOCOL EFI_DRIVER_BINDING_PROTOCOL;
/**
Tests to see if this driver supports a given controller. If a child device is provided,
@@ -155,9 +155,9 @@ EFI_STATUS
/// If a controller is supported, then it also provides routines to start and stop the controller.
///
struct _EFI_DRIVER_BINDING_PROTOCOL {
EFI_DRIVER_BINDING_SUPPORTED Supported;
EFI_DRIVER_BINDING_START Start;
EFI_DRIVER_BINDING_STOP Stop;
EFI_DRIVER_BINDING_SUPPORTED Supported;
EFI_DRIVER_BINDING_START Start;
EFI_DRIVER_BINDING_STOP Stop;
///
/// The version number of the UEFI driver that produced the
@@ -171,13 +171,13 @@ struct _EFI_DRIVER_BINDING_PROTOCOL {
/// platform/OEM specific drivers. The Version values of 0x10-
/// 0xffffffef are reserved for IHV-developed drivers.
///
UINT32 Version;
UINT32 Version;
///
/// The image handle of the UEFI driver that produced this instance
/// of the EFI_DRIVER_BINDING_PROTOCOL.
///
EFI_HANDLE ImageHandle;
EFI_HANDLE ImageHandle;
///
/// The handle on which this instance of the
@@ -187,9 +187,9 @@ struct _EFI_DRIVER_BINDING_PROTOCOL {
/// EFI_DRIVER_BINDING_PROTOCOL, this value may not be
/// the same as ImageHandle.
///
EFI_HANDLE DriverBindingHandle;
EFI_HANDLE DriverBindingHandle;
};
extern EFI_GUID gEfiDriverBindingProtocolGuid;
extern EFI_GUID gEfiDriverBindingProtocolGuid;
#endif

View File

@@ -19,7 +19,7 @@
0x107a772b, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
}
typedef struct _EFI_DRIVER_CONFIGURATION_PROTOCOL EFI_DRIVER_CONFIGURATION_PROTOCOL;
typedef struct _EFI_DRIVER_CONFIGURATION_PROTOCOL EFI_DRIVER_CONFIGURATION_PROTOCOL;
/**
Allows the user to set controller specific options for a controller that a
@@ -139,23 +139,21 @@ EFI_STATUS
OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired
);
///
/// Used to set configuration options for a controller that an EFI Driver is managing.
///
struct _EFI_DRIVER_CONFIGURATION_PROTOCOL {
EFI_DRIVER_CONFIGURATION_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION_FORCE_DEFAULTS ForceDefaults;
EFI_DRIVER_CONFIGURATION_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION_FORCE_DEFAULTS ForceDefaults;
///
/// A Null-terminated ASCII string that contains one or more
/// ISO 639-2 language codes. This is the list of language
/// codes that this protocol supports.
///
CHAR8 *SupportedLanguages;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiDriverConfigurationProtocolGuid;
extern EFI_GUID gEfiDriverConfigurationProtocolGuid;
#endif

View File

@@ -17,19 +17,19 @@
0xbfd7dc1d, 0x24f1, 0x40d9, {0x82, 0xe7, 0x2e, 0x09, 0xbb, 0x6b, 0x4e, 0xbe } \
}
typedef struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL EFI_DRIVER_CONFIGURATION2_PROTOCOL;
typedef struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL EFI_DRIVER_CONFIGURATION2_PROTOCOL;
typedef enum {
///
/// The controller is still in a usable state. No actions
/// are required before this controller can be used again.
///
EfiDriverConfigurationActionNone = 0,
EfiDriverConfigurationActionNone = 0,
///
/// The driver has detected that the controller is not in a
/// usable state, and it needs to be stopped.
///
EfiDriverConfigurationActionStopController = 1,
EfiDriverConfigurationActionStopController = 1,
///
/// This controller needs to be stopped and restarted
/// before it can be used again.
@@ -39,14 +39,14 @@ typedef enum {
/// A configuration change has been made that requires the platform to be restarted before
/// the controller can be used again.
///
EfiDriverConfigurationActionRestartPlatform = 3,
EfiDriverConfigurationActionRestartPlatform = 3,
EfiDriverConfigurationActionMaximum
} EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED;
#define EFI_DRIVER_CONFIGURATION_SAFE_DEFAULTS 0x00000000
#define EFI_DRIVER_CONFIGURATION_MANUFACTURING_DEFAULTS 0x00000001
#define EFI_DRIVER_CONFIGURATION_CUSTOM_DEFAULTS 0x00000002
#define EFI_DRIVER_CONFIGURATION_PERORMANCE_DEFAULTS 0x00000003
#define EFI_DRIVER_CONFIGURATION_SAFE_DEFAULTS 0x00000000
#define EFI_DRIVER_CONFIGURATION_MANUFACTURING_DEFAULTS 0x00000001
#define EFI_DRIVER_CONFIGURATION_CUSTOM_DEFAULTS 0x00000002
#define EFI_DRIVER_CONFIGURATION_PERORMANCE_DEFAULTS 0x00000003
/**
Allows the user to set controller specific options for a controller that a
@@ -169,16 +169,16 @@ EFI_STATUS
/// Used to set configuration options for a controller that an EFI Driver is managing.
///
struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL {
EFI_DRIVER_CONFIGURATION2_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION2_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS ForceDefaults;
EFI_DRIVER_CONFIGURATION2_SET_OPTIONS SetOptions;
EFI_DRIVER_CONFIGURATION2_OPTIONS_VALID OptionsValid;
EFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS ForceDefaults;
///
/// A Null-terminated ASCII string that contains one or more RFC 4646
/// language codes. This is the list of language codes that this protocol supports.
///
CHAR8 *SupportedLanguages;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiDriverConfiguration2ProtocolGuid;
extern EFI_GUID gEfiDriverConfiguration2ProtocolGuid;
#endif

View File

@@ -17,29 +17,29 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
0x0784924f, 0xe296, 0x11d4, {0x9a, 0x49, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
}
typedef struct _EFI_DRIVER_DIAGNOSTICS_PROTOCOL EFI_DRIVER_DIAGNOSTICS_PROTOCOL;
typedef struct _EFI_DRIVER_DIAGNOSTICS_PROTOCOL EFI_DRIVER_DIAGNOSTICS_PROTOCOL;
typedef enum {
///
/// Performs standard diagnostics on the controller.
///
EfiDriverDiagnosticTypeStandard = 0,
EfiDriverDiagnosticTypeStandard = 0,
///
/// This is an optional diagnostic type that performs diagnostics on the controller that may
/// take an extended amount of time to execute.
///
EfiDriverDiagnosticTypeExtended = 1,
EfiDriverDiagnosticTypeExtended = 1,
///
/// This is an optional diagnostic type that performs diagnostics on the controller that are
/// suitable for a manufacturing and test environment.
///
EfiDriverDiagnosticTypeManufacturing= 2,
EfiDriverDiagnosticTypeManufacturing = 2,
///
/// This is an optional diagnostic type that would only be used in the situation where an
/// EFI_NOT_READY had been returned by a previous call to RunDiagnostics()
/// and there is a desire to cancel the current running diagnostics operation.
///
EfiDriverDiagnosticTypeCancel = 3,
EfiDriverDiagnosticTypeCancel = 3,
EfiDriverDiagnosticTypeMaximum
} EFI_DRIVER_DIAGNOSTIC_TYPE;
@@ -112,14 +112,14 @@ EFI_STATUS
/// Used to perform diagnostics on a controller that an EFI Driver is managing.
///
struct _EFI_DRIVER_DIAGNOSTICS_PROTOCOL {
EFI_DRIVER_DIAGNOSTICS_RUN_DIAGNOSTICS RunDiagnostics;
EFI_DRIVER_DIAGNOSTICS_RUN_DIAGNOSTICS RunDiagnostics;
///
/// A Null-terminated ASCII string that contains one or more ISO 639-2
/// language codes. This is the list of language codes that this protocol supports.
///
CHAR8 *SupportedLanguages;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiDriverDiagnosticsProtocolGuid;
extern EFI_GUID gEfiDriverDiagnosticsProtocolGuid;
#endif

View File

@@ -16,7 +16,7 @@
0x4d330321, 0x025f, 0x4aac, {0x90, 0xd8, 0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63 } \
}
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;
/**
Runs diagnostics on a controller.
@@ -92,14 +92,14 @@ EFI_STATUS
/// Used to perform diagnostics on a controller that an EFI Driver is managing.
///
struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL {
EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS RunDiagnostics;
EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS RunDiagnostics;
///
/// A Null-terminated ASCII string that contains one or more RFC 4646
/// language codes. This is the list of language codes that this protocol supports.
///
CHAR8 *SupportedLanguages;
CHAR8 *SupportedLanguages;
};
extern EFI_GUID gEfiDriverDiagnostics2ProtocolGuid;
extern EFI_GUID gEfiDriverDiagnostics2ProtocolGuid;
#endif

View File

@@ -14,12 +14,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
0xb1ee129e, 0xda36, 0x4181, { 0x91, 0xf8, 0x4, 0xa4, 0x92, 0x37, 0x66, 0xa7 } \
}
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
//
// Prototypes for the Driver Family Override Protocol
//
//
/**
This function returns the version value associated with the driver specified by This.
@@ -52,9 +53,9 @@ UINT32
/// Bus Specific Driver Override Protocol.
///
struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL {
EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION GetVersion;
EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION GetVersion;
};
extern EFI_GUID gEfiDriverFamilyOverrideProtocolGuid;
extern EFI_GUID gEfiDriverFamilyOverrideProtocolGuid;
#endif

View File

@@ -37,7 +37,7 @@
0x2a534210, 0x9280, 0x41d8, { 0xae, 0x79, 0xca, 0xda, 0x1, 0xa2, 0xb1, 0x27 } \
}
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL EFI_DRIVER_HEALTH_PROTOCOL;
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL EFI_DRIVER_HEALTH_PROTOCOL;
///
/// EFI_DRIVER_HEALTH_HEALTH_STATUS
@@ -55,8 +55,8 @@ typedef enum {
/// EFI_DRIVER_HEALTH_HII_MESSAGE
///
typedef struct {
EFI_HII_HANDLE HiiHandle;
EFI_STRING_ID StringId;
EFI_HII_HANDLE HiiHandle;
EFI_STRING_ID StringId;
///
/// 64-bit numeric value of the warning/error specified by this message.
@@ -66,7 +66,7 @@ typedef struct {
/// The values 0x8000000000000000 to 0x8fffffffffffffff is reserved for platform/OEM drivers.
/// All other values are reserved and should not be used.
///
UINT64 MessageCode;
UINT64 MessageCode;
} EFI_DRIVER_HEALTH_HII_MESSAGE;
/**
@@ -228,14 +228,10 @@ EFI_STATUS
/// hardware configuration changes.
///
struct _EFI_DRIVER_HEALTH_PROTOCOL {
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;
EFI_DRIVER_HEALTH_REPAIR Repair;
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;
EFI_DRIVER_HEALTH_REPAIR Repair;
};
extern EFI_GUID gEfiDriverHealthProtocolGuid;
extern EFI_GUID gEfiDriverHealthProtocolGuid;
#endif

View File

@@ -15,7 +15,6 @@
#define EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL_GUID \
{ 0x5c198761, 0x16a8, 0x4e69, { 0x97, 0x2c, 0x89, 0xd6, 0x79, 0x54, 0xf8, 0x1d } }
///
/// The EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL provides a
/// mechanism for an EFI driver to publish the version of the EFI
@@ -28,13 +27,13 @@ typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL {
/// The size, in bytes, of the entire structure. Future versions of this
/// specification may grow the size of the structure.
///
UINT32 Length;
UINT32 Length;
///
/// The latest version of the UEFI specification that this driver conforms to.
///
UINT32 FirmwareVersion;
UINT32 FirmwareVersion;
} EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;
extern EFI_GUID gEfiDriverSupportedEfiVersionProtocolGuid;
extern EFI_GUID gEfiDriverSupportedEfiVersionProtocolGuid;
#endif

View File

@@ -14,6 +14,6 @@
0x60ff8964, 0xe906, 0x41d0, { 0xaf, 0xed, 0xf2, 0x41, 0xe9, 0x74, 0xe0, 0x8e } \
}
extern EFI_GUID gEfiDxeMmReadyToLockProtocolGuid;
extern EFI_GUID gEfiDxeMmReadyToLockProtocolGuid;
#endif

View File

@@ -27,8 +27,8 @@
#include <Protocol/DxeMmReadyToLock.h>
#define EFI_DXE_SMM_READY_TO_LOCK_PROTOCOL_GUID EFI_DXE_MM_READY_TO_LOCK_PROTOCOL_GUID
#define EFI_DXE_SMM_READY_TO_LOCK_PROTOCOL_GUID EFI_DXE_MM_READY_TO_LOCK_PROTOCOL_GUID
extern EFI_GUID gEfiDxeSmmReadyToLockProtocolGuid;
extern EFI_GUID gEfiDxeSmmReadyToLockProtocolGuid;
#endif

View File

@@ -16,7 +16,6 @@
#ifndef __EFI_EAP_PROTOCOL_H__
#define __EFI_EAP_PROTOCOL_H__
#define EFI_EAP_PROTOCOL_GUID \
{ \
0x5d9f96db, 0xe731, 0x4caa, {0xa0, 0xd, 0x72, 0xe1, 0x87, 0xcd, 0x77, 0x62 } \
@@ -28,21 +27,21 @@ typedef struct _EFI_EAP_PROTOCOL EFI_EAP_PROTOCOL;
/// Type for the identification number assigned to the Port by the
/// System in which the Port resides.
///
typedef VOID * EFI_PORT_HANDLE;
typedef VOID *EFI_PORT_HANDLE;
///
/// EAP Authentication Method Type (RFC 3748)
///@{
#define EFI_EAP_TYPE_TLS 13 ///< REQUIRED - RFC 5216
#define EFI_EAP_TYPE_TLS 13///< REQUIRED - RFC 5216
///@}
//
// EAP_TYPE MD5, OTP and TOEKN_CARD has been removed from UEFI2.3.1B.
// Definitions are kept for backward compatibility.
//
#define EFI_EAP_TYPE_MD5 4
#define EFI_EAP_TYPE_OTP 5
#define EFI_EAP_TYPE_TOKEN_CARD 6
#define EFI_EAP_TYPE_MD5 4
#define EFI_EAP_TYPE_OTP 5
#define EFI_EAP_TYPE_TOKEN_CARD 6
/**
One user provided EAP authentication method.
@@ -146,11 +145,10 @@ EFI_STATUS
/// Port means a NIC. For the details of EAP protocol, please refer to RFC 2284.
///
struct _EFI_EAP_PROTOCOL {
EFI_EAP_SET_DESIRED_AUTHENTICATION_METHOD SetDesiredAuthMethod;
EFI_EAP_REGISTER_AUTHENTICATION_METHOD RegisterAuthMethod;
EFI_EAP_SET_DESIRED_AUTHENTICATION_METHOD SetDesiredAuthMethod;
EFI_EAP_REGISTER_AUTHENTICATION_METHOD RegisterAuthMethod;
};
extern EFI_GUID gEfiEapProtocolGuid;
extern EFI_GUID gEfiEapProtocolGuid;
#endif

View File

@@ -25,7 +25,7 @@ typedef struct _EFI_EAP_CONFIGURATION_PROTOCOL EFI_EAP_CONFIGURATION_PROTOCOL;
///
/// Make sure it not conflict with any real EapTypeXXX
///
#define EFI_EAP_TYPE_ATTRIBUTE 0
#define EFI_EAP_TYPE_ATTRIBUTE 0
typedef enum {
///
@@ -98,7 +98,7 @@ typedef UINT8 EFI_EAP_TYPE;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_EAP_CONFIGURATION_SET_DATA) (
(EFIAPI *EFI_EAP_CONFIGURATION_SET_DATA)(
IN EFI_EAP_CONFIGURATION_PROTOCOL *This,
IN EFI_EAP_TYPE EapType,
IN EFI_EAP_CONFIG_DATA_TYPE DataType,
@@ -130,7 +130,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_EAP_CONFIGURATION_GET_DATA) (
(EFIAPI *EFI_EAP_CONFIGURATION_GET_DATA)(
IN EFI_EAP_CONFIGURATION_PROTOCOL *This,
IN EFI_EAP_TYPE EapType,
IN EFI_EAP_CONFIG_DATA_TYPE DataType,
@@ -144,10 +144,10 @@ EFI_STATUS
/// private key file.
///
struct _EFI_EAP_CONFIGURATION_PROTOCOL {
EFI_EAP_CONFIGURATION_SET_DATA SetData;
EFI_EAP_CONFIGURATION_GET_DATA GetData;
EFI_EAP_CONFIGURATION_SET_DATA SetData;
EFI_EAP_CONFIGURATION_GET_DATA GetData;
};
extern EFI_GUID gEfiEapConfigurationProtocolGuid;
extern EFI_GUID gEfiEapConfigurationProtocolGuid;
#endif

View File

@@ -30,8 +30,8 @@ typedef struct _EFI_EAP_MANAGEMENT_PROTOCOL EFI_EAP_MANAGEMENT_PROTOCOL;
/// PAE Capabilities
///
///@{
#define PAE_SUPPORT_AUTHENTICATOR 0x01
#define PAE_SUPPORT_SUPPLICANT 0x02
#define PAE_SUPPORT_AUTHENTICATOR 0x01
#define PAE_SUPPORT_SUPPLICANT 0x02
///@}
///
@@ -42,18 +42,18 @@ typedef struct _EFI_EAPOL_PORT_INFO {
/// The identification number assigned to the Port by the System in
/// which the Port resides.
///
EFI_PORT_HANDLE PortNumber;
EFI_PORT_HANDLE PortNumber;
///
/// The protocol version number of the EAPOL implementation
/// supported by the Port.
///
UINT8 ProtocolVersion;
UINT8 ProtocolVersion;
///
/// The capabilities of the PAE associated with the Port. This field
/// indicates whether Authenticator functionality, Supplicant
/// functionality, both, or neither, is supported by the Port's PAE.
///
UINT8 PaeCapabilities;
UINT8 PaeCapabilities;
} EFI_EAPOL_PORT_INFO;
///
@@ -74,10 +74,10 @@ typedef enum _EFI_EAPOL_SUPPLICANT_PAE_STATE {
/// Definitions for ValidFieldMask
///
///@{
#define AUTH_PERIOD_FIELD_VALID 0x01
#define HELD_PERIOD_FIELD_VALID 0x02
#define START_PERIOD_FIELD_VALID 0x04
#define MAX_START_FIELD_VALID 0x08
#define AUTH_PERIOD_FIELD_VALID 0x01
#define HELD_PERIOD_FIELD_VALID 0x02
#define START_PERIOD_FIELD_VALID 0x04
#define MAX_START_FIELD_VALID 0x08
///@}
///
@@ -87,25 +87,25 @@ typedef struct _EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION {
///
/// Indicates which of the following fields are valid.
///
UINT8 ValidFieldMask;
UINT8 ValidFieldMask;
///
/// The initial value for the authWhile timer. Its default value is 30s.
///
UINTN AuthPeriod;
UINTN AuthPeriod;
///
/// The initial value for the heldWhile timer. Its default value is 60s.
///
UINTN HeldPeriod;
UINTN HeldPeriod;
///
/// The initial value for the startWhen timer. Its default value is 30s.
///
UINTN StartPeriod;
UINTN StartPeriod;
///
/// The maximum number of successive EAPOL-Start messages will
/// be sent before the Supplicant assumes that there is no
/// Authenticator present. Its default value is 3.
///
UINTN MaxStart;
UINTN MaxStart;
} EFI_EAPOL_SUPPLICANT_PAE_CONFIGURATION;
///
@@ -115,55 +115,55 @@ typedef struct _EFI_EAPOL_SUPPLICANT_PAE_STATISTICS {
///
/// The number of EAPOL frames of any type that have been received by this Supplican.
///
UINTN EapolFramesReceived;
UINTN EapolFramesReceived;
///
/// The number of EAPOL frames of any type that have been transmitted by this Supplicant.
///
UINTN EapolFramesTransmitted;
UINTN EapolFramesTransmitted;
///
/// The number of EAPOL Start frames that have been transmitted by this Supplicant.
///
UINTN EapolStartFramesTransmitted;
UINTN EapolStartFramesTransmitted;
///
/// The number of EAPOL Logoff frames that have been transmitted by this Supplicant.
///
UINTN EapolLogoffFramesTransmitted;
UINTN EapolLogoffFramesTransmitted;
///
/// The number of EAP Resp/Id frames that have been transmitted by this Supplicant.
///
UINTN EapRespIdFramesTransmitted;
UINTN EapRespIdFramesTransmitted;
///
/// The number of valid EAP Response frames (other than Resp/Id frames) that have been
/// transmitted by this Supplicant.
///
UINTN EapResponseFramesTransmitted;
UINTN EapResponseFramesTransmitted;
///
/// The number of EAP Req/Id frames that have been received by this Supplicant.
///
UINTN EapReqIdFramesReceived;
UINTN EapReqIdFramesReceived;
///
/// The number of EAP Request frames (other than Rq/Id frames) that have been received
/// by this Supplicant.
///
UINTN EapRequestFramesReceived;
UINTN EapRequestFramesReceived;
///
/// The number of EAPOL frames that have been received by this Supplicant in which the
/// frame type is not recognized.
///
UINTN InvalidEapolFramesReceived;
UINTN InvalidEapolFramesReceived;
///
/// The number of EAPOL frames that have been received by this Supplicant in which the
/// Packet Body Length field (7.5.5) is invalid.
///
UINTN EapLengthErrorFramesReceived;
UINTN EapLengthErrorFramesReceived;
///
/// The protocol version number carried in the most recently received EAPOL frame.
///
UINTN LastEapolFrameVersion;
UINTN LastEapolFrameVersion;
///
/// The source MAC address carried in the most recently received EAPOL frame.
///
UINTN LastEapolFrameSource;
UINTN LastEapolFrameSource;
} EFI_EAPOL_SUPPLICANT_PAE_STATISTICS;
/**
@@ -391,7 +391,6 @@ struct _EFI_EAP_MANAGEMENT_PROTOCOL {
EFI_EAP_GET_SUPPLICANT_STATISTICS GetSupplicantStatistics;
};
extern EFI_GUID gEfiEapManagementProtocolGuid;
extern EFI_GUID gEfiEapManagementProtocolGuid;
#endif

View File

@@ -49,7 +49,7 @@ typedef struct _EFI_EAP_MANAGEMENT2_PROTOCOL EFI_EAP_MANAGEMENT2_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_EAP_GET_KEY) (
(EFIAPI *EFI_EAP_GET_KEY)(
IN EFI_EAP_MANAGEMENT2_PROTOCOL *This,
IN OUT UINT8 *Msk,
IN OUT UINTN *MskSize,
@@ -76,6 +76,6 @@ struct _EFI_EAP_MANAGEMENT2_PROTOCOL {
EFI_EAP_GET_KEY GetKey;
};
extern EFI_GUID gEfiEapManagement2ProtocolGuid;
extern EFI_GUID gEfiEapManagement2ProtocolGuid;
#endif

View File

@@ -59,26 +59,26 @@
//
// #define OPCODE_27 0x27
//
#define OPCODE_MOVQQ 0x28 // Does this go away?
#define OPCODE_LOADSP 0x29
#define OPCODE_STORESP 0x2A
#define OPCODE_PUSH 0x2B
#define OPCODE_POP 0x2C
#define OPCODE_CMPIEQ 0x2D
#define OPCODE_CMPILTE 0x2E
#define OPCODE_CMPIGTE 0x2F
#define OPCODE_CMPIULTE 0x30
#define OPCODE_CMPIUGTE 0x31
#define OPCODE_MOVNW 0x32
#define OPCODE_MOVND 0x33
#define OPCODE_MOVQQ 0x28 // Does this go away?
#define OPCODE_LOADSP 0x29
#define OPCODE_STORESP 0x2A
#define OPCODE_PUSH 0x2B
#define OPCODE_POP 0x2C
#define OPCODE_CMPIEQ 0x2D
#define OPCODE_CMPILTE 0x2E
#define OPCODE_CMPIGTE 0x2F
#define OPCODE_CMPIULTE 0x30
#define OPCODE_CMPIUGTE 0x31
#define OPCODE_MOVNW 0x32
#define OPCODE_MOVND 0x33
//
// #define OPCODE_34 0x34
//
#define OPCODE_PUSHN 0x35
#define OPCODE_POPN 0x36
#define OPCODE_MOVI 0x37
#define OPCODE_MOVIN 0x38
#define OPCODE_MOVREL 0x39
#define OPCODE_PUSHN 0x35
#define OPCODE_POPN 0x36
#define OPCODE_MOVI 0x37
#define OPCODE_MOVIN 0x38
#define OPCODE_MOVREL 0x39
//
// Bit masks for opcode encodings
@@ -103,16 +103,16 @@
//
// Bit masks for operand encodings
//
#define OPERAND_M_INDIRECT1 0x08
#define OPERAND_M_INDIRECT2 0x80
#define OPERAND_M_OP1 0x07
#define OPERAND_M_OP2 0x70
#define OPERAND_M_INDIRECT1 0x08
#define OPERAND_M_INDIRECT2 0x80
#define OPERAND_M_OP1 0x07
#define OPERAND_M_OP2 0x70
//
// Masks for data manipulation instructions
//
#define DATAMANIP_M_64 0x40 // 64-bit width operation
#define DATAMANIP_M_IMMDATA 0x80
#define DATAMANIP_M_64 0x40 // 64-bit width operation
#define DATAMANIP_M_IMMDATA 0x80
//
// For MOV instructions, need a mask for the opcode when immediate
@@ -139,46 +139,46 @@
//
// Masks for CALL instruction encodings
//
#define OPERAND_M_RELATIVE_ADDR 0x10
#define OPERAND_M_NATIVE_CALL 0x20
#define OPERAND_M_RELATIVE_ADDR 0x10
#define OPERAND_M_NATIVE_CALL 0x20
//
// Masks for decoding push/pop instructions
//
#define PUSHPOP_M_IMMDATA 0x80 // opcode bit indicating immediate data
#define PUSHPOP_M_64 0x40 // opcode bit indicating 64-bit operation
#define PUSHPOP_M_IMMDATA 0x80 // opcode bit indicating immediate data
#define PUSHPOP_M_64 0x40 // opcode bit indicating 64-bit operation
//
// Mask for operand of JMP instruction
//
#define JMP_M_RELATIVE 0x10
#define JMP_M_CONDITIONAL 0x80
#define JMP_M_CS 0x40
#define JMP_M_RELATIVE 0x10
#define JMP_M_CONDITIONAL 0x80
#define JMP_M_CS 0x40
//
// Macros to determine if a given operand is indirect
//
#define OPERAND1_INDIRECT(op) ((op) & OPERAND_M_INDIRECT1)
#define OPERAND2_INDIRECT(op) ((op) & OPERAND_M_INDIRECT2)
#define OPERAND1_INDIRECT(op) ((op) & OPERAND_M_INDIRECT1)
#define OPERAND2_INDIRECT(op) ((op) & OPERAND_M_INDIRECT2)
//
// Macros to extract the operands from second byte of instructions
//
#define OPERAND1_REGNUM(op) ((op) & OPERAND_M_OP1)
#define OPERAND2_REGNUM(op) (((op) & OPERAND_M_OP2) >> 4)
#define OPERAND1_REGNUM(op) ((op) & OPERAND_M_OP1)
#define OPERAND2_REGNUM(op) (((op) & OPERAND_M_OP2) >> 4)
#define OPERAND1_CHAR(op) ('0' + OPERAND1_REGNUM (op))
#define OPERAND2_CHAR(op) ('0' + OPERAND2_REGNUM (op))
#define OPERAND1_CHAR(op) ('0' + OPERAND1_REGNUM (op))
#define OPERAND2_CHAR(op) ('0' + OPERAND2_REGNUM (op))
//
// Condition masks usually for byte 1 encodings of code
//
#define CONDITION_M_CONDITIONAL 0x80
#define CONDITION_M_CS 0x40
#define CONDITION_M_CONDITIONAL 0x80
#define CONDITION_M_CS 0x40
///
/// Protocol Guid Name defined in spec.
///
#define EFI_EBC_PROTOCOL_GUID EFI_EBC_INTERPRETER_PROTOCOL_GUID
#define EFI_EBC_PROTOCOL_GUID EFI_EBC_INTERPRETER_PROTOCOL_GUID
///
/// Define for forward reference.
@@ -294,15 +294,15 @@ EFI_STATUS
/// image can then be run using the standard EFI start image services.
///
struct _EFI_EBC_PROTOCOL {
EFI_EBC_CREATE_THUNK CreateThunk;
EFI_EBC_UNLOAD_IMAGE UnloadImage;
EFI_EBC_REGISTER_ICACHE_FLUSH RegisterICacheFlush;
EFI_EBC_GET_VERSION GetVersion;
EFI_EBC_CREATE_THUNK CreateThunk;
EFI_EBC_UNLOAD_IMAGE UnloadImage;
EFI_EBC_REGISTER_ICACHE_FLUSH RegisterICacheFlush;
EFI_EBC_GET_VERSION GetVersion;
};
//
// Extern the global EBC protocol GUID
//
extern EFI_GUID gEfiEbcProtocolGuid;
extern EFI_GUID gEfiEbcProtocolGuid;
#endif

View File

@@ -28,7 +28,7 @@ typedef struct {
/// is available from the video output device. Otherwise, it must be a
/// minimum of 128 bytes.
///
UINT32 SizeOfEdid;
UINT32 SizeOfEdid;
///
/// A pointer to a read-only array of bytes that contains the EDID
@@ -41,6 +41,6 @@ typedef struct {
UINT8 *Edid;
} EFI_EDID_ACTIVE_PROTOCOL;
extern EFI_GUID gEfiEdidActiveProtocolGuid;
extern EFI_GUID gEfiEdidActiveProtocolGuid;
#endif

View File

@@ -26,7 +26,7 @@ typedef struct {
/// is available from the video output device. Otherwise, it must be a
/// minimum of 128 bytes.
///
UINT32 SizeOfEdid;
UINT32 SizeOfEdid;
///
/// A pointer to a read-only array of bytes that contains the EDID
@@ -39,6 +39,6 @@ typedef struct {
UINT8 *Edid;
} EFI_EDID_DISCOVERED_PROTOCOL;
extern EFI_GUID gEfiEdidDiscoveredProtocolGuid;
extern EFI_GUID gEfiEdidDiscoveredProtocolGuid;
#endif

View File

@@ -19,8 +19,8 @@
typedef struct _EFI_EDID_OVERRIDE_PROTOCOL EFI_EDID_OVERRIDE_PROTOCOL;
#define EFI_EDID_OVERRIDE_DONT_OVERRIDE 0x01
#define EFI_EDID_OVERRIDE_ENABLE_HOT_PLUG 0x02
#define EFI_EDID_OVERRIDE_DONT_OVERRIDE 0x01
#define EFI_EDID_OVERRIDE_ENABLE_HOT_PLUG 0x02
/**
Returns policy information and potentially a replacement EDID for the specified video output device.
@@ -53,9 +53,9 @@ EFI_STATUS
/// EDID information to the producer of the Graphics Output protocol.
///
struct _EFI_EDID_OVERRIDE_PROTOCOL {
EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID GetEdid;
EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID GetEdid;
};
extern EFI_GUID gEfiEdidOverrideProtocolGuid;
extern EFI_GUID gEfiEdidOverrideProtocolGuid;
#endif

View File

@@ -19,7 +19,7 @@
typedef struct _EFI_ERASE_BLOCK_PROTOCOL EFI_ERASE_BLOCK_PROTOCOL;
#define EFI_ERASE_BLOCK_PROTOCOL_REVISION ((2<<16) | (60))
#define EFI_ERASE_BLOCK_PROTOCOL_REVISION ((2<<16) | (60))
///
/// EFI_ERASE_BLOCK_TOKEN
@@ -30,11 +30,11 @@ typedef struct {
// non-blocking I/O is supported, then non-blocking I/O is performed, and
// Event will be signaled when the erase request is completed.
//
EFI_EVENT Event;
EFI_EVENT Event;
//
// Defines whether the signaled event encountered an error.
//
EFI_STATUS TransactionStatus;
EFI_STATUS TransactionStatus;
} EFI_ERASE_BLOCK_TOKEN;
/**
@@ -66,7 +66,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BLOCK_ERASE) (
(EFIAPI *EFI_BLOCK_ERASE)(
IN EFI_ERASE_BLOCK_PROTOCOL *This,
IN UINT32 MediaId,
IN EFI_LBA LBA,
@@ -85,15 +85,15 @@ struct _EFI_ERASE_BLOCK_PROTOCOL {
// revisions must be backwards compatible. If a future version is not
// backwards compatible, it is not the same GUID.
//
UINT64 Revision;
UINT64 Revision;
//
// Returns the erase length granularity as a number of logical blocks. A
// value of 1 means the erase granularity is one logical block.
//
UINT32 EraseLengthGranularity;
EFI_BLOCK_ERASE EraseBlocks;
UINT32 EraseLengthGranularity;
EFI_BLOCK_ERASE EraseBlocks;
};
extern EFI_GUID gEfiEraseBlockProtocolGuid;
extern EFI_GUID gEfiEraseBlockProtocolGuid;
#endif

View File

@@ -20,7 +20,6 @@
#ifndef __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__
#define __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__
#define EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GUID \
{ \
0x86c77a67, 0xb97, 0x4633, {0xa1, 0x87, 0x49, 0x10, 0x4d, 0x6, 0x85, 0xc7 } \
@@ -31,26 +30,26 @@ typedef struct _EFI_FIRMWARE_MANAGEMENT_PROTOCOL EFI_FIRMWARE_MANAGEMENT_PROTOCO
///
/// Dependency Expression Opcode
///
#define EFI_FMP_DEP_PUSH_GUID 0x00
#define EFI_FMP_DEP_PUSH_VERSION 0x01
#define EFI_FMP_DEP_VERSION_STR 0x02
#define EFI_FMP_DEP_AND 0x03
#define EFI_FMP_DEP_OR 0x04
#define EFI_FMP_DEP_NOT 0x05
#define EFI_FMP_DEP_TRUE 0x06
#define EFI_FMP_DEP_FALSE 0x07
#define EFI_FMP_DEP_EQ 0x08
#define EFI_FMP_DEP_GT 0x09
#define EFI_FMP_DEP_GTE 0x0A
#define EFI_FMP_DEP_LT 0x0B
#define EFI_FMP_DEP_LTE 0x0C
#define EFI_FMP_DEP_END 0x0D
#define EFI_FMP_DEP_PUSH_GUID 0x00
#define EFI_FMP_DEP_PUSH_VERSION 0x01
#define EFI_FMP_DEP_VERSION_STR 0x02
#define EFI_FMP_DEP_AND 0x03
#define EFI_FMP_DEP_OR 0x04
#define EFI_FMP_DEP_NOT 0x05
#define EFI_FMP_DEP_TRUE 0x06
#define EFI_FMP_DEP_FALSE 0x07
#define EFI_FMP_DEP_EQ 0x08
#define EFI_FMP_DEP_GT 0x09
#define EFI_FMP_DEP_GTE 0x0A
#define EFI_FMP_DEP_LT 0x0B
#define EFI_FMP_DEP_LTE 0x0C
#define EFI_FMP_DEP_END 0x0D
///
/// Image Attribute - Dependency
///
typedef struct {
UINT8 Dependencies[1];
UINT8 Dependencies[1];
} EFI_FIRMWARE_IMAGE_DEP;
///
@@ -61,32 +60,32 @@ typedef struct {
/// A unique number identifying the firmware image within the device. The number is
/// between 1 and DescriptorCount.
///
UINT8 ImageIndex;
UINT8 ImageIndex;
///
/// A unique GUID identifying the firmware image type.
///
EFI_GUID ImageTypeId;
EFI_GUID ImageTypeId;
///
/// A unique number identifying the firmware image.
///
UINT64 ImageId;
UINT64 ImageId;
///
/// A pointer to a null-terminated string representing the firmware image name.
///
CHAR16 *ImageIdName;
CHAR16 *ImageIdName;
///
/// Identifies the version of the device firmware. The format is vendor specific and new
/// version must have a greater value than an old version.
///
UINT32 Version;
UINT32 Version;
///
/// A pointer to a null-terminated string representing the firmware image version name.
///
CHAR16 *VersionName;
CHAR16 *VersionName;
///
/// Size of the image in bytes. If size=0, then only ImageIndex and ImageTypeId are valid.
///
UINTN Size;
UINTN Size;
///
/// Image attributes that are supported by this device. See 'Image Attribute Definitions'
/// for possible returned values of this parameter. A value of 1 indicates the attribute is
@@ -94,32 +93,32 @@ typedef struct {
/// value of 0 indicates the attribute is not supported and the current setting value in
/// AttributesSetting is meaningless.
///
UINT64 AttributesSupported;
UINT64 AttributesSupported;
///
/// Image attributes. See 'Image Attribute Definitions' for possible returned values of
/// this parameter.
///
UINT64 AttributesSetting;
UINT64 AttributesSetting;
///
/// Image compatibilities. See 'Image Compatibility Definitions' for possible returned
/// values of this parameter.
///
UINT64 Compatibilities;
UINT64 Compatibilities;
///
/// Describes the lowest ImageDescriptor version that the device will accept. Only
/// present in version 2 or higher.
///
UINT32 LowestSupportedImageVersion;
UINT32 LowestSupportedImageVersion;
///
/// Describes the version that was last attempted to update. If no update attempted the
/// value will be 0. If the update attempted was improperly formatted and no version
/// number was available then the value will be zero. Only present in version 3 or higher.
UINT32 LastAttemptVersion;
UINT32 LastAttemptVersion;
///
/// Describes the status that was last attempted to update. If no update has been attempted
/// the value will be LAST_ATTEMPT_STATUS_SUCCESS. Only present in version 3 or higher.
///
UINT32 LastAttemptStatus;
UINT32 LastAttemptStatus;
///
/// An optional number to identify the unique hardware instance within the system for
/// devices that may have multiple instances (Example: a plug in pci network card). This
@@ -135,11 +134,10 @@ typedef struct {
/// unique hardware instance number or a hardware instance number is not needed. Only
/// present in version 3 or higher.
///
UINT64 HardwareInstance;
EFI_FIRMWARE_IMAGE_DEP *Dependencies;
UINT64 HardwareInstance;
EFI_FIRMWARE_IMAGE_DEP *Dependencies;
} EFI_FIRMWARE_IMAGE_DESCRIPTOR;
//
// Image Attribute Definitions
//
@@ -147,34 +145,33 @@ typedef struct {
/// The attribute IMAGE_ATTRIBUTE_IMAGE_UPDATABLE indicates this device supports firmware
/// image update.
///
#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x0000000000000001
#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x0000000000000001
///
/// The attribute IMAGE_ATTRIBUTE_RESET_REQUIRED indicates a reset of the device is required
/// for the new firmware image to take effect after a firmware update. The device is the device hosting
/// the firmware image.
///
#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
///
/// The attribute IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED indicates authentication is
/// required to perform the following image operations: GetImage(), SetImage(), and
/// CheckImage(). See 'Image Attribute - Authentication'.
///
#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
///
/// The attribute IMAGE_ATTRIBUTE_IN_USE indicates the current state of the firmware image.
/// This distinguishes firmware images in a device that supports redundant images.
///
#define IMAGE_ATTRIBUTE_IN_USE 0x0000000000000008
#define IMAGE_ATTRIBUTE_IN_USE 0x0000000000000008
///
/// The attribute IMAGE_ATTRIBUTE_UEFI_IMAGE indicates that this image is an EFI compatible image.
///
#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010
#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010
///
/// The attribute IMAGE_ATTRIBUTE_DEPENDENCY indicates that there is an EFI_FIRMWARE_IMAGE_DEP
/// section associated with the image.
///
#define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020
#define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020
//
// Image Compatibility Definitions
@@ -184,13 +181,12 @@ typedef struct {
/// Values from 0x0000000000010000 thru 0xFFFFFFFFFFFFFFFF are used by firmware vendor for
/// compatibility check.
///
#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001
#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001
///
/// Descriptor Version exposed by GetImageInfo() function
///
#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4
#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4
///
/// Image Attribute - Authentication Required
@@ -200,7 +196,7 @@ typedef struct {
/// It is included in the signature of AuthInfo. It is used to ensure freshness/no replay.
/// It is incremented during each firmware image operation.
///
UINT64 MonotonicCount;
UINT64 MonotonicCount;
///
/// Provides the authorization for the firmware image operations. It is a signature across
/// the image data and the Monotonic Count value. Caller uses the private key that is
@@ -208,10 +204,9 @@ typedef struct {
/// Because this is defined as a signature, WIN_CERTIFICATE_UEFI_GUID.CertType must
/// be EFI_CERT_TYPE_PKCS7_GUID.
///
WIN_CERTIFICATE_UEFI_GUID AuthInfo;
WIN_CERTIFICATE_UEFI_GUID AuthInfo;
} EFI_FIRMWARE_IMAGE_AUTHENTICATION;
//
// ImageUpdatable Definitions
//
@@ -221,31 +216,30 @@ typedef struct {
/// the current image. SetImage VendorCode is optional but can be used for vendor
/// specific action.
///
#define IMAGE_UPDATABLE_VALID 0x0000000000000001
#define IMAGE_UPDATABLE_VALID 0x0000000000000001
///
/// IMAGE_UPDATABLE_INVALID indicates SetImage() will reject the new image. No additional
/// information is provided for the rejection.
///
#define IMAGE_UPDATABLE_INVALID 0x0000000000000002
#define IMAGE_UPDATABLE_INVALID 0x0000000000000002
///
/// IMAGE_UPDATABLE_INVALID_TYPE indicates SetImage() will reject the new image. The
/// rejection is due to the new image is not a firmware image recognized for this device.
///
#define IMAGE_UPDATABLE_INVALID_TYPE 0x0000000000000004
#define IMAGE_UPDATABLE_INVALID_TYPE 0x0000000000000004
///
/// IMAGE_UPDATABLE_INVALID_OLD indicates SetImage() will reject the new image. The
/// rejection is due to the new image version is older than the current firmware image
/// version in the device. The device firmware update policy does not support firmware
/// version downgrade.
///
#define IMAGE_UPDATABLE_INVALID_OLD 0x0000000000000008
#define IMAGE_UPDATABLE_INVALID_OLD 0x0000000000000008
///
/// IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE indicates SetImage() will accept and update
/// the new image only if a correct VendorCode is provided or else image would be
/// rejected and SetImage will return appropriate error.
///
#define IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE 0x0000000000000010
#define IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE 0x0000000000000010
//
// Package Attribute Definitions
@@ -254,17 +248,17 @@ typedef struct {
/// The attribute PACKAGE_ATTRIBUTE_VERSION_UPDATABLE indicates this device supports the
/// update of the firmware package version.
///
#define PACKAGE_ATTRIBUTE_VERSION_UPDATABLE 0x0000000000000001
#define PACKAGE_ATTRIBUTE_VERSION_UPDATABLE 0x0000000000000001
///
/// The attribute PACKAGE_ATTRIBUTE_RESET_REQUIRED indicates a reset of the device is
/// required for the new package info to take effect after an update.
///
#define PACKAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
#define PACKAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
///
/// The attribute PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED indicates authentication
/// is required to update the package info.
///
#define PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
#define PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
/**
Callback function to report the process of the firmware updating.
@@ -551,14 +545,14 @@ EFI_STATUS
/// - Label all the firmware images within a device with a single version.
///
struct _EFI_FIRMWARE_MANAGEMENT_PROTOCOL {
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE_INFO GetImageInfo;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE GetImage;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_IMAGE SetImage;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_CHECK_IMAGE CheckImage;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_PACKAGE_INFO GetPackageInfo;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_PACKAGE_INFO SetPackageInfo;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE_INFO GetImageInfo;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE GetImage;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_IMAGE SetImage;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_CHECK_IMAGE CheckImage;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_PACKAGE_INFO GetPackageInfo;
EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_PACKAGE_INFO SetPackageInfo;
};
extern EFI_GUID gEfiFirmwareManagementProtocolGuid;
extern EFI_GUID gEfiFirmwareManagementProtocolGuid;
#endif

View File

@@ -21,62 +21,61 @@
typedef struct _EFI_FIRMWARE_VOLUME2_PROTOCOL EFI_FIRMWARE_VOLUME2_PROTOCOL;
///
/// EFI_FV_ATTRIBUTES
///
typedef UINT64 EFI_FV_ATTRIBUTES;
typedef UINT64 EFI_FV_ATTRIBUTES;
//
// EFI_FV_ATTRIBUTES bit definitions
//
// EFI_FV_ATTRIBUTES bit semantics
#define EFI_FV2_READ_DISABLE_CAP 0x0000000000000001ULL
#define EFI_FV2_READ_ENABLE_CAP 0x0000000000000002ULL
#define EFI_FV2_READ_STATUS 0x0000000000000004ULL
#define EFI_FV2_WRITE_DISABLE_CAP 0x0000000000000008ULL
#define EFI_FV2_WRITE_ENABLE_CAP 0x0000000000000010ULL
#define EFI_FV2_WRITE_STATUS 0x0000000000000020ULL
#define EFI_FV2_LOCK_CAP 0x0000000000000040ULL
#define EFI_FV2_LOCK_STATUS 0x0000000000000080ULL
#define EFI_FV2_WRITE_POLICY_RELIABLE 0x0000000000000100ULL
#define EFI_FV2_READ_LOCK_CAP 0x0000000000001000ULL
#define EFI_FV2_READ_LOCK_STATUS 0x0000000000002000ULL
#define EFI_FV2_WRITE_LOCK_CAP 0x0000000000004000ULL
#define EFI_FV2_WRITE_LOCK_STATUS 0x0000000000008000ULL
#define EFI_FV2_ALIGNMENT 0x00000000001F0000ULL
#define EFI_FV2_ALIGNMENT_1 0x0000000000000000ULL
#define EFI_FV2_ALIGNMENT_2 0x0000000000010000ULL
#define EFI_FV2_ALIGNMENT_4 0x0000000000020000ULL
#define EFI_FV2_ALIGNMENT_8 0x0000000000030000ULL
#define EFI_FV2_ALIGNMENT_16 0x0000000000040000ULL
#define EFI_FV2_ALIGNMENT_32 0x0000000000050000ULL
#define EFI_FV2_ALIGNMENT_64 0x0000000000060000ULL
#define EFI_FV2_ALIGNMENT_128 0x0000000000070000ULL
#define EFI_FV2_ALIGNMENT_256 0x0000000000080000ULL
#define EFI_FV2_ALIGNMENT_512 0x0000000000090000ULL
#define EFI_FV2_ALIGNMENT_1K 0x00000000000A0000ULL
#define EFI_FV2_ALIGNMENT_2K 0x00000000000B0000ULL
#define EFI_FV2_ALIGNMENT_4K 0x00000000000C0000ULL
#define EFI_FV2_ALIGNMENT_8K 0x00000000000D0000ULL
#define EFI_FV2_ALIGNMENT_16K 0x00000000000E0000ULL
#define EFI_FV2_ALIGNMENT_32K 0x00000000000F0000ULL
#define EFI_FV2_ALIGNMENT_64K 0x0000000000100000ULL
#define EFI_FV2_ALIGNMENT_128K 0x0000000000110000ULL
#define EFI_FV2_ALIGNMENT_256K 0x0000000000120000ULL
#define EFI_FV2_ALIGNMENT_512K 0x0000000000130000ULL
#define EFI_FV2_ALIGNMENT_1M 0x0000000000140000ULL
#define EFI_FV2_ALIGNMENT_2M 0x0000000000150000ULL
#define EFI_FV2_ALIGNMENT_4M 0x0000000000160000ULL
#define EFI_FV2_ALIGNMENT_8M 0x0000000000170000ULL
#define EFI_FV2_ALIGNMENT_16M 0x0000000000180000ULL
#define EFI_FV2_ALIGNMENT_32M 0x0000000000190000ULL
#define EFI_FV2_ALIGNMENT_64M 0x00000000001A0000ULL
#define EFI_FV2_ALIGNMENT_128M 0x00000000001B0000ULL
#define EFI_FV2_ALIGNMENT_256M 0x00000000001C0000ULL
#define EFI_FV2_ALIGNMENT_512M 0x00000000001D0000ULL
#define EFI_FV2_ALIGNMENT_1G 0x00000000001E0000ULL
#define EFI_FV2_ALIGNMENT_2G 0x00000000001F0000ULL
#define EFI_FV2_READ_DISABLE_CAP 0x0000000000000001ULL
#define EFI_FV2_READ_ENABLE_CAP 0x0000000000000002ULL
#define EFI_FV2_READ_STATUS 0x0000000000000004ULL
#define EFI_FV2_WRITE_DISABLE_CAP 0x0000000000000008ULL
#define EFI_FV2_WRITE_ENABLE_CAP 0x0000000000000010ULL
#define EFI_FV2_WRITE_STATUS 0x0000000000000020ULL
#define EFI_FV2_LOCK_CAP 0x0000000000000040ULL
#define EFI_FV2_LOCK_STATUS 0x0000000000000080ULL
#define EFI_FV2_WRITE_POLICY_RELIABLE 0x0000000000000100ULL
#define EFI_FV2_READ_LOCK_CAP 0x0000000000001000ULL
#define EFI_FV2_READ_LOCK_STATUS 0x0000000000002000ULL
#define EFI_FV2_WRITE_LOCK_CAP 0x0000000000004000ULL
#define EFI_FV2_WRITE_LOCK_STATUS 0x0000000000008000ULL
#define EFI_FV2_ALIGNMENT 0x00000000001F0000ULL
#define EFI_FV2_ALIGNMENT_1 0x0000000000000000ULL
#define EFI_FV2_ALIGNMENT_2 0x0000000000010000ULL
#define EFI_FV2_ALIGNMENT_4 0x0000000000020000ULL
#define EFI_FV2_ALIGNMENT_8 0x0000000000030000ULL
#define EFI_FV2_ALIGNMENT_16 0x0000000000040000ULL
#define EFI_FV2_ALIGNMENT_32 0x0000000000050000ULL
#define EFI_FV2_ALIGNMENT_64 0x0000000000060000ULL
#define EFI_FV2_ALIGNMENT_128 0x0000000000070000ULL
#define EFI_FV2_ALIGNMENT_256 0x0000000000080000ULL
#define EFI_FV2_ALIGNMENT_512 0x0000000000090000ULL
#define EFI_FV2_ALIGNMENT_1K 0x00000000000A0000ULL
#define EFI_FV2_ALIGNMENT_2K 0x00000000000B0000ULL
#define EFI_FV2_ALIGNMENT_4K 0x00000000000C0000ULL
#define EFI_FV2_ALIGNMENT_8K 0x00000000000D0000ULL
#define EFI_FV2_ALIGNMENT_16K 0x00000000000E0000ULL
#define EFI_FV2_ALIGNMENT_32K 0x00000000000F0000ULL
#define EFI_FV2_ALIGNMENT_64K 0x0000000000100000ULL
#define EFI_FV2_ALIGNMENT_128K 0x0000000000110000ULL
#define EFI_FV2_ALIGNMENT_256K 0x0000000000120000ULL
#define EFI_FV2_ALIGNMENT_512K 0x0000000000130000ULL
#define EFI_FV2_ALIGNMENT_1M 0x0000000000140000ULL
#define EFI_FV2_ALIGNMENT_2M 0x0000000000150000ULL
#define EFI_FV2_ALIGNMENT_4M 0x0000000000160000ULL
#define EFI_FV2_ALIGNMENT_8M 0x0000000000170000ULL
#define EFI_FV2_ALIGNMENT_16M 0x0000000000180000ULL
#define EFI_FV2_ALIGNMENT_32M 0x0000000000190000ULL
#define EFI_FV2_ALIGNMENT_64M 0x00000000001A0000ULL
#define EFI_FV2_ALIGNMENT_128M 0x00000000001B0000ULL
#define EFI_FV2_ALIGNMENT_256M 0x00000000001C0000ULL
#define EFI_FV2_ALIGNMENT_512M 0x00000000001D0000ULL
#define EFI_FV2_ALIGNMENT_1G 0x00000000001E0000ULL
#define EFI_FV2_ALIGNMENT_2G 0x00000000001F0000ULL
/**
Returns the attributes and current settings of the firmware volume.
@@ -104,11 +103,10 @@ typedef UINT64 EFI_FV_ATTRIBUTES;
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FV_GET_ATTRIBUTES)(
(EFIAPI *EFI_FV_GET_ATTRIBUTES)(
IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,
OUT EFI_FV_ATTRIBUTES *FvAttributes
);
);
/**
Modifies the current settings of the firmware volume according to the input parameter.
@@ -199,11 +197,10 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FV_SET_ATTRIBUTES)(
(EFIAPI *EFI_FV_SET_ATTRIBUTES)(
IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,
IN OUT EFI_FV_ATTRIBUTES *FvAttributes
);
);
/**
Retrieves a file and/or file information from the firmware volume.
@@ -294,7 +291,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FV_READ_FILE)(
(EFIAPI *EFI_FV_READ_FILE)(
IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,
IN CONST EFI_GUID *NameGuid,
IN OUT VOID **Buffer,
@@ -302,9 +299,7 @@ EFI_STATUS
OUT EFI_FV_FILETYPE *FoundType,
OUT EFI_FV_FILE_ATTRIBUTES *FileAttributes,
OUT UINT32 *AuthenticationStatus
);
);
/**
Locates the requested section within a file and returns it in a buffer.
@@ -402,7 +397,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FV_READ_SECTION)(
(EFIAPI *EFI_FV_READ_SECTION)(
IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,
IN CONST EFI_GUID *NameGuid,
IN EFI_SECTION_TYPE SectionType,
@@ -410,14 +405,14 @@ EFI_STATUS
IN OUT VOID **Buffer,
IN OUT UINTN *BufferSize,
OUT UINT32 *AuthenticationStatus
);
);
///
/// EFI_FV_WRITE_POLICY, two policies (unreliable write and reliable write) are defined.
///
typedef UINT32 EFI_FV_WRITE_POLICY;
#define EFI_FV_UNRELIABLE_WRITE 0x00000000
#define EFI_FV_RELIABLE_WRITE 0x00000001
#define EFI_FV_UNRELIABLE_WRITE 0x00000000
#define EFI_FV_RELIABLE_WRITE 0x00000001
//
// EFI_FV_WRITE_FILE_DATA
@@ -426,23 +421,23 @@ typedef struct {
///
/// Pointer to a GUID, which is the file name to be written.
///
EFI_GUID *NameGuid;
EFI_GUID *NameGuid;
///
/// Indicates the type of file to be written.
///
EFI_FV_FILETYPE Type;
EFI_FV_FILETYPE Type;
///
/// Indicates the attributes for the file to be written.
///
EFI_FV_FILE_ATTRIBUTES FileAttributes;
EFI_FV_FILE_ATTRIBUTES FileAttributes;
///
/// Pointer to a buffer containing the file to be written.
///
VOID *Buffer;
VOID *Buffer;
///
/// Indicates the size of the file image contained in Buffer.
///
UINT32 BufferSize;
UINT32 BufferSize;
} EFI_FV_WRITE_FILE_DATA;
/**
@@ -513,13 +508,12 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FV_WRITE_FILE)(
(EFIAPI *EFI_FV_WRITE_FILE)(
IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,
IN UINT32 NumberOfFiles,
IN EFI_FV_WRITE_POLICY WritePolicy,
IN EFI_FV_WRITE_FILE_DATA *FileData
);
);
/**
Retrieves information about the next file in the firmware volume store
@@ -598,14 +592,14 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FV_GET_NEXT_FILE)(
(EFIAPI *EFI_FV_GET_NEXT_FILE)(
IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,
IN OUT VOID *Key,
IN OUT EFI_FV_FILETYPE *FileType,
OUT EFI_GUID *NameGuid,
OUT EFI_FV_FILE_ATTRIBUTES *Attributes,
OUT UINTN *Size
);
);
/**
Return information about a firmware volume.
@@ -661,8 +655,7 @@ EFI_STATUS
IN CONST EFI_GUID *InformationType,
IN OUT UINTN *BufferSize,
OUT VOID *Buffer
);
);
/**
Sets information about a firmware volume.
@@ -711,8 +704,7 @@ EFI_STATUS
IN CONST EFI_GUID *InformationType,
IN UINTN BufferSize,
IN CONST VOID *Buffer
);
);
///
/// The Firmware Volume Protocol contains the file-level
@@ -728,29 +720,28 @@ EFI_STATUS
/// Protocol.
///
struct _EFI_FIRMWARE_VOLUME2_PROTOCOL {
EFI_FV_GET_ATTRIBUTES GetVolumeAttributes;
EFI_FV_SET_ATTRIBUTES SetVolumeAttributes;
EFI_FV_READ_FILE ReadFile;
EFI_FV_READ_SECTION ReadSection;
EFI_FV_WRITE_FILE WriteFile;
EFI_FV_GET_NEXT_FILE GetNextFile;
EFI_FV_GET_ATTRIBUTES GetVolumeAttributes;
EFI_FV_SET_ATTRIBUTES SetVolumeAttributes;
EFI_FV_READ_FILE ReadFile;
EFI_FV_READ_SECTION ReadSection;
EFI_FV_WRITE_FILE WriteFile;
EFI_FV_GET_NEXT_FILE GetNextFile;
///
/// Data field that indicates the size in bytes
/// of the Key input buffer for the
/// GetNextFile() API.
///
UINT32 KeySize;
UINT32 KeySize;
///
/// Handle of the parent firmware volume.
///
EFI_HANDLE ParentHandle;
EFI_FV_GET_INFO GetInfo;
EFI_FV_SET_INFO SetInfo;
EFI_HANDLE ParentHandle;
EFI_FV_GET_INFO GetInfo;
EFI_FV_SET_INFO SetInfo;
};
extern EFI_GUID gEfiFirmwareVolume2ProtocolGuid;
extern EFI_GUID gEfiFirmwareVolume2ProtocolGuid;
#endif

View File

@@ -44,11 +44,10 @@ typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FVB_GET_ATTRIBUTES)(
(EFIAPI *EFI_FVB_GET_ATTRIBUTES)(
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
OUT EFI_FVB_ATTRIBUTES_2 *Attributes
);
);
/**
The SetAttributes() function sets configurable firmware volume
@@ -74,11 +73,10 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FVB_SET_ATTRIBUTES)(
(EFIAPI *EFI_FVB_SET_ATTRIBUTES)(
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes
);
);
/**
The GetPhysicalAddress() function retrieves the base address of
@@ -99,10 +97,10 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FVB_GET_PHYSICAL_ADDRESS)(
(EFIAPI *EFI_FVB_GET_PHYSICAL_ADDRESS)(
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
OUT EFI_PHYSICAL_ADDRESS *Address
);
);
/**
The GetBlockSize() function retrieves the size of the requested
@@ -132,13 +130,12 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FVB_GET_BLOCK_SIZE)(
(EFIAPI *EFI_FVB_GET_BLOCK_SIZE)(
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
IN EFI_LBA Lba,
OUT UINTN *BlockSize,
OUT UINTN *NumberOfBlocks
);
);
/**
Reads the specified number of bytes into a buffer from the specified block.
@@ -195,7 +192,7 @@ EFI_STATUS
IN UINTN Offset,
IN OUT UINTN *NumBytes,
IN OUT UINT8 *Buffer
);
);
/**
Writes the specified number of bytes from the input buffer to the block.
@@ -258,22 +255,18 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FVB_WRITE)(
(EFIAPI *EFI_FVB_WRITE)(
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
IN EFI_LBA Lba,
IN UINTN Offset,
IN OUT UINTN *NumBytes,
IN UINT8 *Buffer
);
);
///
/// EFI_LBA_LIST_TERMINATOR
///
#define EFI_LBA_LIST_TERMINATOR 0xFFFFFFFFFFFFFFFFULL
#define EFI_LBA_LIST_TERMINATOR 0xFFFFFFFFFFFFFFFFULL
/**
Erases and initializes a firmware volume block.
@@ -325,10 +318,10 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_FVB_ERASE_BLOCKS)(
(EFIAPI *EFI_FVB_ERASE_BLOCKS)(
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
...
);
);
///
/// The Firmware Volume Block Protocol is the low-level interface
@@ -339,22 +332,21 @@ EFI_STATUS
/// produces the Firmware Volume Protocol will bind to the
/// Firmware Volume Block Protocol.
///
struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL{
EFI_FVB_GET_ATTRIBUTES GetAttributes;
EFI_FVB_SET_ATTRIBUTES SetAttributes;
EFI_FVB_GET_PHYSICAL_ADDRESS GetPhysicalAddress;
EFI_FVB_GET_BLOCK_SIZE GetBlockSize;
EFI_FVB_READ Read;
EFI_FVB_WRITE Write;
EFI_FVB_ERASE_BLOCKS EraseBlocks;
struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {
EFI_FVB_GET_ATTRIBUTES GetAttributes;
EFI_FVB_SET_ATTRIBUTES SetAttributes;
EFI_FVB_GET_PHYSICAL_ADDRESS GetPhysicalAddress;
EFI_FVB_GET_BLOCK_SIZE GetBlockSize;
EFI_FVB_READ Read;
EFI_FVB_WRITE Write;
EFI_FVB_ERASE_BLOCKS EraseBlocks;
///
/// The handle of the parent firmware volume.
///
EFI_HANDLE ParentHandle;
EFI_HANDLE ParentHandle;
};
extern EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid;
extern EFI_GUID gEfiFirmwareVolumeBlock2ProtocolGuid;
extern EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid;
extern EFI_GUID gEfiFirmwareVolumeBlock2ProtocolGuid;
#endif

View File

@@ -17,10 +17,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_FORM_BROWSER2_PROTOCOL_GUID \
{0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58 }}
typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
/**
@@ -41,24 +38,23 @@ typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
window will end.
**/
typedef struct {
UINTN LeftColumn;
UINTN RightColumn;
UINTN TopRow;
UINTN BottomRow;
UINTN LeftColumn;
UINTN RightColumn;
UINTN TopRow;
UINTN BottomRow;
} EFI_SCREEN_DESCRIPTOR;
typedef UINTN EFI_BROWSER_ACTION_REQUEST;
#define EFI_BROWSER_ACTION_REQUEST_NONE 0
#define EFI_BROWSER_ACTION_REQUEST_RESET 1
#define EFI_BROWSER_ACTION_REQUEST_SUBMIT 2
#define EFI_BROWSER_ACTION_REQUEST_EXIT 3
#define EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT 4
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT 5
#define EFI_BROWSER_ACTION_REQUEST_FORM_APPLY 6
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD 7
#define EFI_BROWSER_ACTION_REQUEST_RECONNECT 8
#define EFI_BROWSER_ACTION_REQUEST_NONE 0
#define EFI_BROWSER_ACTION_REQUEST_RESET 1
#define EFI_BROWSER_ACTION_REQUEST_SUBMIT 2
#define EFI_BROWSER_ACTION_REQUEST_EXIT 3
#define EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT 4
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT 5
#define EFI_BROWSER_ACTION_REQUEST_FORM_APPLY 6
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD 7
#define EFI_BROWSER_ACTION_REQUEST_RECONNECT 8
/**
Initialize the browser to display the specified configuration forms.
@@ -106,8 +102,7 @@ EFI_STATUS
IN EFI_FORM_ID FormId OPTIONAL,
IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions OPTIONAL,
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest OPTIONAL
);
);
/**
This function is called by a callback handler to retrieve uncommitted state data from the browser.
@@ -157,17 +152,17 @@ EFI_STATUS
IN CONST BOOLEAN RetrieveData,
IN CONST EFI_GUID *VariableGuid OPTIONAL,
IN CONST CHAR16 *VariableName OPTIONAL
);
);
///
/// This interface will allow the caller to direct the configuration
/// driver to use either the HII database or use the passed-in packet of data.
///
struct _EFI_FORM_BROWSER2_PROTOCOL {
EFI_SEND_FORM2 SendForm;
EFI_BROWSER_CALLBACK2 BrowserCallback;
} ;
EFI_SEND_FORM2 SendForm;
EFI_BROWSER_CALLBACK2 BrowserCallback;
};
extern EFI_GUID gEfiFormBrowser2ProtocolGuid;
extern EFI_GUID gEfiFormBrowser2ProtocolGuid;
#endif

View File

@@ -18,7 +18,6 @@
#ifndef __EFI_FTP4_PROTOCOL_H__
#define __EFI_FTP4_PROTOCOL_H__
#define EFI_FTP4_SERVICE_BINDING_PROTOCOL_GUID \
{ \
0xfaaecb1, 0x226e, 0x4782, {0xaa, 0xce, 0x7d, 0xb9, 0xbc, 0xbf, 0x4d, 0xaf } \
@@ -42,7 +41,7 @@ typedef struct {
/// equal to TPL_CALLBACK. If it is set to NULL, this function will not return until the
/// function completes.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// The variable to receive the result of the completed operation.
/// EFI_SUCCESS: The FTP connection is established successfully
@@ -63,7 +62,7 @@ typedef struct {
/// error is received.
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
///
EFI_STATUS Status;
EFI_STATUS Status;
} EFI_FTP4_CONNECTION_TOKEN;
///
@@ -74,47 +73,47 @@ typedef struct {
/// Pointer to a ASCII string that contains user name. The caller is
/// responsible for freeing Username after GetModeData() is called.
///
UINT8 *Username;
UINT8 *Username;
///
/// Pointer to a ASCII string that contains password. The caller is
/// responsible for freeing Password after GetModeData() is called.
///
UINT8 *Password;
UINT8 *Password;
///
/// Set it to TRUE to initiate an active data connection. Set it to
/// FALSE to initiate a passive data connection.
///
BOOLEAN Active;
BOOLEAN Active;
///
/// Boolean value indicating if default network settting used.
///
BOOLEAN UseDefaultSetting;
BOOLEAN UseDefaultSetting;
///
/// IP address of station if UseDefaultSetting is FALSE.
///
EFI_IPv4_ADDRESS StationIp;
EFI_IPv4_ADDRESS StationIp;
///
/// Subnet mask of station if UseDefaultSetting is FALSE.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
///
/// IP address of gateway if UseDefaultSetting is FALSE.
///
EFI_IPv4_ADDRESS GatewayIp;
EFI_IPv4_ADDRESS GatewayIp;
///
/// IP address of FTPv4 server.
///
EFI_IPv4_ADDRESS ServerIp;
EFI_IPv4_ADDRESS ServerIp;
///
/// FTPv4 server port number of control connection, and the default
/// value is 21 as convention.
///
UINT16 ServerPort;
UINT16 ServerPort;
///
/// FTPv4 server port number of data connection. If it is zero, use
/// (ServerPort - 1) by convention.
///
UINT16 AltDataPort;
UINT16 AltDataPort;
///
/// A byte indicate the representation type. The right 4 bit is used for
/// first parameter, the left 4 bit is use for second parameter
@@ -124,15 +123,15 @@ typedef struct {
/// - If it is a local type, the second parameter is the local byte byte size.
/// - If it is a image type, the second parameter is undefined.
///
UINT8 RepType;
UINT8 RepType;
///
/// Defines the file structure in FTP used. 0x00 = file, 0x01 = record, 0x02 = page.
///
UINT8 FileStruct;
UINT8 FileStruct;
///
/// Defines the transifer mode used in FTP. 0x00 = stream, 0x01 = Block, 0x02 = Compressed.
///
UINT8 TransMode;
UINT8 TransMode;
} EFI_FTP4_CONFIG_DATA;
typedef struct _EFI_FTP4_COMMAND_TOKEN EFI_FTP4_COMMAND_TOKEN;
@@ -172,20 +171,20 @@ struct _EFI_FTP4_COMMAND_TOKEN {
/// set to NULL, related function must wait until the function
/// completes.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// Pointer to a null-terminated ASCII name string.
///
UINT8 *Pathname;
UINT8 *Pathname;
///
/// The size of data buffer in bytes.
///
UINT64 DataBufferSize;
UINT64 DataBufferSize;
///
/// Pointer to the data buffer. Data downloaded from FTP server
/// through connection is downloaded here.
///
VOID *DataBuffer;
VOID *DataBuffer;
///
/// Pointer to a callback function. If it is receiving function that leads
/// to inbound data, the callback function is called when databuffer is
@@ -198,11 +197,11 @@ struct _EFI_FTP4_COMMAND_TOKEN {
/// DataBufferSize, again. If there is no data remained,
/// DataBufferSize should be set to 0.
///
EFI_FTP4_DATA_CALLBACK DataCallback;
EFI_FTP4_DATA_CALLBACK DataCallback;
///
/// Pointer to the parameter for DataCallback.
///
VOID *Context;
VOID *Context;
///
/// The variable to receive the result of the completed operation.
/// EFI_SUCCESS: The FTP command is completed successfully.
@@ -223,7 +222,7 @@ struct _EFI_FTP4_COMMAND_TOKEN {
/// error is received.
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
///
EFI_STATUS Status;
EFI_STATUS Status;
};
/**
@@ -353,7 +352,6 @@ EFI_STATUS
IN EFI_FTP4_CONFIG_DATA *FtpConfigData OPTIONAL
);
/**
Downloads a file from an FTPv4 server.
@@ -511,8 +509,7 @@ struct _EFI_FTP4_PROTOCOL {
EFI_FTP4_POLL Poll;
};
extern EFI_GUID gEfiFtp4ServiceBindingProtocolGuid;
extern EFI_GUID gEfiFtp4ProtocolGuid;
extern EFI_GUID gEfiFtp4ServiceBindingProtocolGuid;
extern EFI_GUID gEfiFtp4ProtocolGuid;
#endif

View File

@@ -19,10 +19,10 @@
typedef struct _EFI_GRAPHICS_OUTPUT_PROTOCOL EFI_GRAPHICS_OUTPUT_PROTOCOL;
typedef struct {
UINT32 RedMask;
UINT32 GreenMask;
UINT32 BlueMask;
UINT32 ReservedMask;
UINT32 RedMask;
UINT32 GreenMask;
UINT32 BlueMask;
UINT32 ReservedMask;
} EFI_PIXEL_BITMASK;
typedef enum {
@@ -61,29 +61,29 @@ typedef struct {
/// The version of this data structure. A value of zero represents the
/// EFI_GRAPHICS_OUTPUT_MODE_INFORMATION structure as defined in this specification.
///
UINT32 Version;
UINT32 Version;
///
/// The size of video screen in pixels in the X dimension.
///
UINT32 HorizontalResolution;
UINT32 HorizontalResolution;
///
/// The size of video screen in pixels in the Y dimension.
///
UINT32 VerticalResolution;
UINT32 VerticalResolution;
///
/// Enumeration that defines the physical format of the pixel. A value of PixelBltOnly
/// implies that a linear frame buffer is not available for this mode.
///
EFI_GRAPHICS_PIXEL_FORMAT PixelFormat;
EFI_GRAPHICS_PIXEL_FORMAT PixelFormat;
///
/// This bit-mask is only valid if PixelFormat is set to PixelPixelBitMask.
/// A bit being set defines what bits are used for what purpose such as Red, Green, Blue, or Reserved.
///
EFI_PIXEL_BITMASK PixelInformation;
EFI_PIXEL_BITMASK PixelInformation;
///
/// Defines the number of pixel elements per video memory line.
///
UINT32 PixelsPerScanLine;
UINT32 PixelsPerScanLine;
} EFI_GRAPHICS_OUTPUT_MODE_INFORMATION;
/**
@@ -129,15 +129,15 @@ EFI_STATUS
);
typedef struct {
UINT8 Blue;
UINT8 Green;
UINT8 Red;
UINT8 Reserved;
UINT8 Blue;
UINT8 Green;
UINT8 Red;
UINT8 Reserved;
} EFI_GRAPHICS_OUTPUT_BLT_PIXEL;
typedef union {
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Pixel;
UINT32 Raw;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Pixel;
UINT32 Raw;
} EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION;
///
@@ -225,29 +225,29 @@ typedef struct {
///
/// The number of modes supported by QueryMode() and SetMode().
///
UINT32 MaxMode;
UINT32 MaxMode;
///
/// Current Mode of the graphics device. Valid mode numbers are 0 to MaxMode -1.
///
UINT32 Mode;
UINT32 Mode;
///
/// Pointer to read-only EFI_GRAPHICS_OUTPUT_MODE_INFORMATION data.
///
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info;
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info;
///
/// Size of Info structure in bytes.
///
UINTN SizeOfInfo;
UINTN SizeOfInfo;
///
/// Base address of graphics linear frame buffer.
/// Offset zero in FrameBufferBase represents the upper left pixel of the display.
///
EFI_PHYSICAL_ADDRESS FrameBufferBase;
EFI_PHYSICAL_ADDRESS FrameBufferBase;
///
/// Amount of frame buffer needed to support the active mode as defined by
/// PixelsPerScanLine xVerticalResolution x PixelElementSize.
///
UINTN FrameBufferSize;
UINTN FrameBufferSize;
} EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE;
///
@@ -256,15 +256,15 @@ typedef struct {
/// frame buffer is also exposed so software can write directly to the video hardware.
///
struct _EFI_GRAPHICS_OUTPUT_PROTOCOL {
EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt;
EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt;
///
/// Pointer to EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE data.
///
EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode;
};
extern EFI_GUID gEfiGraphicsOutputProtocolGuid;
extern EFI_GUID gEfiGraphicsOutputProtocolGuid;
#endif

View File

@@ -28,7 +28,6 @@
typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL;
/**
The ExtractSection() function processes the input section and
allocates a buffer from the pool in which it returns the section
@@ -117,8 +116,7 @@ EFI_STATUS
OUT VOID **OutputBuffer,
OUT UINTN *OutputSize,
OUT UINT32 *AuthenticationStatus
);
);
///
/// Typically, protocol interface structures are identified by associating them with a GUID. Each
@@ -128,8 +126,7 @@ EFI_STATUS
/// Extraction Protocol is used to correlate it with the GUIDed section type that it is intended to process.
///
struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL {
EFI_EXTRACT_GUIDED_SECTION ExtractSection;
EFI_EXTRACT_GUIDED_SECTION ExtractSection;
};
#endif

View File

@@ -75,20 +75,20 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
typedef struct _EFI_HASH_PROTOCOL EFI_HASH_PROTOCOL;
typedef UINT8 EFI_MD5_HASH[16];
typedef UINT8 EFI_SHA1_HASH[20];
typedef UINT8 EFI_SHA224_HASH[28];
typedef UINT8 EFI_SHA256_HASH[32];
typedef UINT8 EFI_SHA384_HASH[48];
typedef UINT8 EFI_SHA512_HASH[64];
typedef UINT8 EFI_MD5_HASH[16];
typedef UINT8 EFI_SHA1_HASH[20];
typedef UINT8 EFI_SHA224_HASH[28];
typedef UINT8 EFI_SHA256_HASH[32];
typedef UINT8 EFI_SHA384_HASH[48];
typedef UINT8 EFI_SHA512_HASH[64];
typedef union {
EFI_MD5_HASH *Md5Hash;
EFI_SHA1_HASH *Sha1Hash;
EFI_SHA224_HASH *Sha224Hash;
EFI_SHA256_HASH *Sha256Hash;
EFI_SHA384_HASH *Sha384Hash;
EFI_SHA512_HASH *Sha512Hash;
EFI_MD5_HASH *Md5Hash;
EFI_SHA1_HASH *Sha1Hash;
EFI_SHA224_HASH *Sha224Hash;
EFI_SHA256_HASH *Sha256Hash;
EFI_SHA384_HASH *Sha384Hash;
EFI_SHA512_HASH *Sha512Hash;
} EFI_HASH_OUTPUT;
/**
@@ -151,19 +151,19 @@ EFI_STATUS
/// using one or more hash algorithms.
///
struct _EFI_HASH_PROTOCOL {
EFI_HASH_GET_HASH_SIZE GetHashSize;
EFI_HASH_HASH Hash;
EFI_HASH_GET_HASH_SIZE GetHashSize;
EFI_HASH_HASH Hash;
};
extern EFI_GUID gEfiHashServiceBindingProtocolGuid;
extern EFI_GUID gEfiHashProtocolGuid;
extern EFI_GUID gEfiHashAlgorithmSha1Guid;
extern EFI_GUID gEfiHashAlgorithmSha224Guid;
extern EFI_GUID gEfiHashAlgorithmSha256Guid;
extern EFI_GUID gEfiHashAlgorithmSha384Guid;
extern EFI_GUID gEfiHashAlgorithmSha512Guid;
extern EFI_GUID gEfiHashAlgorithmMD5Guid;
extern EFI_GUID gEfiHashAlgorithmSha1NoPadGuid;
extern EFI_GUID gEfiHashAlgorithmSha256NoPadGuid;
extern EFI_GUID gEfiHashServiceBindingProtocolGuid;
extern EFI_GUID gEfiHashProtocolGuid;
extern EFI_GUID gEfiHashAlgorithmSha1Guid;
extern EFI_GUID gEfiHashAlgorithmSha224Guid;
extern EFI_GUID gEfiHashAlgorithmSha256Guid;
extern EFI_GUID gEfiHashAlgorithmSha384Guid;
extern EFI_GUID gEfiHashAlgorithmSha512Guid;
extern EFI_GUID gEfiHashAlgorithmMD5Guid;
extern EFI_GUID gEfiHashAlgorithmSha1NoPadGuid;
extern EFI_GUID gEfiHashAlgorithmSha256NoPadGuid;
#endif

View File

@@ -42,20 +42,20 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
typedef struct _EFI_HASH2_PROTOCOL EFI_HASH2_PROTOCOL;
typedef UINT8 EFI_MD5_HASH2[16];
typedef UINT8 EFI_SHA1_HASH2[20];
typedef UINT8 EFI_SHA224_HASH2[28];
typedef UINT8 EFI_SHA256_HASH2[32];
typedef UINT8 EFI_SHA384_HASH2[48];
typedef UINT8 EFI_SHA512_HASH2[64];
typedef UINT8 EFI_MD5_HASH2[16];
typedef UINT8 EFI_SHA1_HASH2[20];
typedef UINT8 EFI_SHA224_HASH2[28];
typedef UINT8 EFI_SHA256_HASH2[32];
typedef UINT8 EFI_SHA384_HASH2[48];
typedef UINT8 EFI_SHA512_HASH2[64];
typedef union {
EFI_MD5_HASH2 Md5Hash;
EFI_SHA1_HASH2 Sha1Hash;
EFI_SHA224_HASH2 Sha224Hash;
EFI_SHA256_HASH2 Sha256Hash;
EFI_SHA384_HASH2 Sha384Hash;
EFI_SHA512_HASH2 Sha512Hash;
EFI_MD5_HASH2 Md5Hash;
EFI_SHA1_HASH2 Sha1Hash;
EFI_SHA224_HASH2 Sha224Hash;
EFI_SHA256_HASH2 Sha256Hash;
EFI_SHA384_HASH2 Sha384Hash;
EFI_SHA512_HASH2 Sha512Hash;
} EFI_HASH2_OUTPUT;
/**
@@ -183,14 +183,14 @@ EFI_STATUS
/// finalization are performed by the supporting driver.
///
struct _EFI_HASH2_PROTOCOL {
EFI_HASH2_GET_HASH_SIZE GetHashSize;
EFI_HASH2_HASH Hash;
EFI_HASH2_HASH_INIT HashInit;
EFI_HASH2_HASH_UPDATE HashUpdate;
EFI_HASH2_HASH_FINAL HashFinal;
EFI_HASH2_GET_HASH_SIZE GetHashSize;
EFI_HASH2_HASH Hash;
EFI_HASH2_HASH_INIT HashInit;
EFI_HASH2_HASH_UPDATE HashUpdate;
EFI_HASH2_HASH_FINAL HashFinal;
};
extern EFI_GUID gEfiHash2ServiceBindingProtocolGuid;
extern EFI_GUID gEfiHash2ProtocolGuid;
extern EFI_GUID gEfiHash2ServiceBindingProtocolGuid;
extern EFI_GUID gEfiHash2ProtocolGuid;
#endif

View File

@@ -13,7 +13,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef __EFI_HII_CONFIG_ACCESS_H__
#define __EFI_HII_CONFIG_ACCESS_H__
@@ -22,22 +21,22 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID \
{ 0x330d4706, 0xf2a0, 0x4e4f, { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } }
typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL;
typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL;
typedef UINTN EFI_BROWSER_ACTION;
#define EFI_BROWSER_ACTION_CHANGING 0
#define EFI_BROWSER_ACTION_CHANGED 1
#define EFI_BROWSER_ACTION_RETRIEVE 2
#define EFI_BROWSER_ACTION_FORM_OPEN 3
#define EFI_BROWSER_ACTION_FORM_CLOSE 4
#define EFI_BROWSER_ACTION_SUBMITTED 5
#define EFI_BROWSER_ACTION_DEFAULT_STANDARD 0x1000
#define EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING 0x1001
#define EFI_BROWSER_ACTION_DEFAULT_SAFE 0x1002
#define EFI_BROWSER_ACTION_DEFAULT_PLATFORM 0x2000
#define EFI_BROWSER_ACTION_DEFAULT_HARDWARE 0x3000
#define EFI_BROWSER_ACTION_DEFAULT_FIRMWARE 0x4000
#define EFI_BROWSER_ACTION_CHANGING 0
#define EFI_BROWSER_ACTION_CHANGED 1
#define EFI_BROWSER_ACTION_RETRIEVE 2
#define EFI_BROWSER_ACTION_FORM_OPEN 3
#define EFI_BROWSER_ACTION_FORM_CLOSE 4
#define EFI_BROWSER_ACTION_SUBMITTED 5
#define EFI_BROWSER_ACTION_DEFAULT_STANDARD 0x1000
#define EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING 0x1001
#define EFI_BROWSER_ACTION_DEFAULT_SAFE 0x1002
#define EFI_BROWSER_ACTION_DEFAULT_PLATFORM 0x2000
#define EFI_BROWSER_ACTION_DEFAULT_HARDWARE 0x3000
#define EFI_BROWSER_ACTION_DEFAULT_FIRMWARE 0x4000
/**
@@ -109,13 +108,12 @@ typedef UINTN EFI_BROWSER_ACTION;
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_ACCESS_EXTRACT_CONFIG)(
(EFIAPI *EFI_HII_ACCESS_EXTRACT_CONFIG)(
IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
IN CONST EFI_STRING Request,
OUT EFI_STRING *Progress,
OUT EFI_STRING *Results
);
);
/**
@@ -159,11 +157,11 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_ACCESS_ROUTE_CONFIG)(
(EFIAPI *EFI_HII_ACCESS_ROUTE_CONFIG)(
IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
IN CONST EFI_STRING Configuration,
OUT EFI_STRING *Progress
);
);
/**
@@ -200,7 +198,7 @@ EFI_STATUS
IN OUT EFI_IFR_TYPE_VALUE *Value,
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
)
;
;
///
/// This protocol provides a callable interface between the HII and
@@ -208,13 +206,11 @@ EFI_STATUS
/// to publish this protocol.
///
struct _EFI_HII_CONFIG_ACCESS_PROTOCOL {
EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig;
EFI_HII_ACCESS_ROUTE_CONFIG RouteConfig;
EFI_HII_ACCESS_FORM_CALLBACK Callback;
} ;
EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig;
EFI_HII_ACCESS_ROUTE_CONFIG RouteConfig;
EFI_HII_ACCESS_FORM_CALLBACK Callback;
};
extern EFI_GUID gEfiHiiConfigAccessProtocolGuid;
extern EFI_GUID gEfiHiiConfigAccessProtocolGuid;
#endif

View File

@@ -20,16 +20,16 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
0x0a8badd5, 0x03b8, 0x4d19, {0xb1, 0x28, 0x7b, 0x8f, 0x0e, 0xda, 0xa5, 0x96 } \
}
//***********************************************************
// ***********************************************************
// Progress Errors
//***********************************************************
#define KEYWORD_HANDLER_NO_ERROR 0x00000000
#define KEYWORD_HANDLER_NAMESPACE_ID_NOT_FOUND 0x00000001
#define KEYWORD_HANDLER_MALFORMED_STRING 0x00000002
#define KEYWORD_HANDLER_KEYWORD_NOT_FOUND 0x00000004
#define KEYWORD_HANDLER_INCOMPATIBLE_VALUE_DETECTED 0x00000008
#define KEYWORD_HANDLER_ACCESS_NOT_PERMITTED 0x00000010
#define KEYWORD_HANDLER_UNDEFINED_PROCESSING_ERROR 0x80000000
// ***********************************************************
#define KEYWORD_HANDLER_NO_ERROR 0x00000000
#define KEYWORD_HANDLER_NAMESPACE_ID_NOT_FOUND 0x00000001
#define KEYWORD_HANDLER_MALFORMED_STRING 0x00000002
#define KEYWORD_HANDLER_KEYWORD_NOT_FOUND 0x00000004
#define KEYWORD_HANDLER_INCOMPATIBLE_VALUE_DETECTED 0x00000008
#define KEYWORD_HANDLER_ACCESS_NOT_PERMITTED 0x00000010
#define KEYWORD_HANDLER_UNDEFINED_PROCESSING_ERROR 0x80000000
typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL;
@@ -94,14 +94,13 @@ typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_P
**/
typedef
EFI_STATUS
(EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_SET_DATA) (
(EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_SET_DATA)(
IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This,
IN CONST EFI_STRING KeywordString,
OUT EFI_STRING *Progress,
OUT UINT32 *ProgressErr
);
/**
This function accepts a <MultiKeywordRequest> formatted string, finds the underlying
@@ -173,7 +172,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_GET_DATA) (
(EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_GET_DATA)(
IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This,
IN CONST EFI_STRING NameSpaceId OPTIONAL,
IN CONST EFI_STRING KeywordString OPTIONAL,
@@ -189,10 +188,10 @@ EFI_STATUS
///
struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL {
EFI_CONFIG_KEYWORD_HANDLER_SET_DATA SetData;
EFI_CONFIG_KEYWORD_HANDLER_GET_DATA GetData;
EFI_CONFIG_KEYWORD_HANDLER_SET_DATA SetData;
EFI_CONFIG_KEYWORD_HANDLER_GET_DATA GetData;
};
extern EFI_GUID gEfiConfigKeywordHandlerProtocolGuid;
extern EFI_GUID gEfiConfigKeywordHandlerProtocolGuid;
#endif

View File

@@ -20,7 +20,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID \
{ 0x587e72d7, 0xcc50, 0x4f79, { 0x82, 0x09, 0xca, 0x29, 0x1f, 0xc1, 0xa1, 0x0f } }
typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
/**
@@ -108,12 +107,12 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_EXTRACT_CONFIG)(
(EFIAPI *EFI_HII_EXTRACT_CONFIG)(
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING Request,
OUT EFI_STRING *Progress,
OUT EFI_STRING *Results
);
);
/**
This function allows the caller to request the current configuration
@@ -150,10 +149,10 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_EXPORT_CONFIG)(
(EFIAPI *EFI_HII_EXPORT_CONFIG)(
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
OUT EFI_STRING *Results
);
);
/**
@@ -196,12 +195,11 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_ROUTE_CONFIG)(
(EFIAPI *EFI_HII_ROUTE_CONFIG)(
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING Configuration,
OUT EFI_STRING *Progress
);
);
/**
@@ -266,16 +264,14 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_BLOCK_TO_CONFIG)(
(EFIAPI *EFI_HII_BLOCK_TO_CONFIG)(
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING ConfigRequest,
IN CONST UINT8 *Block,
IN CONST UINTN BlockSize,
OUT EFI_STRING *Config,
OUT EFI_STRING *Progress
);
);
/**
This function maps a configuration containing a series of
@@ -343,13 +339,13 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_CONFIG_TO_BLOCK)(
(EFIAPI *EFI_HII_CONFIG_TO_BLOCK)(
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING ConfigResp,
IN OUT UINT8 *Block,
IN OUT UINTN *BlockSize,
OUT EFI_STRING *Progress
);
);
/**
This helper function is to be called by drivers to extract portions of
@@ -386,7 +382,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_GET_ALT_CFG)(
(EFIAPI *EFI_HII_GET_ALT_CFG)(
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
IN CONST EFI_STRING ConfigResp,
IN CONST EFI_GUID *Guid,
@@ -402,16 +398,14 @@ EFI_STATUS
/// instance of this protocol in the system.
///
struct _EFI_HII_CONFIG_ROUTING_PROTOCOL {
EFI_HII_EXTRACT_CONFIG ExtractConfig;
EFI_HII_EXPORT_CONFIG ExportConfig;
EFI_HII_ROUTE_CONFIG RouteConfig;
EFI_HII_BLOCK_TO_CONFIG BlockToConfig;
EFI_HII_CONFIG_TO_BLOCK ConfigToBlock;
EFI_HII_GET_ALT_CFG GetAltConfig;
EFI_HII_EXTRACT_CONFIG ExtractConfig;
EFI_HII_EXPORT_CONFIG ExportConfig;
EFI_HII_ROUTE_CONFIG RouteConfig;
EFI_HII_BLOCK_TO_CONFIG BlockToConfig;
EFI_HII_CONFIG_TO_BLOCK ConfigToBlock;
EFI_HII_GET_ALT_CFG GetAltConfig;
};
extern EFI_GUID gEfiHiiConfigRoutingProtocolGuid;
extern EFI_GUID gEfiHiiConfigRoutingProtocolGuid;
#endif

View File

@@ -16,19 +16,18 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_HII_DATABASE_PROTOCOL_GUID \
{ 0xef9fc172, 0xa1b2, 0x4693, { 0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42 } }
typedef struct _EFI_HII_DATABASE_PROTOCOL EFI_HII_DATABASE_PROTOCOL;
///
/// EFI_HII_DATABASE_NOTIFY_TYPE.
///
typedef UINTN EFI_HII_DATABASE_NOTIFY_TYPE;
typedef UINTN EFI_HII_DATABASE_NOTIFY_TYPE;
#define EFI_HII_DATABASE_NOTIFY_NEW_PACK 0x00000001
#define EFI_HII_DATABASE_NOTIFY_REMOVE_PACK 0x00000002
#define EFI_HII_DATABASE_NOTIFY_EXPORT_PACK 0x00000004
#define EFI_HII_DATABASE_NOTIFY_ADD_PACK 0x00000008
#define EFI_HII_DATABASE_NOTIFY_NEW_PACK 0x00000001
#define EFI_HII_DATABASE_NOTIFY_REMOVE_PACK 0x00000002
#define EFI_HII_DATABASE_NOTIFY_EXPORT_PACK 0x00000004
#define EFI_HII_DATABASE_NOTIFY_ADD_PACK 0x00000008
/**
Functions which are registered to receive notification of
@@ -63,7 +62,7 @@ EFI_STATUS
IN CONST EFI_HII_PACKAGE_HEADER *Package,
IN EFI_HII_HANDLE Handle,
IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType
);
);
/**
@@ -105,8 +104,7 @@ EFI_STATUS
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList,
IN EFI_HANDLE DriverHandle OPTIONAL,
OUT EFI_HII_HANDLE *Handle
);
);
/**
@@ -132,8 +130,7 @@ EFI_STATUS
(EFIAPI *EFI_HII_DATABASE_REMOVE_PACK)(
IN CONST EFI_HII_DATABASE_PROTOCOL *This,
IN EFI_HII_HANDLE Handle
);
);
/**
@@ -181,8 +178,7 @@ EFI_STATUS
IN CONST EFI_HII_DATABASE_PROTOCOL *This,
IN EFI_HII_HANDLE Handle,
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList
);
);
/**
@@ -235,7 +231,7 @@ EFI_STATUS
IN CONST EFI_GUID *PackageGuid,
IN OUT UINTN *HandleBufferLength,
OUT EFI_HII_HANDLE *Handle
);
);
/**
@@ -285,8 +281,7 @@ EFI_STATUS
IN EFI_HII_HANDLE Handle,
IN OUT UINTN *BufferSize,
OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer
);
);
/**
@@ -348,8 +343,7 @@ EFI_STATUS
IN EFI_HII_DATABASE_NOTIFY PackageNotifyFn,
IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,
OUT EFI_HANDLE *NotifyHandle
);
);
/**
@@ -371,8 +365,7 @@ EFI_STATUS
(EFIAPI *EFI_HII_DATABASE_UNREGISTER_NOTIFY)(
IN CONST EFI_HII_DATABASE_PROTOCOL *This,
IN EFI_HANDLE NotificationHandle
);
);
/**
@@ -412,8 +405,7 @@ EFI_STATUS
IN CONST EFI_HII_DATABASE_PROTOCOL *This,
IN OUT UINT16 *KeyGuidBufferLength,
OUT EFI_GUID *KeyGuidBuffer
);
);
/**
@@ -448,7 +440,7 @@ EFI_STATUS
IN CONST EFI_GUID *KeyGuid,
IN OUT UINT16 *KeyboardLayoutLength,
OUT EFI_HII_KEYBOARD_LAYOUT *KeyboardLayout
);
);
/**
@@ -475,7 +467,7 @@ EFI_STATUS
(EFIAPI *EFI_HII_SET_KEYBOARD_LAYOUT)(
IN CONST EFI_HII_DATABASE_PROTOCOL *This,
IN CONST EFI_GUID *KeyGuid
);
);
/**
@@ -502,25 +494,25 @@ EFI_STATUS
IN CONST EFI_HII_DATABASE_PROTOCOL *This,
IN EFI_HII_HANDLE PackageListHandle,
OUT EFI_HANDLE *DriverHandle
);
);
///
/// Database manager for HII-related data structures.
///
struct _EFI_HII_DATABASE_PROTOCOL {
EFI_HII_DATABASE_NEW_PACK NewPackageList;
EFI_HII_DATABASE_REMOVE_PACK RemovePackageList;
EFI_HII_DATABASE_UPDATE_PACK UpdatePackageList;
EFI_HII_DATABASE_LIST_PACKS ListPackageLists;
EFI_HII_DATABASE_EXPORT_PACKS ExportPackageLists;
EFI_HII_DATABASE_REGISTER_NOTIFY RegisterPackageNotify;
EFI_HII_DATABASE_UNREGISTER_NOTIFY UnregisterPackageNotify;
EFI_HII_FIND_KEYBOARD_LAYOUTS FindKeyboardLayouts;
EFI_HII_GET_KEYBOARD_LAYOUT GetKeyboardLayout;
EFI_HII_SET_KEYBOARD_LAYOUT SetKeyboardLayout;
EFI_HII_DATABASE_GET_PACK_HANDLE GetPackageListHandle;
EFI_HII_DATABASE_NEW_PACK NewPackageList;
EFI_HII_DATABASE_REMOVE_PACK RemovePackageList;
EFI_HII_DATABASE_UPDATE_PACK UpdatePackageList;
EFI_HII_DATABASE_LIST_PACKS ListPackageLists;
EFI_HII_DATABASE_EXPORT_PACKS ExportPackageLists;
EFI_HII_DATABASE_REGISTER_NOTIFY RegisterPackageNotify;
EFI_HII_DATABASE_UNREGISTER_NOTIFY UnregisterPackageNotify;
EFI_HII_FIND_KEYBOARD_LAYOUTS FindKeyboardLayouts;
EFI_HII_GET_KEYBOARD_LAYOUT GetKeyboardLayout;
EFI_HII_SET_KEYBOARD_LAYOUT SetKeyboardLayout;
EFI_HII_DATABASE_GET_PACK_HANDLE GetPackageListHandle;
};
extern EFI_GUID gEfiHiiDatabaseProtocolGuid;
extern EFI_GUID gEfiHiiDatabaseProtocolGuid;
#endif

View File

@@ -20,21 +20,21 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
typedef struct _EFI_HII_FONT_PROTOCOL EFI_HII_FONT_PROTOCOL;
typedef VOID *EFI_FONT_HANDLE;
typedef VOID *EFI_FONT_HANDLE;
///
/// EFI_HII_OUT_FLAGS.
///
typedef UINT32 EFI_HII_OUT_FLAGS;
typedef UINT32 EFI_HII_OUT_FLAGS;
#define EFI_HII_OUT_FLAG_CLIP 0x00000001
#define EFI_HII_OUT_FLAG_WRAP 0x00000002
#define EFI_HII_OUT_FLAG_CLIP_CLEAN_Y 0x00000004
#define EFI_HII_OUT_FLAG_CLIP_CLEAN_X 0x00000008
#define EFI_HII_OUT_FLAG_TRANSPARENT 0x00000010
#define EFI_HII_IGNORE_IF_NO_GLYPH 0x00000020
#define EFI_HII_IGNORE_LINE_BREAK 0x00000040
#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
#define EFI_HII_OUT_FLAG_CLIP 0x00000001
#define EFI_HII_OUT_FLAG_WRAP 0x00000002
#define EFI_HII_OUT_FLAG_CLIP_CLEAN_Y 0x00000004
#define EFI_HII_OUT_FLAG_CLIP_CLEAN_X 0x00000008
#define EFI_HII_OUT_FLAG_TRANSPARENT 0x00000010
#define EFI_HII_IGNORE_IF_NO_GLYPH 0x00000020
#define EFI_HII_IGNORE_LINE_BREAK 0x00000040
#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
/**
Definition of EFI_HII_ROW_INFO.
@@ -43,26 +43,26 @@ typedef struct _EFI_HII_ROW_INFO {
///
/// The index of the first character in the string which is displayed on the line.
///
UINTN StartIndex;
UINTN StartIndex;
///
/// The index of the last character in the string which is displayed on the line.
/// If this is the same as StartIndex, then no characters are displayed.
///
UINTN EndIndex;
UINTN LineHeight; ///< The height of the line, in pixels.
UINTN LineWidth; ///< The width of the text on the line, in pixels.
UINTN EndIndex;
UINTN LineHeight; ///< The height of the line, in pixels.
UINTN LineWidth; ///< The width of the text on the line, in pixels.
///
/// The font baseline offset in pixels from the bottom of the row, or 0 if none.
///
UINTN BaselineOffset;
UINTN BaselineOffset;
} EFI_HII_ROW_INFO;
///
/// Font info flag. All flags (FONT, SIZE, STYLE, and COLOR) are defined.
/// They are defined as EFI_FONT_INFO_***
///
typedef UINT32 EFI_FONT_INFO_MASK;
typedef UINT32 EFI_FONT_INFO_MASK;
#define EFI_FONT_INFO_SYS_FONT 0x00000001
#define EFI_FONT_INFO_SYS_SIZE 0x00000002
@@ -79,9 +79,9 @@ typedef UINT32 EFI_FONT_INFO_MASK;
// EFI_FONT_INFO
//
typedef struct {
EFI_HII_FONT_STYLE FontStyle;
UINT16 FontSize; ///< character cell height in pixels
CHAR16 FontName[1];
EFI_HII_FONT_STYLE FontStyle;
UINT16 FontSize; ///< character cell height in pixels
CHAR16 FontName[1];
} EFI_FONT_INFO;
/**
@@ -97,10 +97,10 @@ typedef struct {
font requested and the font available.
**/
typedef struct _EFI_FONT_DISPLAY_INFO {
EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL BackgroundColor;
EFI_FONT_INFO_MASK FontInfoMask;
EFI_FONT_INFO FontInfo;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL BackgroundColor;
EFI_FONT_INFO_MASK FontInfoMask;
EFI_FONT_INFO FontInfo;
} EFI_FONT_DISPLAY_INFO;
/**
@@ -220,9 +220,7 @@ EFI_STATUS
OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
OUT UINTN *RowInfoArraySize OPTIONAL,
OUT UINTN *ColumnInfoArray OPTIONAL
);
);
/**
@@ -358,8 +356,7 @@ EFI_STATUS
OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
OUT UINTN *RowInfoArraySize OPTIONAL,
OUT UINTN *ColumnInfoArray OPTIONAL
);
);
/**
@@ -403,7 +400,7 @@ EFI_STATUS
IN CONST EFI_FONT_DISPLAY_INFO *StringInfo,
OUT EFI_IMAGE_OUTPUT **Blt,
OUT UINTN *Baseline OPTIONAL
);
);
/**
@@ -450,19 +447,18 @@ EFI_STATUS
IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn OPTIONAL,
OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,
IN CONST EFI_STRING String OPTIONAL
);
);
///
/// The protocol provides the service to retrieve the font informations.
///
struct _EFI_HII_FONT_PROTOCOL {
EFI_HII_STRING_TO_IMAGE StringToImage;
EFI_HII_STRING_ID_TO_IMAGE StringIdToImage;
EFI_HII_GET_GLYPH GetGlyph;
EFI_HII_GET_FONT_INFO GetFontInfo;
EFI_HII_STRING_TO_IMAGE StringToImage;
EFI_HII_STRING_ID_TO_IMAGE StringIdToImage;
EFI_HII_GET_GLYPH GetGlyph;
EFI_HII_GET_FONT_INFO GetFontInfo;
};
extern EFI_GUID gEfiHiiFontProtocolGuid;
extern EFI_GUID gEfiHiiFontProtocolGuid;
#endif

View File

@@ -19,11 +19,10 @@
typedef struct _EFI_HII_IMAGE_PROTOCOL EFI_HII_IMAGE_PROTOCOL;
///
/// Flags in EFI_IMAGE_INPUT
///
#define EFI_IMAGE_TRANSPARENT 0x00000001
#define EFI_IMAGE_TRANSPARENT 0x00000001
/**
@@ -44,13 +43,12 @@ typedef struct _EFI_HII_IMAGE_PROTOCOL EFI_HII_IMAGE_PROTOCOL;
**/
typedef struct _EFI_IMAGE_INPUT {
UINT32 Flags;
UINT16 Width;
UINT16 Height;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;
UINT32 Flags;
UINT16 Width;
UINT16 Height;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;
} EFI_IMAGE_INPUT;
/**
This function adds the image Image to the group of images
@@ -83,7 +81,7 @@ EFI_STATUS
IN EFI_HII_HANDLE PackageList,
OUT EFI_IMAGE_ID *ImageId,
IN CONST EFI_IMAGE_INPUT *Image
);
);
/**
@@ -125,7 +123,7 @@ EFI_STATUS
IN EFI_HII_HANDLE PackageList,
IN EFI_IMAGE_ID ImageId,
OUT EFI_IMAGE_INPUT *Image
);
);
/**
@@ -156,14 +154,13 @@ EFI_STATUS
IN EFI_HII_HANDLE PackageList,
IN EFI_IMAGE_ID ImageId,
IN CONST EFI_IMAGE_INPUT *Image
);
);
///
/// EFI_HII_DRAW_FLAGS describes how the image is to be drawn.
/// These flags are defined as EFI_HII_DRAW_FLAG_***
///
typedef UINT32 EFI_HII_DRAW_FLAGS;
typedef UINT32 EFI_HII_DRAW_FLAGS;
#define EFI_HII_DRAW_FLAG_CLIP 0x00000001
#define EFI_HII_DRAW_FLAG_TRANSPARENT 0x00000030
@@ -188,15 +185,14 @@ typedef UINT32 EFI_HII_DRAW_FLAGS;
**/
typedef struct _EFI_IMAGE_OUTPUT {
UINT16 Width;
UINT16 Height;
UINT16 Width;
UINT16 Height;
union {
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;
EFI_GRAPHICS_OUTPUT_PROTOCOL *Screen;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;
EFI_GRAPHICS_OUTPUT_PROTOCOL *Screen;
} Image;
} EFI_IMAGE_OUTPUT;
/**
This function renders an image to a bitmap or the screen using
@@ -253,7 +249,7 @@ EFI_STATUS
IN OUT EFI_IMAGE_OUTPUT **Blt,
IN UINTN BltX,
IN UINTN BltY
);
);
/**
@@ -325,29 +321,26 @@ EFI_STATUS
typedef
EFI_STATUS
(EFIAPI *EFI_HII_DRAW_IMAGE_ID)(
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
IN EFI_HII_DRAW_FLAGS Flags,
IN EFI_HII_HANDLE PackageList,
IN EFI_IMAGE_ID ImageId,
IN OUT EFI_IMAGE_OUTPUT **Blt,
IN UINTN BltX,
IN UINTN BltY
);
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
IN EFI_HII_DRAW_FLAGS Flags,
IN EFI_HII_HANDLE PackageList,
IN EFI_IMAGE_ID ImageId,
IN OUT EFI_IMAGE_OUTPUT **Blt,
IN UINTN BltX,
IN UINTN BltY
);
///
/// Services to access to images in the images database.
///
struct _EFI_HII_IMAGE_PROTOCOL {
EFI_HII_NEW_IMAGE NewImage;
EFI_HII_GET_IMAGE GetImage;
EFI_HII_SET_IMAGE SetImage;
EFI_HII_DRAW_IMAGE DrawImage;
EFI_HII_DRAW_IMAGE_ID DrawImageId;
EFI_HII_NEW_IMAGE NewImage;
EFI_HII_GET_IMAGE GetImage;
EFI_HII_SET_IMAGE SetImage;
EFI_HII_DRAW_IMAGE DrawImage;
EFI_HII_DRAW_IMAGE_ID DrawImageId;
};
extern EFI_GUID gEfiHiiImageProtocolGuid;
extern EFI_GUID gEfiHiiImageProtocolGuid;
#endif

View File

@@ -10,6 +10,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
This Protocol was introduced in UEFI Specification 2.6.
**/
#ifndef __HII_IMAGE_DECODER_H__
#define __HII_IMAGE_DECODER_H__
@@ -18,7 +19,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_HII_IMAGE_DECODER_PROTOCOL_GUID \
{0x9e66f251, 0x727c, 0x418c, { 0xbf, 0xd6, 0xc2, 0xb4, 0x25, 0x28, 0x18, 0xea }}
#define EFI_HII_IMAGE_DECODER_NAME_JPEG_GUID \
{0xefefd093, 0xd9b, 0x46eb, { 0xa8, 0x56, 0x48, 0x35, 0x7, 0x0, 0xc9, 0x8 }}
@@ -53,8 +53,8 @@ typedef struct _EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER {
UINT8 ColorDepthInBits;
} EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER;
#define EFI_IMAGE_JPEG_SCANTYPE_PROGREESSIVE 0x01
#define EFI_IMAGE_JPEG_SCANTYPE_INTERLACED 0x02
#define EFI_IMAGE_JPEG_SCANTYPE_PROGREESSIVE 0x01
#define EFI_IMAGE_JPEG_SCANTYPE_INTERLACED 0x02
//
// EFI_HII_IMAGE_DECODER_JPEG_INFO
@@ -63,9 +63,9 @@ typedef struct _EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER {
// Reserved Reserved
//
typedef struct _EFI_HII_IMAGE_DECODER_JPEG_INFO {
EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;
UINT16 ScanType;
UINT64 Reserved;
EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;
UINT16 ScanType;
UINT64 Reserved;
} EFI_HII_IMAGE_DECODER_JPEG_INFO;
//
@@ -75,17 +75,17 @@ typedef struct _EFI_HII_IMAGE_DECODER_JPEG_INFO {
// Reserved Reserved
//
typedef struct _EFI_HII_IMAGE_DECODER_PNG_INFO {
EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;
UINT16 Channels;
UINT64 Reserved;
EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;
UINT16 Channels;
UINT64 Reserved;
} EFI_HII_IMAGE_DECODER_PNG_INFO;
//
// EFI_HII_IMAGE_DECODER_OTHER_INFO
//
typedef struct _EFI_HII_IMAGE_DECODER_OTHER_INFO {
EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;
CHAR16 ImageExtenion[1];
EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;
CHAR16 ImageExtenion[1];
//
// Variable length of image file extension name.
//
@@ -193,8 +193,8 @@ struct _EFI_HII_IMAGE_DECODER_PROTOCOL {
EFI_HII_IMAGE_DECODER_DECODE DecodeImage;
};
extern EFI_GUID gEfiHiiImageDecoderProtocolGuid;
extern EFI_GUID gEfiHiiImageDecoderNameJpegGuid;
extern EFI_GUID gEfiHiiImageDecoderNamePngGuid;
extern EFI_GUID gEfiHiiImageDecoderProtocolGuid;
extern EFI_GUID gEfiHiiImageDecoderNameJpegGuid;
extern EFI_GUID gEfiHiiImageDecoderNamePngGuid;
#endif

View File

@@ -235,14 +235,14 @@ EFI_STATUS
/// Protocol which allows access to the images in the images database.
///
struct _EFI_HII_IMAGE_EX_PROTOCOL {
EFI_HII_NEW_IMAGE_EX NewImageEx;
EFI_HII_GET_IMAGE_EX GetImageEx;
EFI_HII_SET_IMAGE_EX SetImageEx;
EFI_HII_DRAW_IMAGE_EX DrawImageEx;
EFI_HII_DRAW_IMAGE_ID_EX DrawImageIdEx;
EFI_HII_GET_IMAGE_INFO GetImageInfo;
EFI_HII_NEW_IMAGE_EX NewImageEx;
EFI_HII_GET_IMAGE_EX GetImageEx;
EFI_HII_SET_IMAGE_EX SetImageEx;
EFI_HII_DRAW_IMAGE_EX DrawImageEx;
EFI_HII_DRAW_IMAGE_ID_EX DrawImageIdEx;
EFI_HII_GET_IMAGE_INFO GetImageInfo;
};
extern EFI_GUID gEfiHiiImageExProtocolGuid;
extern EFI_GUID gEfiHiiImageExProtocolGuid;
#endif

View File

@@ -16,12 +16,8 @@
#define EFI_HII_PACKAGE_LIST_PROTOCOL_GUID \
{ 0x6a1ee763, 0xd47a, 0x43b4, {0xaa, 0xbe, 0xef, 0x1d, 0xe2, 0xab, 0x56, 0xfc}}
typedef EFI_HII_PACKAGE_LIST_HEADER * EFI_HII_PACKAGE_LIST_PROTOCOL;
extern EFI_GUID gEfiHiiPackageListProtocolGuid;
typedef EFI_HII_PACKAGE_LIST_HEADER *EFI_HII_PACKAGE_LIST_PROTOCOL;
extern EFI_GUID gEfiHiiPackageListProtocolGuid;
#endif

View File

@@ -16,7 +16,7 @@
#define EFI_HII_POPUP_PROTOCOL_GUID \
{0x4311edc0, 0x6054, 0x46d4, {0x9e, 0x40, 0x89, 0x3e, 0xa9, 0x52, 0xfc, 0xcc}}
#define EFI_HII_POPUP_PROTOCOL_REVISION 1
#define EFI_HII_POPUP_PROTOCOL_REVISION 1
typedef struct _EFI_HII_POPUP_PROTOCOL EFI_HII_POPUP_PROTOCOL;
@@ -58,21 +58,20 @@ typedef enum {
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HII_CREATE_POPUP) (
(EFIAPI *EFI_HII_CREATE_POPUP)(
IN EFI_HII_POPUP_PROTOCOL *This,
IN EFI_HII_POPUP_STYLE PopupStyle,
IN EFI_HII_POPUP_TYPE PopupType,
IN EFI_HII_HANDLE HiiHandle,
IN EFI_STRING_ID Message,
OUT EFI_HII_POPUP_SELECTION *UserSelection OPTIONAL
);
);
struct _EFI_HII_POPUP_PROTOCOL {
UINT64 Revision;
EFI_HII_CREATE_POPUP CreatePopup;
UINT64 Revision;
EFI_HII_CREATE_POPUP CreatePopup;
};
extern EFI_GUID gEfiHiiPopupProtocolGuid;
extern EFI_GUID gEfiHiiPopupProtocolGuid;
#endif

View File

@@ -61,8 +61,7 @@ EFI_STATUS
IN CONST CHAR16 *LanguageName OPTIONAL,
IN CONST EFI_STRING String,
IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL
);
);
/**
This function retrieves the string specified by StringId which is associated
@@ -107,7 +106,7 @@ EFI_STATUS
OUT EFI_STRING String,
IN OUT UINTN *StringSize,
OUT EFI_FONT_INFO **StringFontInfo OPTIONAL
);
);
/**
This function updates the string specified by StringId in the specified PackageList to the text
@@ -141,8 +140,7 @@ EFI_STATUS
IN CONST CHAR8 *Language,
IN EFI_STRING String,
IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL
);
);
/**
This function returns the list of supported languages.
@@ -173,8 +171,7 @@ EFI_STATUS
IN EFI_HII_HANDLE PackageList,
IN OUT CHAR8 *Languages,
IN OUT UINTN *LanguagesSize
);
);
/**
Each string package has associated with it a single primary language and zero
@@ -217,21 +214,19 @@ EFI_STATUS
IN CONST CHAR8 *PrimaryLanguage,
IN OUT CHAR8 *SecondaryLanguages,
IN OUT UINTN *SecondaryLanguagesSize
);
);
///
/// Services to manipulate the string.
///
struct _EFI_HII_STRING_PROTOCOL {
EFI_HII_NEW_STRING NewString;
EFI_HII_GET_STRING GetString;
EFI_HII_SET_STRING SetString;
EFI_HII_GET_LANGUAGES GetLanguages;
EFI_HII_GET_2ND_LANGUAGES GetSecondaryLanguages;
EFI_HII_NEW_STRING NewString;
EFI_HII_GET_STRING GetString;
EFI_HII_SET_STRING SetString;
EFI_HII_GET_LANGUAGES GetLanguages;
EFI_HII_GET_2ND_LANGUAGES GetSecondaryLanguages;
};
extern EFI_GUID gEfiHiiStringProtocolGuid;
extern EFI_GUID gEfiHiiStringProtocolGuid;
#endif

View File

@@ -110,22 +110,22 @@ typedef struct {
/// information in every TCP connection made by this instance. In addition, when set
/// to TRUE, LocalAddress and LocalSubnet are ignored.
///
BOOLEAN UseDefaultAddress;
BOOLEAN UseDefaultAddress;
///
/// If UseDefaultAddress is set to FALSE, this defines the local IP address to be
/// used in every TCP connection opened by this instance.
///
EFI_IPv4_ADDRESS LocalAddress;
EFI_IPv4_ADDRESS LocalAddress;
///
/// If UseDefaultAddress is set to FALSE, this defines the local subnet to be used
/// in every TCP connection opened by this instance.
///
EFI_IPv4_ADDRESS LocalSubnet;
EFI_IPv4_ADDRESS LocalSubnet;
///
/// This defines the local port to be used in
/// every TCP connection opened by this instance.
///
UINT16 LocalPort;
UINT16 LocalPort;
} EFI_HTTPv4_ACCESS_POINT;
///
@@ -135,45 +135,44 @@ typedef struct {
///
/// Local IP address to be used in every TCP connection opened by this instance.
///
EFI_IPv6_ADDRESS LocalAddress;
EFI_IPv6_ADDRESS LocalAddress;
///
/// Local port to be used in every TCP connection opened by this instance.
///
UINT16 LocalPort;
UINT16 LocalPort;
} EFI_HTTPv6_ACCESS_POINT;
///
/// EFI_HTTP_CONFIG_DATA_ACCESS_POINT
///
typedef struct {
///
/// HTTP version that this instance will support.
///
EFI_HTTP_VERSION HttpVersion;
EFI_HTTP_VERSION HttpVersion;
///
/// Time out (in milliseconds) when blocking for requests.
///
UINT32 TimeOutMillisec;
UINT32 TimeOutMillisec;
///
/// Defines behavior of EFI DNS and TCP protocols consumed by this instance. If
/// FALSE, this instance will use EFI_DNS4_PROTOCOL and EFI_TCP4_PROTOCOL. If TRUE,
/// this instance will use EFI_DNS6_PROTOCOL and EFI_TCP6_PROTOCOL.
///
BOOLEAN LocalAddressIsIPv6;
BOOLEAN LocalAddressIsIPv6;
union {
///
/// When LocalAddressIsIPv6 is FALSE, this points to the local address, subnet, and
/// port used by the underlying TCP protocol.
///
EFI_HTTPv4_ACCESS_POINT *IPv4Node;
EFI_HTTPv4_ACCESS_POINT *IPv4Node;
///
/// When LocalAddressIsIPv6 is TRUE, this points to the local IPv6 address and port
/// used by the underlying TCP protocol.
///
EFI_HTTPv6_ACCESS_POINT *IPv6Node;
EFI_HTTPv6_ACCESS_POINT *IPv6Node;
} AccessPoint;
} EFI_HTTP_CONFIG_DATA;
@@ -184,14 +183,14 @@ typedef struct {
///
/// The HTTP method (e.g. GET, POST) for this HTTP Request.
///
EFI_HTTP_METHOD Method;
EFI_HTTP_METHOD Method;
///
/// The URI of a remote host. From the information in this field, the HTTP instance
/// will be able to determine whether to use HTTP or HTTPS and will also be able to
/// determine the port number to use. If no port number is specified, port 80 (HTTP)
/// is assumed. See RFC 3986 for more details on URI syntax.
///
CHAR16 *Url;
CHAR16 *Url;
} EFI_HTTP_REQUEST_DATA;
///
@@ -201,7 +200,7 @@ typedef struct {
///
/// Response status code returned by the remote host.
///
EFI_HTTP_STATUS_CODE StatusCode;
EFI_HTTP_STATUS_CODE StatusCode;
} EFI_HTTP_RESPONSE_DATA;
///
@@ -212,12 +211,12 @@ typedef struct {
/// Null terminated string which describes a field name. See RFC 2616 Section 14 for
/// detailed information about field names.
///
CHAR8 *FieldName;
CHAR8 *FieldName;
///
/// Null terminated string which describes the corresponding field value. See RFC 2616
/// Section 14 for detailed information about field values.
///
CHAR8 *FieldValue;
CHAR8 *FieldValue;
} EFI_HTTP_HEADER;
///
@@ -232,37 +231,36 @@ typedef struct {
/// When the token is used to send a HTTP request, Request is a pointer to storage that
/// contains such data as URL and HTTP method.
///
EFI_HTTP_REQUEST_DATA *Request;
EFI_HTTP_REQUEST_DATA *Request;
///
/// When used to await a response, Response points to storage containing HTTP response
/// status code.
///
EFI_HTTP_RESPONSE_DATA *Response;
EFI_HTTP_RESPONSE_DATA *Response;
} Data;
///
/// Number of HTTP header structures in Headers list. On request, this count is
/// provided by the caller. On response, this count is provided by the HTTP driver.
///
UINTN HeaderCount;
UINTN HeaderCount;
///
/// Array containing list of HTTP headers. On request, this array is populated by the
/// caller. On response, this array is allocated and populated by the HTTP driver. It
/// is the responsibility of the caller to free this memory on both request and
/// response.
///
EFI_HTTP_HEADER *Headers;
EFI_HTTP_HEADER *Headers;
///
/// Length in bytes of the HTTP body. This can be zero depending on the HttpMethod type.
///
UINTN BodyLength;
UINTN BodyLength;
///
/// Body associated with the HTTP request or response. This can be NULL depending on
/// the HttpMethod type.
///
VOID *Body;
VOID *Body;
} EFI_HTTP_MESSAGE;
///
/// EFI_HTTP_TOKEN
///
@@ -272,7 +270,7 @@ typedef struct {
/// Protocol driver. The type of Event must be EFI_NOTIFY_SIGNAL. The Task Priority
/// Level (TPL) of Event must be lower than or equal to TPL_CALLBACK.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// Status will be set to one of the following value if the HTTP request is
/// successfully sent or if an unexpected error occurs:
@@ -284,11 +282,11 @@ typedef struct {
/// EFI_TIMEOUT: The HTTP request timed out before reaching the remote host.
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
///
EFI_STATUS Status;
EFI_STATUS Status;
///
/// Pointer to storage containing HTTP message data.
///
EFI_HTTP_MESSAGE *Message;
EFI_HTTP_MESSAGE *Message;
} EFI_HTTP_TOKEN;
/**
@@ -383,7 +381,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_HTTP_REQUEST) (
(EFIAPI *EFI_HTTP_REQUEST)(
IN EFI_HTTP_PROTOCOL *This,
IN EFI_HTTP_TOKEN *Token
);
@@ -465,7 +463,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_HTTP_RESPONSE) (
(EFIAPI *EFI_HTTP_RESPONSE)(
IN EFI_HTTP_PROTOCOL *This,
IN EFI_HTTP_TOKEN *Token
);
@@ -491,7 +489,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_HTTP_POLL) (
(EFIAPI *EFI_HTTP_POLL)(
IN EFI_HTTP_PROTOCOL *This
);
@@ -502,15 +500,15 @@ EFI_STATUS
/// TCP protocol.
///
struct _EFI_HTTP_PROTOCOL {
EFI_HTTP_GET_MODE_DATA GetModeData;
EFI_HTTP_CONFIGURE Configure;
EFI_HTTP_REQUEST Request;
EFI_HTTP_CANCEL Cancel;
EFI_HTTP_RESPONSE Response;
EFI_HTTP_POLL Poll;
EFI_HTTP_GET_MODE_DATA GetModeData;
EFI_HTTP_CONFIGURE Configure;
EFI_HTTP_REQUEST Request;
EFI_HTTP_CANCEL Cancel;
EFI_HTTP_RESPONSE Response;
EFI_HTTP_POLL Poll;
};
extern EFI_GUID gEfiHttpServiceBindingProtocolGuid;
extern EFI_GUID gEfiHttpProtocolGuid;
extern EFI_GUID gEfiHttpServiceBindingProtocolGuid;
extern EFI_GUID gEfiHttpProtocolGuid;
#endif

View File

@@ -17,7 +17,7 @@
0xba23b311, 0x343d, 0x11e6, {0x91, 0x85, 0x58, 0x20, 0xb1, 0xd6, 0x52, 0x99} \
}
typedef struct _EFI_HTTP_BOOT_CALLBACK_PROTOCOL EFI_HTTP_BOOT_CALLBACK_PROTOCOL;
typedef struct _EFI_HTTP_BOOT_CALLBACK_PROTOCOL EFI_HTTP_BOOT_CALLBACK_PROTOCOL;
///
/// EFI_HTTP_BOOT_CALLBACK_DATA_TYPE
@@ -72,13 +72,13 @@ typedef enum {
**/
typedef
EFI_STATUS
(EFIAPI * EFI_HTTP_BOOT_CALLBACK) (
(EFIAPI *EFI_HTTP_BOOT_CALLBACK)(
IN EFI_HTTP_BOOT_CALLBACK_PROTOCOL *This,
IN EFI_HTTP_BOOT_CALLBACK_DATA_TYPE DataType,
IN BOOLEAN Received,
IN UINT32 DataLength,
IN VOID *Data OPTIONAL
);
);
///
/// EFI HTTP Boot Callback Protocol is invoked when the HTTP Boot driver is about to transmit or
@@ -86,9 +86,9 @@ EFI_STATUS
/// as the Load File Protocol for the HTTP Boot.
///
struct _EFI_HTTP_BOOT_CALLBACK_PROTOCOL {
EFI_HTTP_BOOT_CALLBACK Callback;
EFI_HTTP_BOOT_CALLBACK Callback;
};
extern EFI_GUID gEfiHttpBootCallbackProtocolGuid;
extern EFI_GUID gEfiHttpBootCallbackProtocolGuid;
#endif

View File

@@ -22,7 +22,6 @@
typedef struct _EFI_HTTP_UTILITIES_PROTOCOL EFI_HTTP_UTILITIES_PROTOCOL;
/**
Create HTTP header based on a combination of seed header, fields
to delete, and fields to append.
@@ -57,7 +56,7 @@ typedef struct _EFI_HTTP_UTILITIES_PROTOCOL EFI_HTTP_UTILITIES_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_HTTP_UTILS_BUILD) (
(EFIAPI *EFI_HTTP_UTILS_BUILD)(
IN EFI_HTTP_UTILITIES_PROTOCOL *This,
IN UINTN SeedMessageSize,
IN VOID *SeedMessage OPTIONAL,
@@ -92,7 +91,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_HTTP_UTILS_PARSE) (
(EFIAPI *EFI_HTTP_UTILS_PARSE)(
IN EFI_HTTP_UTILITIES_PROTOCOL *This,
IN CHAR8 *HttpMessage,
IN UINTN HttpMessageSize,
@@ -100,7 +99,6 @@ EFI_STATUS
OUT UINTN *FieldCount
);
///
/// EFI_HTTP_UTILITIES_PROTOCOL
/// designed to be used by EFI drivers and applications to parse HTTP
@@ -109,10 +107,10 @@ EFI_STATUS
/// infrastructure.
///
struct _EFI_HTTP_UTILITIES_PROTOCOL {
EFI_HTTP_UTILS_BUILD Build;
EFI_HTTP_UTILS_PARSE Parse;
EFI_HTTP_UTILS_BUILD Build;
EFI_HTTP_UTILS_PARSE Parse;
};
extern EFI_GUID gEfiHttpUtilitiesProtocolGuid;
extern EFI_GUID gEfiHttpUtilitiesProtocolGuid;
#endif

View File

@@ -86,7 +86,6 @@
///
typedef struct _EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL;
/**
Enable access to an I2C bus configuration.
@@ -140,7 +139,7 @@ typedef struct _EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL EFI_I2C_BUS_CONFIG
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL_ENABLE_I2C_BUS_CONFIGURATION) (
(EFIAPI *EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL_ENABLE_I2C_BUS_CONFIGURATION)(
IN CONST EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL *This,
IN UINTN I2cBusConfiguration,
IN EFI_EVENT Event OPTIONAL,
@@ -154,12 +153,12 @@ struct _EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL {
///
/// Enable an I2C bus configuration for use.
///
EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL_ENABLE_I2C_BUS_CONFIGURATION EnableI2cBusConfiguration;
EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL_ENABLE_I2C_BUS_CONFIGURATION EnableI2cBusConfiguration;
};
///
/// Reference to variable defined in the .DEC file
///
extern EFI_GUID gEfiI2cBusConfigurationManagementProtocolGuid;
extern EFI_GUID gEfiI2cBusConfigurationManagementProtocolGuid;
#endif // __I2C_BUS_CONFIGURATION_MANAGEMENT_H__
#endif // __I2C_BUS_CONFIGURATION_MANAGEMENT_H__

View File

@@ -16,9 +16,9 @@
#include <Pi/PiI2c.h>
#define EFI_I2C_ENUMERATE_PROTOCOL_GUID { 0xda8cd7c4, 0x1c00, 0x49e2, { 0x80, 0x3e, 0x52, 0x14, 0xe7, 0x01, 0x89, 0x4c }}
#define EFI_I2C_ENUMERATE_PROTOCOL_GUID { 0xda8cd7c4, 0x1c00, 0x49e2, { 0x80, 0x3e, 0x52, 0x14, 0xe7, 0x01, 0x89, 0x4c }}
typedef struct _EFI_I2C_ENUMERATE_PROTOCOL EFI_I2C_ENUMERATE_PROTOCOL;
typedef struct _EFI_I2C_ENUMERATE_PROTOCOL EFI_I2C_ENUMERATE_PROTOCOL;
/**
Enumerate the I2C devices
@@ -45,7 +45,7 @@ typedef struct _EFI_I2C_ENUMERATE_PROTOCOL EFI_I2C_ENUMERATE_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_ENUMERATE_PROTOCOL_ENUMERATE) (
(EFIAPI *EFI_I2C_ENUMERATE_PROTOCOL_ENUMERATE)(
IN CONST EFI_I2C_ENUMERATE_PROTOCOL *This,
IN OUT CONST EFI_I2C_DEVICE **Device
);
@@ -73,7 +73,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_ENUMERATE_PROTOCOL_GET_BUS_FREQUENCY) (
(EFIAPI *EFI_I2C_ENUMERATE_PROTOCOL_GET_BUS_FREQUENCY)(
IN CONST EFI_I2C_ENUMERATE_PROTOCOL *This,
IN UINTN I2cBusConfiguration,
OUT UINTN *BusClockHertz
@@ -87,18 +87,18 @@ struct _EFI_I2C_ENUMERATE_PROTOCOL {
/// Traverse the set of I2C devices on an I2C bus. This routine
/// returns the next I2C device on an I2C bus.
///
EFI_I2C_ENUMERATE_PROTOCOL_ENUMERATE Enumerate;
EFI_I2C_ENUMERATE_PROTOCOL_ENUMERATE Enumerate;
///
/// Get the requested I2C bus frequency for a specified bus
/// configuration.
///
EFI_I2C_ENUMERATE_PROTOCOL_GET_BUS_FREQUENCY GetBusFrequency;
EFI_I2C_ENUMERATE_PROTOCOL_GET_BUS_FREQUENCY GetBusFrequency;
};
///
/// Reference to variable defined in the .DEC file
///
extern EFI_GUID gEfiI2cEnumerateProtocolGuid;
extern EFI_GUID gEfiI2cEnumerateProtocolGuid;
#endif // __I2C_ENUMERATE_H__
#endif // __I2C_ENUMERATE_H__

View File

@@ -37,7 +37,6 @@
///
typedef struct _EFI_I2C_HOST_PROTOCOL EFI_I2C_HOST_PROTOCOL;
/**
Queue an I2C transaction for execution on the I2C controller.
@@ -113,7 +112,7 @@ typedef struct _EFI_I2C_HOST_PROTOCOL EFI_I2C_HOST_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_HOST_PROTOCOL_QUEUE_REQUEST) (
(EFIAPI *EFI_I2C_HOST_PROTOCOL_QUEUE_REQUEST)(
IN CONST EFI_I2C_HOST_PROTOCOL *This,
IN UINTN I2cBusConfiguration,
IN UINTN SlaveAddress,
@@ -129,18 +128,18 @@ struct _EFI_I2C_HOST_PROTOCOL {
///
/// Queue an I2C transaction for execution on the I2C bus
///
EFI_I2C_HOST_PROTOCOL_QUEUE_REQUEST QueueRequest;
EFI_I2C_HOST_PROTOCOL_QUEUE_REQUEST QueueRequest;
///
/// Pointer to an EFI_I2C_CONTROLLER_CAPABILITIES data structure
/// containing the capabilities of the I2C host controller.
///
CONST EFI_I2C_CONTROLLER_CAPABILITIES *I2cControllerCapabilities;
CONST EFI_I2C_CONTROLLER_CAPABILITIES *I2cControllerCapabilities;
};
///
/// Reference to variable defined in the .DEC file
///
extern EFI_GUID gEfiI2cHostProtocolGuid;
extern EFI_GUID gEfiI2cHostProtocolGuid;
#endif // __I2C_HOST_H__
#endif // __I2C_HOST_H__

View File

@@ -17,7 +17,7 @@
#include <Pi/PiI2c.h>
#define EFI_I2C_IO_PROTOCOL_GUID { 0xb60a3e6b, 0x18c4, 0x46e5, { 0xa2, 0x9a, 0xc9, 0xa1, 0x06, 0x65, 0xa2, 0x8e }}
#define EFI_I2C_IO_PROTOCOL_GUID { 0xb60a3e6b, 0x18c4, 0x46e5, { 0xa2, 0x9a, 0xc9, 0xa1, 0x06, 0x65, 0xa2, 0x8e }}
///
/// I2C I/O protocol
@@ -38,8 +38,7 @@
/// for the I2C device required to implement the EFI_I2C_ENUMERATE_PROTOCOL.
/// The order of the list must be preserved.
///
typedef struct _EFI_I2C_IO_PROTOCOL EFI_I2C_IO_PROTOCOL;
typedef struct _EFI_I2C_IO_PROTOCOL EFI_I2C_IO_PROTOCOL;
/**
Queue an I2C transaction for execution on the I2C device.
@@ -114,7 +113,7 @@ typedef struct _EFI_I2C_IO_PROTOCOL EFI_I2C_IO_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_IO_PROTOCOL_QUEUE_REQUEST) (
(EFIAPI *EFI_I2C_IO_PROTOCOL_QUEUE_REQUEST)(
IN CONST EFI_I2C_IO_PROTOCOL *This,
IN UINTN SlaveAddressIndex,
IN EFI_EVENT Event OPTIONAL,
@@ -129,7 +128,7 @@ struct _EFI_I2C_IO_PROTOCOL {
///
/// Queue an I2C transaction for execution on the I2C device.
///
EFI_I2C_IO_PROTOCOL_QUEUE_REQUEST QueueRequest;
EFI_I2C_IO_PROTOCOL_QUEUE_REQUEST QueueRequest;
///
/// Unique value assigned by the silicon manufacture or the third
@@ -137,30 +136,30 @@ struct _EFI_I2C_IO_PROTOCOL {
/// combines both the manufacture name and the I2C part number into
/// a single value specified as a GUID.
///
CONST EFI_GUID *DeviceGuid;
CONST EFI_GUID *DeviceGuid;
///
/// Unique ID of the I2C part within the system
///
UINT32 DeviceIndex;
UINT32 DeviceIndex;
///
/// Hardware revision - ACPI _HRV value. See the Advanced Configuration
/// and Power Interface Specification, Revision 5.0 for the field format
/// and the Plug and play support for I2C web-page for restriction on values.
///
UINT32 HardwareRevision;
UINT32 HardwareRevision;
///
/// Pointer to an EFI_I2C_CONTROLLER_CAPABILITIES data structure containing
/// the capabilities of the I2C host controller.
///
CONST EFI_I2C_CONTROLLER_CAPABILITIES *I2cControllerCapabilities;
CONST EFI_I2C_CONTROLLER_CAPABILITIES *I2cControllerCapabilities;
};
///
/// Reference to variable defined in the .DEC file
///
extern EFI_GUID gEfiI2cIoProtocolGuid;
extern EFI_GUID gEfiI2cIoProtocolGuid;
#endif // __I2C_IO_H__
#endif // __I2C_IO_H__

View File

@@ -17,7 +17,7 @@
#include <Pi/PiI2c.h>
#define EFI_I2C_MASTER_PROTOCOL_GUID { 0xcd72881f, 0x45b5, 0x4feb, { 0x98, 0xc8, 0x31, 0x3d, 0xa8, 0x11, 0x74, 0x62 }}
#define EFI_I2C_MASTER_PROTOCOL_GUID { 0xcd72881f, 0x45b5, 0x4feb, { 0x98, 0xc8, 0x31, 0x3d, 0xa8, 0x11, 0x74, 0x62 }}
typedef struct _EFI_I2C_MASTER_PROTOCOL EFI_I2C_MASTER_PROTOCOL;
@@ -48,7 +48,7 @@ typedef struct _EFI_I2C_MASTER_PROTOCOL EFI_I2C_MASTER_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_MASTER_PROTOCOL_SET_BUS_FREQUENCY) (
(EFIAPI *EFI_I2C_MASTER_PROTOCOL_SET_BUS_FREQUENCY)(
IN CONST EFI_I2C_MASTER_PROTOCOL *This,
IN OUT UINTN *BusClockHertz
);
@@ -70,7 +70,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_MASTER_PROTOCOL_RESET) (
(EFIAPI *EFI_I2C_MASTER_PROTOCOL_RESET)(
IN CONST EFI_I2C_MASTER_PROTOCOL *This
);
@@ -143,7 +143,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_I2C_MASTER_PROTOCOL_START_REQUEST) (
(EFIAPI *EFI_I2C_MASTER_PROTOCOL_START_REQUEST)(
IN CONST EFI_I2C_MASTER_PROTOCOL *This,
IN UINTN SlaveAddress,
IN EFI_I2C_REQUEST_PACKET *RequestPacket,
@@ -162,25 +162,25 @@ struct _EFI_I2C_MASTER_PROTOCOL {
///
/// Set the clock frequency for the I2C bus.
///
EFI_I2C_MASTER_PROTOCOL_SET_BUS_FREQUENCY SetBusFrequency;
EFI_I2C_MASTER_PROTOCOL_SET_BUS_FREQUENCY SetBusFrequency;
///
/// Reset the I2C host controller.
///
EFI_I2C_MASTER_PROTOCOL_RESET Reset;
EFI_I2C_MASTER_PROTOCOL_RESET Reset;
///
/// Start an I2C transaction in master mode on the host controller.
///
EFI_I2C_MASTER_PROTOCOL_START_REQUEST StartRequest;
EFI_I2C_MASTER_PROTOCOL_START_REQUEST StartRequest;
///
/// Pointer to an EFI_I2C_CONTROLLER_CAPABILITIES data structure containing
/// the capabilities of the I2C host controller.
///
CONST EFI_I2C_CONTROLLER_CAPABILITIES *I2cControllerCapabilities;
CONST EFI_I2C_CONTROLLER_CAPABILITIES *I2cControllerCapabilities;
};
extern EFI_GUID gEfiI2cMasterProtocolGuid;
extern EFI_GUID gEfiI2cMasterProtocolGuid;
#endif // __I2C_MASTER_H__
#endif // __I2C_MASTER_H__

View File

@@ -41,8 +41,6 @@ EFI_STATUS
OUT VOID *Buffer
);
/**
Sets the iSCSI Initiator Name.
@@ -71,11 +69,10 @@ typedef EFI_STATUS
/// iSCSI Initiator Name Protocol for setting and obtaining the iSCSI Initiator Name.
///
struct _EFI_ISCSI_INITIATOR_NAME_PROTOCOL {
EFI_ISCSI_INITIATOR_NAME_GET Get;
EFI_ISCSI_INITIATOR_NAME_SET Set;
EFI_ISCSI_INITIATOR_NAME_GET Get;
EFI_ISCSI_INITIATOR_NAME_SET Set;
};
extern EFI_GUID gEfiIScsiInitiatorNameProtocolGuid;
extern EFI_GUID gEfiIScsiInitiatorNameProtocolGuid;
#endif

View File

@@ -38,7 +38,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
///
/// Forward declaration for EFI_IDE_CONTROLLER_INIT_PROTOCOL.
///
typedef struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL EFI_IDE_CONTROLLER_INIT_PROTOCOL;
typedef struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL EFI_IDE_CONTROLLER_INIT_PROTOCOL;
///
/// The phase of the IDE Controller enumeration.
@@ -119,8 +119,8 @@ typedef enum {
/// EFI_ATA_MODE structure.
///
typedef struct {
BOOLEAN Valid; ///< TRUE if Mode is valid.
UINT32 Mode; ///< The actual ATA mode. This field is not a bit map.
BOOLEAN Valid; ///< TRUE if Mode is valid.
UINT32 Mode; ///< The actual ATA mode. This field is not a bit map.
} EFI_ATA_MODE;
///
@@ -136,11 +136,11 @@ typedef struct {
/// can support new transport protocols beyond UDMA. Type EFI_ATA_EXT_TRANSFER_PROTOCOL
/// is defined below.
///
EFI_ATA_EXT_TRANSFER_PROTOCOL TransferProtocol;
EFI_ATA_EXT_TRANSFER_PROTOCOL TransferProtocol;
///
/// The mode for operating the transfer protocol that is identified by TransferProtocol.
///
UINT32 Mode;
UINT32 Mode;
} EFI_ATA_EXTENDED_MODE;
///
@@ -154,7 +154,7 @@ typedef struct {
/// of PIO mode 1 is governed by the ATA/ATAPI specification. Type EFI_ATA_MODE
/// is defined below.
///
EFI_ATA_MODE PioMode;
EFI_ATA_MODE PioMode;
///
/// This field specifies the single word DMA mode. Single word DMA modes are defined
/// in the ATA/ATAPI specification, versions 1 and 2. Single word DMA support was
@@ -164,26 +164,26 @@ typedef struct {
/// mode 1. The actual meaning of single word DMA mode 1 is governed by the ATA/
/// ATAPI specification.
///
EFI_ATA_MODE SingleWordDmaMode;
EFI_ATA_MODE SingleWordDmaMode;
///
/// This field specifies the multiword DMA mode. Various multiword DMA modes are
/// defined in the ATA/ATAPI specification. A value of 1 in this field means multiword
/// DMA mode 1. The actual meaning of multiword DMA mode 1 is governed by the
/// ATA/ATAPI specification.
///
EFI_ATA_MODE MultiWordDmaMode;
EFI_ATA_MODE MultiWordDmaMode;
///
/// This field specifies the ultra DMA (UDMA) mode. UDMA modes are defined in the
/// ATA/ATAPI specification. A value of 1 in this field means UDMA mode 1. The
/// actual meaning of UDMA mode 1 is governed by the ATA/ATAPI specification.
///
EFI_ATA_MODE UdmaMode;
EFI_ATA_MODE UdmaMode;
///
/// The number of extended-mode bitmap entries. Extended modes describe transfer
/// protocols beyond PIO, single word DMA, multiword DMA, and UDMA. This field
/// can be zero and provides extensibility.
///
UINT32 ExtModeCount;
UINT32 ExtModeCount;
///
/// ExtModeCount number of entries. Each entry represents a transfer protocol other
/// than the ones defined above (i.e., PIO, single word DMA, multiword DMA, and
@@ -191,7 +191,7 @@ typedef struct {
/// transfer protocol is defined to cover SATA transfers. Type
/// EFI_ATA_EXTENDED_MODE is defined below.
///
EFI_ATA_EXTENDED_MODE ExtMode[1];
EFI_ATA_EXTENDED_MODE ExtMode[1];
} EFI_ATA_COLLECTIVE_MODE;
///
@@ -222,12 +222,12 @@ typedef union {
/// The data that is returned by an ATA device upon successful completion
/// of the ATA IDENTIFY_DEVICE command.
///
EFI_ATA_IDENTIFY_DATA AtaData;
EFI_ATA_IDENTIFY_DATA AtaData;
///
/// The data that is returned by an ATAPI device upon successful completion
/// of the ATA IDENTIFY_PACKET_DEVICE command.
///
EFI_ATAPI_IDENTIFY_DATA AtapiData;
EFI_ATAPI_IDENTIFY_DATA AtapiData;
} EFI_IDENTIFY_DATA;
/**
@@ -551,9 +551,9 @@ struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL {
/// each of which can have up to one device. In the presence of a multiplier,
/// each channel can have fifteen devices.
///
UINT8 ChannelCount;
UINT8 ChannelCount;
};
extern EFI_GUID gEfiIdeControllerInitProtocolGuid;
extern EFI_GUID gEfiIdeControllerInitProtocolGuid;
#endif

View File

@@ -159,9 +159,9 @@ struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL {
/// resource configuration requirements if the specified device is a recognized
/// incompatible PCI device.
///
EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE CheckDevice;
EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE CheckDevice;
};
extern EFI_GUID gEfiIncompatiblePciDeviceSupportProtocolGuid;
extern EFI_GUID gEfiIncompatiblePciDeviceSupportProtocolGuid;
#endif

View File

@@ -40,9 +40,9 @@ typedef struct _EFI_IP4_PROTOCOL EFI_IP4_PROTOCOL;
/// The definition in here is only present to provide backwards compatability.
///
typedef struct {
EFI_HANDLE InstanceHandle;
EFI_IPv4_ADDRESS Ip4Address;
EFI_IPv4_ADDRESS SubnetMask;
EFI_HANDLE InstanceHandle;
EFI_IPv4_ADDRESS Ip4Address;
EFI_IPv4_ADDRESS SubnetMask;
} EFI_IP4_ADDRESS_PAIR;
///
@@ -60,182 +60,178 @@ typedef struct {
/// The default IPv4 protocol packets to send and receive. Ignored
/// when AcceptPromiscuous is TRUE.
///
UINT8 DefaultProtocol;
UINT8 DefaultProtocol;
///
/// Set to TRUE to receive all IPv4 packets that get through the receive filters.
/// Set to FALSE to receive only the DefaultProtocol IPv4
/// packets that get through the receive filters.
///
BOOLEAN AcceptAnyProtocol;
BOOLEAN AcceptAnyProtocol;
///
/// Set to TRUE to receive ICMP error report packets. Ignored when
/// AcceptPromiscuous or AcceptAnyProtocol is TRUE.
///
BOOLEAN AcceptIcmpErrors;
BOOLEAN AcceptIcmpErrors;
///
/// Set to TRUE to receive broadcast IPv4 packets. Ignored when
/// AcceptPromiscuous is TRUE.
/// Set to FALSE to stop receiving broadcast IPv4 packets.
///
BOOLEAN AcceptBroadcast;
BOOLEAN AcceptBroadcast;
///
/// Set to TRUE to receive all IPv4 packets that are sent to any
/// hardware address or any protocol address.
/// Set to FALSE to stop receiving all promiscuous IPv4 packets
///
BOOLEAN AcceptPromiscuous;
BOOLEAN AcceptPromiscuous;
///
/// Set to TRUE to use the default IPv4 address and default routing table.
///
BOOLEAN UseDefaultAddress;
BOOLEAN UseDefaultAddress;
///
/// The station IPv4 address that will be assigned to this EFI IPv4Protocol instance.
///
EFI_IPv4_ADDRESS StationAddress;
EFI_IPv4_ADDRESS StationAddress;
///
/// The subnet address mask that is associated with the station address.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
///
/// TypeOfService field in transmitted IPv4 packets.
///
UINT8 TypeOfService;
UINT8 TypeOfService;
///
/// TimeToLive field in transmitted IPv4 packets.
///
UINT8 TimeToLive;
UINT8 TimeToLive;
///
/// State of the DoNotFragment bit in transmitted IPv4 packets.
///
BOOLEAN DoNotFragment;
BOOLEAN DoNotFragment;
///
/// Set to TRUE to send and receive unformatted packets. The other
/// IPv4 receive filters are still applied. Fragmentation is disabled for RawData mode.
///
BOOLEAN RawData;
BOOLEAN RawData;
///
/// The timer timeout value (number of microseconds) for the
/// receive timeout event to be associated with each assembled
/// packet. Zero means do not drop assembled packets.
///
UINT32 ReceiveTimeout;
UINT32 ReceiveTimeout;
///
/// The timer timeout value (number of microseconds) for the
/// transmit timeout event to be associated with each outgoing
/// packet. Zero means do not drop outgoing packets.
///
UINT32 TransmitTimeout;
UINT32 TransmitTimeout;
} EFI_IP4_CONFIG_DATA;
typedef struct {
EFI_IPv4_ADDRESS SubnetAddress;
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS GatewayAddress;
EFI_IPv4_ADDRESS SubnetAddress;
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS GatewayAddress;
} EFI_IP4_ROUTE_TABLE;
typedef struct {
UINT8 Type;
UINT8 Code;
UINT8 Type;
UINT8 Code;
} EFI_IP4_ICMP_TYPE;
typedef struct {
///
/// Set to TRUE after this EFI IPv4 Protocol instance has been successfully configured.
///
BOOLEAN IsStarted;
BOOLEAN IsStarted;
///
/// The maximum packet size, in bytes, of the packet which the upper layer driver could feed.
///
UINT32 MaxPacketSize;
UINT32 MaxPacketSize;
///
/// Current configuration settings.
///
EFI_IP4_CONFIG_DATA ConfigData;
EFI_IP4_CONFIG_DATA ConfigData;
///
/// Set to TRUE when the EFI IPv4 Protocol instance has a station address and subnet mask.
///
BOOLEAN IsConfigured;
BOOLEAN IsConfigured;
///
/// Number of joined multicast groups.
///
UINT32 GroupCount;
UINT32 GroupCount;
///
/// List of joined multicast group addresses.
///
EFI_IPv4_ADDRESS *GroupTable;
EFI_IPv4_ADDRESS *GroupTable;
///
/// Number of entries in the routing table.
///
UINT32 RouteCount;
UINT32 RouteCount;
///
/// Routing table entries.
///
EFI_IP4_ROUTE_TABLE *RouteTable;
EFI_IP4_ROUTE_TABLE *RouteTable;
///
/// Number of entries in the supported ICMP types list.
///
UINT32 IcmpTypeCount;
UINT32 IcmpTypeCount;
///
/// Array of ICMP types and codes that are supported by this EFI IPv4 Protocol driver
///
EFI_IP4_ICMP_TYPE *IcmpTypeList;
EFI_IP4_ICMP_TYPE *IcmpTypeList;
} EFI_IP4_MODE_DATA;
#pragma pack(1)
typedef struct {
UINT8 HeaderLength:4;
UINT8 Version:4;
UINT8 TypeOfService;
UINT16 TotalLength;
UINT16 Identification;
UINT16 Fragmentation;
UINT8 TimeToLive;
UINT8 Protocol;
UINT16 Checksum;
EFI_IPv4_ADDRESS SourceAddress;
EFI_IPv4_ADDRESS DestinationAddress;
UINT8 HeaderLength : 4;
UINT8 Version : 4;
UINT8 TypeOfService;
UINT16 TotalLength;
UINT16 Identification;
UINT16 Fragmentation;
UINT8 TimeToLive;
UINT8 Protocol;
UINT16 Checksum;
EFI_IPv4_ADDRESS SourceAddress;
EFI_IPv4_ADDRESS DestinationAddress;
} EFI_IP4_HEADER;
#pragma pack()
typedef struct {
UINT32 FragmentLength;
VOID *FragmentBuffer;
UINT32 FragmentLength;
VOID *FragmentBuffer;
} EFI_IP4_FRAGMENT_DATA;
typedef struct {
EFI_TIME TimeStamp;
EFI_EVENT RecycleSignal;
UINT32 HeaderLength;
EFI_IP4_HEADER *Header;
UINT32 OptionsLength;
VOID *Options;
UINT32 DataLength;
UINT32 FragmentCount;
EFI_IP4_FRAGMENT_DATA FragmentTable[1];
EFI_TIME TimeStamp;
EFI_EVENT RecycleSignal;
UINT32 HeaderLength;
EFI_IP4_HEADER *Header;
UINT32 OptionsLength;
VOID *Options;
UINT32 DataLength;
UINT32 FragmentCount;
EFI_IP4_FRAGMENT_DATA FragmentTable[1];
} EFI_IP4_RECEIVE_DATA;
typedef struct {
EFI_IPv4_ADDRESS SourceAddress;
EFI_IPv4_ADDRESS GatewayAddress;
UINT8 Protocol;
UINT8 TypeOfService;
UINT8 TimeToLive;
BOOLEAN DoNotFragment;
EFI_IPv4_ADDRESS SourceAddress;
EFI_IPv4_ADDRESS GatewayAddress;
UINT8 Protocol;
UINT8 TypeOfService;
UINT8 TimeToLive;
BOOLEAN DoNotFragment;
} EFI_IP4_OVERRIDE_DATA;
typedef struct {
EFI_IPv4_ADDRESS DestinationAddress;
EFI_IP4_OVERRIDE_DATA *OverrideData; //OPTIONAL
UINT32 OptionsLength; //OPTIONAL
VOID *OptionsBuffer; //OPTIONAL
UINT32 TotalDataLength;
UINT32 FragmentCount;
EFI_IP4_FRAGMENT_DATA FragmentTable[1];
EFI_IPv4_ADDRESS DestinationAddress;
EFI_IP4_OVERRIDE_DATA *OverrideData; // OPTIONAL
UINT32 OptionsLength; // OPTIONAL
VOID *OptionsBuffer; // OPTIONAL
UINT32 TotalDataLength;
UINT32 FragmentCount;
EFI_IP4_FRAGMENT_DATA FragmentTable[1];
} EFI_IP4_TRANSMIT_DATA;
typedef struct {
@@ -245,21 +241,21 @@ typedef struct {
/// EFI_NOTIFY_SIGNAL. The Task Priority Level (TPL) of
/// Event must be lower than or equal to TPL_CALLBACK.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// The status that is returned to the caller at the end of the operation
/// to indicate whether this operation completed successfully.
///
EFI_STATUS Status;
EFI_STATUS Status;
union {
///
/// When this token is used for receiving, RxData is a pointer to the EFI_IP4_RECEIVE_DATA.
///
EFI_IP4_RECEIVE_DATA *RxData;
EFI_IP4_RECEIVE_DATA *RxData;
///
/// When this token is used for transmitting, TxData is a pointer to the EFI_IP4_TRANSMIT_DATA.
///
EFI_IP4_TRANSMIT_DATA *TxData;
EFI_IP4_TRANSMIT_DATA *TxData;
} Packet;
} EFI_IP4_COMPLETION_TOKEN;
@@ -590,17 +586,17 @@ EFI_STATUS
/// used by drivers, daemons, and applications to transmit and receive network packets.
///
struct _EFI_IP4_PROTOCOL {
EFI_IP4_GET_MODE_DATA GetModeData;
EFI_IP4_CONFIGURE Configure;
EFI_IP4_GROUPS Groups;
EFI_IP4_ROUTES Routes;
EFI_IP4_TRANSMIT Transmit;
EFI_IP4_RECEIVE Receive;
EFI_IP4_CANCEL Cancel;
EFI_IP4_POLL Poll;
EFI_IP4_GET_MODE_DATA GetModeData;
EFI_IP4_CONFIGURE Configure;
EFI_IP4_GROUPS Groups;
EFI_IP4_ROUTES Routes;
EFI_IP4_TRANSMIT Transmit;
EFI_IP4_RECEIVE Receive;
EFI_IP4_CANCEL Cancel;
EFI_IP4_POLL Poll;
};
extern EFI_GUID gEfiIp4ServiceBindingProtocolGuid;
extern EFI_GUID gEfiIp4ProtocolGuid;
extern EFI_GUID gEfiIp4ServiceBindingProtocolGuid;
extern EFI_GUID gEfiIp4ProtocolGuid;
#endif

View File

@@ -9,6 +9,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
This Protocol is introduced in UEFI Specification 2.0.
**/
#ifndef __EFI_IP4CONFIG_PROTOCOL_H__
#define __EFI_IP4CONFIG_PROTOCOL_H__
@@ -36,23 +37,22 @@ typedef struct {
///
/// Default station IP address, stored in network byte order.
///
EFI_IPv4_ADDRESS StationAddress;
EFI_IPv4_ADDRESS StationAddress;
///
/// Default subnet mask, stored in network byte order.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
///
/// Number of entries in the following RouteTable. May be zero.
///
UINT32 RouteTableSize;
UINT32 RouteTableSize;
///
/// Default routing table data (stored in network byte order).
/// Ignored if RouteTableSize is zero.
///
EFI_IP4_ROUTE_TABLE *RouteTable;
EFI_IP4_ROUTE_TABLE *RouteTable;
} EFI_IP4_IPCONFIG_DATA;
/**
Starts running the configuration policy for the EFI IPv4 Protocol driver.
@@ -166,11 +166,11 @@ EFI_STATUS
/// configurations for the EFI IPv4 Protocol driver.
///
struct _EFI_IP4_CONFIG_PROTOCOL {
EFI_IP4_CONFIG_START Start;
EFI_IP4_CONFIG_STOP Stop;
EFI_IP4_CONFIG_GET_DATA GetData;
EFI_IP4_CONFIG_START Start;
EFI_IP4_CONFIG_STOP Stop;
EFI_IP4_CONFIG_GET_DATA GetData;
};
extern EFI_GUID gEfiIp4ConfigProtocolGuid;
extern EFI_GUID gEfiIp4ConfigProtocolGuid;
#endif

View File

@@ -9,6 +9,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
This Protocol is introduced in UEFI Specification 2.5
**/
#ifndef __EFI_IP4CONFIG2_PROTOCOL_H__
#define __EFI_IP4CONFIG2_PROTOCOL_H__
@@ -21,7 +22,6 @@ This Protocol is introduced in UEFI Specification 2.5
typedef struct _EFI_IP4_CONFIG2_PROTOCOL EFI_IP4_CONFIG2_PROTOCOL;
///
/// EFI_IP4_CONFIG2_DATA_TYPE
///
@@ -78,7 +78,7 @@ typedef enum {
///
/// EFI_IP4_CONFIG2_INTERFACE_INFO related definitions
///
#define EFI_IP4_CONFIG2_INTERFACE_INFO_NAME_SIZE 32
#define EFI_IP4_CONFIG2_INTERFACE_INFO_NAME_SIZE 32
///
/// EFI_IP4_CONFIG2_INTERFACE_INFO
@@ -87,32 +87,32 @@ typedef struct {
///
/// The name of the interface. It is a NULL-terminated Unicode string.
///
CHAR16 Name[EFI_IP4_CONFIG2_INTERFACE_INFO_NAME_SIZE];
CHAR16 Name[EFI_IP4_CONFIG2_INTERFACE_INFO_NAME_SIZE];
///
/// The interface type of the network interface. See RFC 1700,
/// section "Number Hardware Type".
///
UINT8 IfType;
UINT8 IfType;
///
/// The size, in bytes, of the network interface's hardware address.
///
UINT32 HwAddressSize;
UINT32 HwAddressSize;
///
/// The hardware address for the network interface.
///
EFI_MAC_ADDRESS HwAddress;
EFI_MAC_ADDRESS HwAddress;
///
/// The station IPv4 address of this EFI IPv4 network stack.
///
EFI_IPv4_ADDRESS StationAddress;
EFI_IPv4_ADDRESS StationAddress;
///
/// The subnet address mask that is associated with the station address.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
///
/// Size of the following RouteTable, in bytes. May be zero.
///
UINT32 RouteTableSize;
UINT32 RouteTableSize;
///
/// The route table of the IPv4 network stack runs on this interface.
/// Set to NULL if RouteTableSize is zero. Type EFI_IP4_ROUTE_TABLE is defined in
@@ -150,11 +150,11 @@ typedef struct {
///
/// The IPv4 unicast address.
///
EFI_IPv4_ADDRESS Address;
EFI_IPv4_ADDRESS Address;
///
/// The subnet mask.
///
EFI_IPv4_ADDRESS SubnetMask;
EFI_IPv4_ADDRESS SubnetMask;
} EFI_IP4_CONFIG2_MANUAL_ADDRESS;
/**
@@ -200,7 +200,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_IP4_CONFIG2_SET_DATA) (
(EFIAPI *EFI_IP4_CONFIG2_SET_DATA)(
IN EFI_IP4_CONFIG2_PROTOCOL *This,
IN EFI_IP4_CONFIG2_DATA_TYPE DataType,
IN UINTN DataSize,
@@ -242,7 +242,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_IP4_CONFIG2_GET_DATA) (
(EFIAPI *EFI_IP4_CONFIG2_GET_DATA)(
IN EFI_IP4_CONFIG2_PROTOCOL *This,
IN EFI_IP4_CONFIG2_DATA_TYPE DataType,
IN OUT UINTN *DataSize,
@@ -271,7 +271,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_IP4_CONFIG2_REGISTER_NOTIFY) (
(EFIAPI *EFI_IP4_CONFIG2_REGISTER_NOTIFY)(
IN EFI_IP4_CONFIG2_PROTOCOL *This,
IN EFI_IP4_CONFIG2_DATA_TYPE DataType,
IN EFI_EVENT Event
@@ -292,7 +292,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_IP4_CONFIG2_UNREGISTER_NOTIFY) (
(EFIAPI *EFI_IP4_CONFIG2_UNREGISTER_NOTIFY)(
IN EFI_IP4_CONFIG2_PROTOCOL *This,
IN EFI_IP4_CONFIG2_DATA_TYPE DataType,
IN EFI_EVENT Event
@@ -305,13 +305,12 @@ EFI_STATUS
/// the EFI IPv4 network stack runs on.
///
struct _EFI_IP4_CONFIG2_PROTOCOL {
EFI_IP4_CONFIG2_SET_DATA SetData;
EFI_IP4_CONFIG2_GET_DATA GetData;
EFI_IP4_CONFIG2_REGISTER_NOTIFY RegisterDataNotify;
EFI_IP4_CONFIG2_UNREGISTER_NOTIFY UnregisterDataNotify;
EFI_IP4_CONFIG2_SET_DATA SetData;
EFI_IP4_CONFIG2_GET_DATA GetData;
EFI_IP4_CONFIG2_REGISTER_NOTIFY RegisterDataNotify;
EFI_IP4_CONFIG2_UNREGISTER_NOTIFY UnregisterDataNotify;
};
extern EFI_GUID gEfiIp4Config2ProtocolGuid;
extern EFI_GUID gEfiIp4Config2ProtocolGuid;
#endif

View File

@@ -23,7 +23,6 @@
#include <Protocol/ManagedNetwork.h>
#define EFI_IP6_SERVICE_BINDING_PROTOCOL_GUID \
{ \
0xec835dd3, 0xfe0f, 0x617b, {0xa6, 0x21, 0xb3, 0x50, 0xc3, 0xe1, 0x33, 0x88 } \
@@ -40,7 +39,7 @@ typedef struct _EFI_IP6_PROTOCOL EFI_IP6_PROTOCOL;
/// EFI_IP6_ADDRESS_PAIR is deprecated in the UEFI 2.4B and should not be used any more.
/// The definition in here is only present to provide backwards compatability.
///
typedef struct{
typedef struct {
///
/// The EFI IPv6 Protocol instance handle that is using this address/prefix pair.
///
@@ -78,57 +77,57 @@ typedef struct {
/// ICMPv6 type definitions for error messages
///
///@{
#define ICMP_V6_DEST_UNREACHABLE 0x1
#define ICMP_V6_PACKET_TOO_BIG 0x2
#define ICMP_V6_TIME_EXCEEDED 0x3
#define ICMP_V6_PARAMETER_PROBLEM 0x4
#define ICMP_V6_DEST_UNREACHABLE 0x1
#define ICMP_V6_PACKET_TOO_BIG 0x2
#define ICMP_V6_TIME_EXCEEDED 0x3
#define ICMP_V6_PARAMETER_PROBLEM 0x4
///@}
///
/// ICMPv6 type definition for informational messages
///
///@{
#define ICMP_V6_ECHO_REQUEST 0x80
#define ICMP_V6_ECHO_REPLY 0x81
#define ICMP_V6_LISTENER_QUERY 0x82
#define ICMP_V6_LISTENER_REPORT 0x83
#define ICMP_V6_LISTENER_DONE 0x84
#define ICMP_V6_ROUTER_SOLICIT 0x85
#define ICMP_V6_ROUTER_ADVERTISE 0x86
#define ICMP_V6_NEIGHBOR_SOLICIT 0x87
#define ICMP_V6_NEIGHBOR_ADVERTISE 0x88
#define ICMP_V6_REDIRECT 0x89
#define ICMP_V6_LISTENER_REPORT_2 0x8F
#define ICMP_V6_ECHO_REQUEST 0x80
#define ICMP_V6_ECHO_REPLY 0x81
#define ICMP_V6_LISTENER_QUERY 0x82
#define ICMP_V6_LISTENER_REPORT 0x83
#define ICMP_V6_LISTENER_DONE 0x84
#define ICMP_V6_ROUTER_SOLICIT 0x85
#define ICMP_V6_ROUTER_ADVERTISE 0x86
#define ICMP_V6_NEIGHBOR_SOLICIT 0x87
#define ICMP_V6_NEIGHBOR_ADVERTISE 0x88
#define ICMP_V6_REDIRECT 0x89
#define ICMP_V6_LISTENER_REPORT_2 0x8F
///@}
///
/// ICMPv6 code definitions for ICMP_V6_DEST_UNREACHABLE
///
///@{
#define ICMP_V6_NO_ROUTE_TO_DEST 0x0
#define ICMP_V6_COMM_PROHIBITED 0x1
#define ICMP_V6_BEYOND_SCOPE 0x2
#define ICMP_V6_ADDR_UNREACHABLE 0x3
#define ICMP_V6_PORT_UNREACHABLE 0x4
#define ICMP_V6_SOURCE_ADDR_FAILED 0x5
#define ICMP_V6_ROUTE_REJECTED 0x6
#define ICMP_V6_NO_ROUTE_TO_DEST 0x0
#define ICMP_V6_COMM_PROHIBITED 0x1
#define ICMP_V6_BEYOND_SCOPE 0x2
#define ICMP_V6_ADDR_UNREACHABLE 0x3
#define ICMP_V6_PORT_UNREACHABLE 0x4
#define ICMP_V6_SOURCE_ADDR_FAILED 0x5
#define ICMP_V6_ROUTE_REJECTED 0x6
///@}
///
/// ICMPv6 code definitions for ICMP_V6_TIME_EXCEEDED
///
///@{
#define ICMP_V6_TIMEOUT_HOP_LIMIT 0x0
#define ICMP_V6_TIMEOUT_REASSEMBLE 0x1
#define ICMP_V6_TIMEOUT_HOP_LIMIT 0x0
#define ICMP_V6_TIMEOUT_REASSEMBLE 0x1
///@}
///
/// ICMPv6 code definitions for ICMP_V6_PARAMETER_PROBLEM
///
///@{
#define ICMP_V6_ERRONEOUS_HEADER 0x0
#define ICMP_V6_UNRECOGNIZE_NEXT_HDR 0x1
#define ICMP_V6_UNRECOGNIZE_OPTION 0x2
#define ICMP_V6_ERRONEOUS_HEADER 0x0
#define ICMP_V6_UNRECOGNIZE_NEXT_HDR 0x1
#define ICMP_V6_UNRECOGNIZE_OPTION 0x2
///@}
///
@@ -142,7 +141,7 @@ typedef struct {
/// the IPv6 header if there are no extension headers. Ignored when
/// AcceptPromiscuous is TRUE.
///
UINT8 DefaultProtocol;
UINT8 DefaultProtocol;
///
/// Set to TRUE to receive all IPv6 packets that get through the
/// receive filters.
@@ -150,23 +149,23 @@ typedef struct {
/// packets that get through the receive filters. Ignored when
/// AcceptPromiscuous is TRUE.
///
BOOLEAN AcceptAnyProtocol;
BOOLEAN AcceptAnyProtocol;
///
/// Set to TRUE to receive ICMP error report packets. Ignored when
/// AcceptPromiscuous or AcceptAnyProtocol is TRUE.
///
BOOLEAN AcceptIcmpErrors;
BOOLEAN AcceptIcmpErrors;
///
/// Set to TRUE to receive all IPv6 packets that are sent to any
/// hardware address or any protocol address. Set to FALSE to stop
/// receiving all promiscuous IPv6 packets.
///
BOOLEAN AcceptPromiscuous;
BOOLEAN AcceptPromiscuous;
///
/// The destination address of the packets that will be transmitted.
/// Ignored if it is unspecified.
///
EFI_IPv6_ADDRESS DestinationAddress;
EFI_IPv6_ADDRESS DestinationAddress;
///
/// The station IPv6 address that will be assigned to this EFI IPv6
/// Protocol instance. This field can be set and changed only when
@@ -186,41 +185,41 @@ typedef struct {
/// only be successfully bound to this EFI IPv6 protocol instance
/// after IP6ModeData.IsConfigured changed to TRUE.
///
EFI_IPv6_ADDRESS StationAddress;
EFI_IPv6_ADDRESS StationAddress;
///
/// TrafficClass field in transmitted IPv6 packets. Default value
/// is zero.
///
UINT8 TrafficClass;
UINT8 TrafficClass;
///
/// HopLimit field in transmitted IPv6 packets.
///
UINT8 HopLimit;
UINT8 HopLimit;
///
/// FlowLabel field in transmitted IPv6 packets. Default value is
/// zero.
///
UINT32 FlowLabel;
UINT32 FlowLabel;
///
/// The timer timeout value (number of microseconds) for the
/// receive timeout event to be associated with each assembled
/// packet. Zero means do not drop assembled packets.
///
UINT32 ReceiveTimeout;
UINT32 ReceiveTimeout;
///
/// The timer timeout value (number of microseconds) for the
/// transmit timeout event to be associated with each outgoing
/// packet. Zero means do not drop outgoing packets.
///
UINT32 TransmitTimeout;
UINT32 TransmitTimeout;
} EFI_IP6_CONFIG_DATA;
///
/// EFI_IP6_ADDRESS_INFO
///
typedef struct {
EFI_IPv6_ADDRESS Address; ///< The IPv6 address.
UINT8 PrefixLength; ///< The length of the prefix associated with the Address.
EFI_IPv6_ADDRESS Address; ///< The IPv6 address.
UINT8 PrefixLength; ///< The length of the prefix associated with the Address.
} EFI_IP6_ADDRESS_INFO;
///
@@ -233,15 +232,15 @@ typedef struct {
/// packets to this prefix. If the IPv6 address is all zeros, then the
/// prefix is on-link.
///
EFI_IPv6_ADDRESS Gateway;
EFI_IPv6_ADDRESS Gateway;
///
/// The destination prefix to be routed.
///
EFI_IPv6_ADDRESS Destination;
EFI_IPv6_ADDRESS Destination;
///
/// The length of the prefix associated with the Destination.
///
UINT8 PrefixLength;
UINT8 PrefixLength;
} EFI_IP6_ROUTE_TABLE;
///
@@ -261,9 +260,9 @@ typedef enum {
///
EfiNeighborReachable,
///
///Reachable Time has elapsed since the last positive confirmation
///was received. In this state, the forward path to the neighbor was
///functioning properly.
/// Reachable Time has elapsed since the last positive confirmation
/// was received. In this state, the forward path to the neighbor was
/// functioning properly.
///
EfiNeighborStale,
///
@@ -285,9 +284,9 @@ typedef enum {
/// of entries about individual neighbors to which traffic has been sent recently.
///
typedef struct {
EFI_IPv6_ADDRESS Neighbor; ///< The on-link unicast/anycast IP address of the neighbor.
EFI_MAC_ADDRESS LinkAddress; ///< Link-layer address of the neighbor.
EFI_IP6_NEIGHBOR_STATE State; ///< State of this neighbor cache entry.
EFI_IPv6_ADDRESS Neighbor; ///< The on-link unicast/anycast IP address of the neighbor.
EFI_MAC_ADDRESS LinkAddress; ///< Link-layer address of the neighbor.
EFI_IP6_NEIGHBOR_STATE State; ///< State of this neighbor cache entry.
} EFI_IP6_NEIGHBOR_CACHE;
///
@@ -296,8 +295,8 @@ typedef struct {
/// IPv6 Protocol driver.
///
typedef struct {
UINT8 Type; ///< The type of ICMP message.
UINT8 Code; ///< The code of the ICMP message.
UINT8 Type; ///< The type of ICMP message.
UINT8 Code; ///< The code of the ICMP message.
} EFI_IP6_ICMP_TYPE;
///
@@ -309,82 +308,82 @@ typedef struct {
/// All other fields in this structure are undefined until this field is TRUE.
/// Set to FALSE when the EFI IPv6 Protocol instance is stopped.
///
BOOLEAN IsStarted;
BOOLEAN IsStarted;
///
/// The maximum packet size, in bytes, of the packet which the upper layer driver could feed.
///
UINT32 MaxPacketSize;
UINT32 MaxPacketSize;
///
/// Current configuration settings. Undefined until IsStarted is TRUE.
///
EFI_IP6_CONFIG_DATA ConfigData;
EFI_IP6_CONFIG_DATA ConfigData;
///
/// Set to TRUE when the EFI IPv6 Protocol instance is configured.
/// The instance is configured when it has a station address and
/// corresponding prefix length.
/// Set to FALSE when the EFI IPv6 Protocol instance is not configured.
///
BOOLEAN IsConfigured;
BOOLEAN IsConfigured;
///
/// Number of configured IPv6 addresses on this interface.
///
UINT32 AddressCount;
UINT32 AddressCount;
///
/// List of currently configured IPv6 addresses and corresponding
/// prefix lengths assigned to this interface. It is caller's
/// responsibility to free this buffer.
///
EFI_IP6_ADDRESS_INFO *AddressList;
EFI_IP6_ADDRESS_INFO *AddressList;
///
/// Number of joined multicast groups. Undefined until
/// IsConfigured is TRUE.
///
UINT32 GroupCount;
UINT32 GroupCount;
///
/// List of joined multicast group addresses. It is caller's
/// responsibility to free this buffer. Undefined until
/// IsConfigured is TRUE.
///
EFI_IPv6_ADDRESS *GroupTable;
EFI_IPv6_ADDRESS *GroupTable;
///
/// Number of entries in the routing table. Undefined until
/// IsConfigured is TRUE.
///
UINT32 RouteCount;
UINT32 RouteCount;
///
/// Routing table entries. It is caller's responsibility to free this buffer.
///
EFI_IP6_ROUTE_TABLE *RouteTable;
EFI_IP6_ROUTE_TABLE *RouteTable;
///
/// Number of entries in the neighbor cache. Undefined until
/// IsConfigured is TRUE.
///
UINT32 NeighborCount;
UINT32 NeighborCount;
///
/// Neighbor cache entries. It is caller's responsibility to free this
/// buffer. Undefined until IsConfigured is TRUE.
///
EFI_IP6_NEIGHBOR_CACHE *NeighborCache;
EFI_IP6_NEIGHBOR_CACHE *NeighborCache;
///
/// Number of entries in the prefix table. Undefined until
/// IsConfigured is TRUE.
///
UINT32 PrefixCount;
UINT32 PrefixCount;
///
/// On-link Prefix table entries. It is caller's responsibility to free this
/// buffer. Undefined until IsConfigured is TRUE.
///
EFI_IP6_ADDRESS_INFO *PrefixTable;
EFI_IP6_ADDRESS_INFO *PrefixTable;
///
/// Number of entries in the supported ICMP types list.
///
UINT32 IcmpTypeCount;
UINT32 IcmpTypeCount;
///
/// Array of ICMP types and codes that are supported by this EFI
/// IPv6 Protocol driver. It is caller's responsibility to free this
/// buffer.
///
EFI_IP6_ICMP_TYPE *IcmpTypeList;
EFI_IP6_ICMP_TYPE *IcmpTypeList;
} EFI_IP6_MODE_DATA;
///
@@ -394,16 +393,16 @@ typedef struct {
///
#pragma pack(1)
typedef struct _EFI_IP6_HEADER {
UINT8 TrafficClassH:4;
UINT8 Version:4;
UINT8 FlowLabelH:4;
UINT8 TrafficClassL:4;
UINT16 FlowLabelL;
UINT16 PayloadLength;
UINT8 NextHeader;
UINT8 HopLimit;
EFI_IPv6_ADDRESS SourceAddress;
EFI_IPv6_ADDRESS DestinationAddress;
UINT8 TrafficClassH : 4;
UINT8 Version : 4;
UINT8 FlowLabelH : 4;
UINT8 TrafficClassL : 4;
UINT16 FlowLabelL;
UINT16 PayloadLength;
UINT8 NextHeader;
UINT8 HopLimit;
EFI_IPv6_ADDRESS SourceAddress;
EFI_IPv6_ADDRESS DestinationAddress;
} EFI_IP6_HEADER;
#pragma pack()
@@ -413,8 +412,8 @@ typedef struct _EFI_IP6_HEADER {
/// fragment to transmit or that has been received.
///
typedef struct _EFI_IP6_FRAGMENT_DATA {
UINT32 FragmentLength; ///< Length of fragment data. This field may not be set to zero.
VOID *FragmentBuffer; ///< Pointer to fragment data. This field may not be set to NULL.
UINT32 FragmentLength; ///< Length of fragment data. This field may not be set to zero.
VOID *FragmentBuffer; ///< Pointer to fragment data. This field may not be set to NULL.
} EFI_IP6_FRAGMENT_DATA;
///
@@ -425,36 +424,36 @@ typedef struct _EFI_IP6_RECEIVE_DATA {
/// Time when the EFI IPv6 Protocol driver accepted the packet.
/// Ignored if it is zero.
///
EFI_TIME TimeStamp;
EFI_TIME TimeStamp;
///
/// After this event is signaled, the receive data structure is released
/// and must not be referenced.
///
EFI_EVENT RecycleSignal;
EFI_EVENT RecycleSignal;
///
///Length of the IPv6 packet headers, including both the IPv6
///header and any extension headers.
/// Length of the IPv6 packet headers, including both the IPv6
/// header and any extension headers.
///
UINT32 HeaderLength;
UINT32 HeaderLength;
///
/// Pointer to the IPv6 packet header. If the IPv6 packet was
/// fragmented, this argument is a pointer to the header in the first
/// fragment.
///
EFI_IP6_HEADER *Header;
EFI_IP6_HEADER *Header;
///
/// Sum of the lengths of IPv6 packet buffers in FragmentTable. May
/// be zero.
///
UINT32 DataLength;
UINT32 DataLength;
///
/// Number of IPv6 payload fragments. May be zero.
///
UINT32 FragmentCount;
UINT32 FragmentCount;
///
/// Array of payload fragment lengths and buffer pointers.
///
EFI_IP6_FRAGMENT_DATA FragmentTable[1];
EFI_IP6_FRAGMENT_DATA FragmentTable[1];
} EFI_IP6_RECEIVE_DATA;
///
@@ -463,9 +462,9 @@ typedef struct _EFI_IP6_RECEIVE_DATA {
/// default parameters or settings for one Transmit() function call.
///
typedef struct _EFI_IP6_OVERRIDE_DATA {
UINT8 Protocol; ///< Protocol type override.
UINT8 HopLimit; ///< Hop-Limit override.
UINT32 FlowLabel; ///< Flow-Label override.
UINT8 Protocol; ///< Protocol type override.
UINT8 HopLimit; ///< Hop-Limit override.
UINT32 FlowLabel; ///< Flow-Label override.
} EFI_IP6_OVERRIDE_DATA;
///
@@ -476,39 +475,39 @@ typedef struct _EFI_IP6_TRANSMIT_DATA {
/// The destination IPv6 address. If it is unspecified,
/// ConfigData.DestinationAddress will be used instead.
///
EFI_IPv6_ADDRESS DestinationAddress;
EFI_IPv6_ADDRESS DestinationAddress;
///
/// If not NULL, the IPv6 transmission control override data.
///
EFI_IP6_OVERRIDE_DATA *OverrideData;
EFI_IP6_OVERRIDE_DATA *OverrideData;
///
/// Total length in byte of the IPv6 extension headers specified in
/// ExtHdrs.
///
UINT32 ExtHdrsLength;
UINT32 ExtHdrsLength;
///
/// Pointer to the IPv6 extension headers. The IP layer will append
/// the required extension headers if they are not specified by
/// ExtHdrs. Ignored if ExtHdrsLength is zero.
///
VOID *ExtHdrs;
VOID *ExtHdrs;
///
/// The protocol of first extension header in ExtHdrs. Ignored if
/// ExtHdrsLength is zero.
///
UINT8 NextHeader;
UINT8 NextHeader;
///
/// Total length in bytes of the FragmentTable data to transmit.
///
UINT32 DataLength;
UINT32 DataLength;
///
/// Number of entries in the fragment data table.
///
UINT32 FragmentCount;
UINT32 FragmentCount;
///
/// Start of the fragment data table.
///
EFI_IP6_FRAGMENT_DATA FragmentTable[1];
EFI_IP6_FRAGMENT_DATA FragmentTable[1];
} EFI_IP6_TRANSMIT_DATA;
///
@@ -520,7 +519,7 @@ typedef struct {
/// This Event will be signaled after the Status field is updated by
/// the EFI IPv6 Protocol driver. The type of Event must be EFI_NOTIFY_SIGNAL.
///
EFI_EVENT Event;
EFI_EVENT Event;
///
/// Will be set to one of the following values:
/// - EFI_SUCCESS: The receive or transmit completed
@@ -534,16 +533,16 @@ typedef struct {
/// failed because of an IPsec policy check.
/// - EFI_NO_MEDIA: There was a media error.
///
EFI_STATUS Status;
EFI_STATUS Status;
union {
///
/// When the Token is used for receiving, RxData is a pointer to the EFI_IP6_RECEIVE_DATA.
///
EFI_IP6_RECEIVE_DATA *RxData;
EFI_IP6_RECEIVE_DATA *RxData;
///
/// When the Token is used for transmitting, TxData is a pointer to the EFI_IP6_TRANSMIT_DATA.
///
EFI_IP6_TRANSMIT_DATA *TxData;
EFI_IP6_TRANSMIT_DATA *TxData;
} Packet;
} EFI_IP6_COMPLETION_TOKEN;
@@ -930,18 +929,18 @@ EFI_STATUS
/// used by drivers, daemons, and applications to transmit and receive network packets.
///
struct _EFI_IP6_PROTOCOL {
EFI_IP6_GET_MODE_DATA GetModeData;
EFI_IP6_CONFIGURE Configure;
EFI_IP6_GROUPS Groups;
EFI_IP6_ROUTES Routes;
EFI_IP6_NEIGHBORS Neighbors;
EFI_IP6_TRANSMIT Transmit;
EFI_IP6_RECEIVE Receive;
EFI_IP6_CANCEL Cancel;
EFI_IP6_POLL Poll;
EFI_IP6_GET_MODE_DATA GetModeData;
EFI_IP6_CONFIGURE Configure;
EFI_IP6_GROUPS Groups;
EFI_IP6_ROUTES Routes;
EFI_IP6_NEIGHBORS Neighbors;
EFI_IP6_TRANSMIT Transmit;
EFI_IP6_RECEIVE Receive;
EFI_IP6_CANCEL Cancel;
EFI_IP6_POLL Poll;
};
extern EFI_GUID gEfiIp6ServiceBindingProtocolGuid;
extern EFI_GUID gEfiIp6ProtocolGuid;
extern EFI_GUID gEfiIp6ServiceBindingProtocolGuid;
extern EFI_GUID gEfiIp6ProtocolGuid;
#endif

View File

@@ -6,6 +6,7 @@ Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef __EFI_IP6CONFIG_PROTOCOL_H__
#define __EFI_IP6CONFIG_PROTOCOL_H__
@@ -102,39 +103,39 @@ typedef struct {
///
/// The name of the interface. It is a NULL-terminated string.
///
CHAR16 Name[32];
CHAR16 Name[32];
///
/// The interface type of the network interface.
///
UINT8 IfType;
UINT8 IfType;
///
/// The size, in bytes, of the network interface's hardware address.
///
UINT32 HwAddressSize;
UINT32 HwAddressSize;
///
/// The hardware address for the network interface.
///
EFI_MAC_ADDRESS HwAddress;
EFI_MAC_ADDRESS HwAddress;
///
/// Number of EFI_IP6_ADDRESS_INFO structures pointed to by AddressInfo.
///
UINT32 AddressInfoCount;
UINT32 AddressInfoCount;
///
/// Pointer to an array of EFI_IP6_ADDRESS_INFO instances
/// which contain the local IPv6 addresses and the corresponding
/// prefix length information. Set to NULL if AddressInfoCount
/// is zero.
///
EFI_IP6_ADDRESS_INFO *AddressInfo;
EFI_IP6_ADDRESS_INFO *AddressInfo;
///
/// Number of route table entries in the following RouteTable.
///
UINT32 RouteCount;
UINT32 RouteCount;
///
/// The route table of the IPv6 network stack runs on this interface.
/// Set to NULL if RouteCount is zero.
///
EFI_IP6_ROUTE_TABLE *RouteTable;
EFI_IP6_ROUTE_TABLE *RouteTable;
} EFI_IP6_CONFIG_INTERFACE_INFO;
///
@@ -142,7 +143,7 @@ typedef struct {
/// describes the 64-bit interface ID.
///
typedef struct {
UINT8 Id[8];
UINT8 Id[8];
} EFI_IP6_CONFIG_INTERFACE_ID;
///
@@ -190,12 +191,11 @@ typedef struct {
/// stack manually when the policy is Ip6ConfigPolicyManual.
///
typedef struct {
EFI_IPv6_ADDRESS Address; ///< The IPv6 unicast address.
BOOLEAN IsAnycast; ///< Set to TRUE if Address is anycast.
UINT8 PrefixLength; ///< The length, in bits, of the prefix associated with this Address.
EFI_IPv6_ADDRESS Address; ///< The IPv6 unicast address.
BOOLEAN IsAnycast; ///< Set to TRUE if Address is anycast.
UINT8 PrefixLength; ///< The length, in bits, of the prefix associated with this Address.
} EFI_IP6_CONFIG_MANUAL_ADDRESS;
/**
Set the configuration for the EFI IPv6 network stack running on the communication
device this EFI IPv6 Configuration Protocol instance manages.
@@ -356,13 +356,12 @@ EFI_STATUS
/// types of configurations for the EFI IPv6 network stack.
///
struct _EFI_IP6_CONFIG_PROTOCOL {
EFI_IP6_CONFIG_SET_DATA SetData;
EFI_IP6_CONFIG_GET_DATA GetData;
EFI_IP6_CONFIG_REGISTER_NOTIFY RegisterDataNotify;
EFI_IP6_CONFIG_UNREGISTER_NOTIFY UnregisterDataNotify;
EFI_IP6_CONFIG_SET_DATA SetData;
EFI_IP6_CONFIG_GET_DATA GetData;
EFI_IP6_CONFIG_REGISTER_NOTIFY RegisterDataNotify;
EFI_IP6_CONFIG_UNREGISTER_NOTIFY UnregisterDataNotify;
};
extern EFI_GUID gEfiIp6ConfigProtocolGuid;
extern EFI_GUID gEfiIp6ConfigProtocolGuid;
#endif

View File

@@ -33,19 +33,18 @@
0xa3979e64, 0xace8, 0x4ddc, {0xbc, 0x7, 0x4d, 0x66, 0xb8, 0xfd, 0x9, 0x77 } \
}
typedef struct _EFI_IPSEC_PROTOCOL EFI_IPSEC_PROTOCOL;
typedef struct _EFI_IPSEC2_PROTOCOL EFI_IPSEC2_PROTOCOL;
typedef struct _EFI_IPSEC_PROTOCOL EFI_IPSEC_PROTOCOL;
typedef struct _EFI_IPSEC2_PROTOCOL EFI_IPSEC2_PROTOCOL;
///
/// EFI_IPSEC_FRAGMENT_DATA
/// defines the instances of packet fragments.
///
typedef struct _EFI_IPSEC_FRAGMENT_DATA {
UINT32 FragmentLength;
VOID *FragmentBuffer;
UINT32 FragmentLength;
VOID *FragmentBuffer;
} EFI_IPSEC_FRAGMENT_DATA;
/**
Handles IPsec packet processing for inbound and outbound IP packets.
@@ -83,7 +82,7 @@ EFI_STATUS
IN OUT EFI_IPSEC_FRAGMENT_DATA **FragmentTable,
IN UINT32 *FragmentCount,
IN EFI_IPSEC_TRAFFIC_DIR TrafficDirection,
OUT EFI_EVENT *RecycleSignal
OUT EFI_EVENT *RecycleSignal
);
///
@@ -95,9 +94,9 @@ EFI_STATUS
// and IPv6 environment.
///
struct _EFI_IPSEC_PROTOCOL {
EFI_IPSEC_PROCESS Process; ///< Handle the IPsec message.
EFI_EVENT DisabledEvent; ///< Event signaled when the interface is disabled.
BOOLEAN DisabledFlag; ///< State of the interface.
EFI_IPSEC_PROCESS Process; ///< Handle the IPsec message.
EFI_EVENT DisabledEvent; ///< Event signaled when the interface is disabled.
BOOLEAN DisabledFlag; ///< State of the interface.
};
/**
@@ -185,7 +184,7 @@ struct _EFI_IPSEC_PROTOCOL {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_IPSEC_PROCESSEXT) (
(EFIAPI *EFI_IPSEC_PROCESSEXT)(
IN EFI_IPSEC2_PROTOCOL *This,
IN EFI_HANDLE NicHandle,
IN UINT8 IpVer,
@@ -196,7 +195,7 @@ EFI_STATUS
IN OUT EFI_IPSEC_FRAGMENT_DATA **FragmentTable,
IN OUT UINT32 *FragmentCount,
IN EFI_IPSEC_TRAFFIC_DIR TrafficDirection,
OUT EFI_EVENT *RecycleSignal
OUT EFI_EVENT *RecycleSignal
);
///
@@ -208,11 +207,11 @@ EFI_STATUS
/// encrypting each IP packet in a data stream.
///
struct _EFI_IPSEC2_PROTOCOL {
EFI_IPSEC_PROCESSEXT ProcessExt;
EFI_EVENT DisabledEvent;
BOOLEAN DisabledFlag;
EFI_IPSEC_PROCESSEXT ProcessExt;
EFI_EVENT DisabledEvent;
BOOLEAN DisabledFlag;
};
extern EFI_GUID gEfiIpSecProtocolGuid;
extern EFI_GUID gEfiIpSec2ProtocolGuid;
extern EFI_GUID gEfiIpSecProtocolGuid;
extern EFI_GUID gEfiIpSec2ProtocolGuid;
#endif

View File

@@ -14,7 +14,6 @@
#ifndef __EFI_IPSE_CCONFIG_PROTOCOL_H__
#define __EFI_IPSE_CCONFIG_PROTOCOL_H__
#define EFI_IPSEC_CONFIG_PROTOCOL_GUID \
{ \
0xce5e5929, 0xc7a3, 0x4602, {0xad, 0x9e, 0xc9, 0xda, 0xf9, 0x4e, 0xbf, 0xcf } \
@@ -64,11 +63,10 @@ typedef enum {
/// EFI_IP_ADDRESS_INFO
///
typedef struct _EFI_IP_ADDRESS_INFO {
EFI_IP_ADDRESS Address; ///< The IPv4 or IPv6 address
UINT8 PrefixLength; ///< The length of the prefix associated with the Address.
EFI_IP_ADDRESS Address; ///< The IPv4 or IPv6 address
UINT8 PrefixLength; ///< The length of the prefix associated with the Address.
} EFI_IP_ADDRESS_INFO;
///
/// EFI_IPSEC_SPD_SELECTOR
///
@@ -76,52 +74,52 @@ typedef struct _EFI_IPSEC_SPD_SELECTOR {
///
/// Specifies the actual number of entries in LocalAddress.
///
UINT32 LocalAddressCount;
UINT32 LocalAddressCount;
///
/// A list of ranges of IPv4 or IPv6 addresses, which refers to the
/// addresses being protected by IPsec policy.
///
EFI_IP_ADDRESS_INFO *LocalAddress;
EFI_IP_ADDRESS_INFO *LocalAddress;
///
/// Specifies the actual number of entries in RemoteAddress.
///
UINT32 RemoteAddressCount;
UINT32 RemoteAddressCount;
///
/// A list of ranges of IPv4 or IPv6 addresses, which are peer entities
/// to LocalAddress.
///
EFI_IP_ADDRESS_INFO *RemoteAddress;
EFI_IP_ADDRESS_INFO *RemoteAddress;
///
/// Next layer protocol. Obtained from the IPv4 Protocol or the IPv6
/// Next Header fields. The next layer protocol is whatever comes
/// after any IP extension headers that are present. A zero value is a
/// wildcard that matches any value in NextLayerProtocol field.
///
UINT16 NextLayerProtocol;
UINT16 NextLayerProtocol;
///
/// Local Port if the Next Layer Protocol uses two ports (as do TCP,
/// UDP, and others). A zero value is a wildcard that matches any
/// value in LocalPort field.
///
UINT16 LocalPort;
UINT16 LocalPort;
///
/// A designed port range size. The start port is LocalPort, and
/// the total number of ports is described by LocalPortRange.
/// This field is ignored if NextLayerProtocol does not use
/// ports.
///
UINT16 LocalPortRange;
UINT16 LocalPortRange;
///
/// Remote Port if the Next Layer Protocol uses two ports. A zero
/// value is a wildcard that matches any value in RemotePort field.
///
UINT16 RemotePort;
UINT16 RemotePort;
///
/// A designed port range size. The start port is RemotePort, and
/// the total number of ports is described by RemotePortRange.
/// This field is ignored if NextLayerProtocol does not use ports.
///
UINT16 RemotePortRange;
UINT16 RemotePortRange;
} EFI_IPSEC_SPD_SELECTOR;
///
@@ -179,17 +177,17 @@ typedef struct _EFI_IPSEC_SA_LIFETIME {
/// AH, this is the authentication algorithm. The ByteCount
/// includes pad bytes for cryptographic operations.
///
UINT64 ByteCount;
UINT64 ByteCount;
///
/// A time interval in second that warns the implementation to
/// initiate action such as setting up a replacement SA.
///
UINT64 SoftLifetime;
UINT64 SoftLifetime;
///
/// A time interval in second when the current SA ends and is
/// destroyed.
///
UINT64 HardLifetime;
UINT64 HardLifetime;
} EFI_IPSEC_SA_LIFETIME;
///
@@ -223,17 +221,17 @@ typedef struct _EFI_IPSEC_TUNNEL_OPTION {
///
/// Local tunnel address when IPsec mode is EfiIPsecTunnel.
///
EFI_IP_ADDRESS LocalTunnelAddress;
EFI_IP_ADDRESS LocalTunnelAddress;
///
/// Remote tunnel address when IPsec mode is EfiIPsecTunnel.
///
EFI_IP_ADDRESS RemoteTunnelAddress;
EFI_IP_ADDRESS RemoteTunnelAddress;
///
/// The option of copying the DF bit from an outbound package
/// to the tunnel mode header that it emits, when traffic is
/// carried via a tunnel mode SA.
///
EFI_IPSEC_TUNNEL_DF_OPTION DF;
EFI_IPSEC_TUNNEL_DF_OPTION DF;
} EFI_IPSEC_TUNNEL_OPTION;
///
@@ -253,47 +251,47 @@ typedef struct _EFI_IPSEC_PROCESS_POLICY {
/// Extended Sequence Number. Is this SA using extended sequence
/// numbers. 64 bit counter is used if TRUE.
///
BOOLEAN ExtSeqNum;
BOOLEAN ExtSeqNum;
///
/// A flag indicating whether overflow of the sequence number
/// counter should generate an auditable event and prevent
/// transmission of additional packets on the SA, or whether rollover
/// is permitted.
///
BOOLEAN SeqOverflow;
BOOLEAN SeqOverflow;
///
/// Is this SA using stateful fragment checking. TRUE represents
/// stateful fragment checking.
///
BOOLEAN FragCheck;
BOOLEAN FragCheck;
///
/// A time interval after which a SA must be replaced with a new SA
/// (and new SPI) or terminated.
///
EFI_IPSEC_SA_LIFETIME SaLifetime;
EFI_IPSEC_SA_LIFETIME SaLifetime;
///
/// IPsec mode: tunnel or transport.
///
EFI_IPSEC_MODE Mode;
EFI_IPSEC_MODE Mode;
///
/// Tunnel Option. TunnelOption is ignored if Mode is EfiIPsecTransport.
///
EFI_IPSEC_TUNNEL_OPTION *TunnelOption;
EFI_IPSEC_TUNNEL_OPTION *TunnelOption;
///
/// IPsec protocol: AH or ESP
///
EFI_IPSEC_PROTOCOL_TYPE Proto;
EFI_IPSEC_PROTOCOL_TYPE Proto;
///
/// Cryptographic algorithm type used for authentication.
///
UINT8 AuthAlgoId;
UINT8 AuthAlgoId;
///
/// Cryptographic algorithm type used for encryption. EncAlgo is
/// NULL when IPsec protocol is AH. For ESP protocol, EncAlgo
/// can also be used to describe the algorithm if a combined mode
/// algorithm is used.
///
UINT8 EncAlgoId;
UINT8 EncAlgoId;
} EFI_IPSEC_PROCESS_POLICY;
///
@@ -306,19 +304,18 @@ typedef struct _EFI_IPSEC_SA_ID {
/// that is used by a receiver to identity the SA to which an incoming
/// package should be bound.
///
UINT32 Spi;
UINT32 Spi;
///
/// IPsec protocol: AH or ESP
///
EFI_IPSEC_PROTOCOL_TYPE Proto;
EFI_IPSEC_PROTOCOL_TYPE Proto;
///
/// Destination IP address.
///
EFI_IP_ADDRESS DestAddress;
EFI_IP_ADDRESS DestAddress;
} EFI_IPSEC_SA_ID;
#define MAX_PEERID_LEN 128
#define MAX_PEERID_LEN 128
///
/// EFI_IPSEC_SPD_DATA
@@ -328,7 +325,7 @@ typedef struct _EFI_IPSEC_SPD_DATA {
/// A null-terminated ASCII name string which is used as a symbolic
/// identifier for an IPsec Local or Remote address.
///
UINT8 Name[MAX_PEERID_LEN];
UINT8 Name[MAX_PEERID_LEN];
///
/// Bit-mapped list describing Populate from Packet flags. When
/// creating a SA, if PackageFlag bit is set to TRUE, instantiate
@@ -344,29 +341,29 @@ typedef struct _EFI_IPSEC_SPD_DATA {
/// Bit 4: EFI_IPSEC_SPD_SELECTOR.RemotePort
/// Others: Reserved.
///
UINT32 PackageFlag;
UINT32 PackageFlag;
///
/// The traffic direction of data gram.
///
EFI_IPSEC_TRAFFIC_DIR TrafficDirection;
EFI_IPSEC_TRAFFIC_DIR TrafficDirection;
///
/// Processing choices to indicate which action is required by this
/// policy.
///
EFI_IPSEC_ACTION Action;
EFI_IPSEC_ACTION Action;
///
/// The policy and rule information for a SPD entry.
///
EFI_IPSEC_PROCESS_POLICY *ProcessingPolicy;
EFI_IPSEC_PROCESS_POLICY *ProcessingPolicy;
///
/// Specifies the actual number of entries in SaId list.
///
UINTN SaIdCount;
UINTN SaIdCount;
///
/// The SAD entry used for the traffic processing. The
/// existed SAD entry links indicate this is the manual key case.
///
EFI_IPSEC_SA_ID SaId[1];
EFI_IPSEC_SA_ID SaId[1];
} EFI_IPSEC_SPD_DATA;
///
@@ -375,9 +372,9 @@ typedef struct _EFI_IPSEC_SPD_DATA {
/// The required authentication algorithm is specified in RFC 4305.
///
typedef struct _EFI_IPSEC_AH_ALGO_INFO {
UINT8 AuthAlgoId;
UINTN AuthKeyLength;
VOID *AuthKey;
UINT8 AuthAlgoId;
UINTN AuthKeyLength;
VOID *AuthKey;
} EFI_IPSEC_AH_ALGO_INFO;
///
@@ -389,20 +386,20 @@ typedef struct _EFI_IPSEC_AH_ALGO_INFO {
/// confidentiality and authentication services.
///
typedef struct _EFI_IPSEC_ESP_ALGO_INFO {
UINT8 EncAlgoId;
UINTN EncKeyLength;
VOID *EncKey;
UINT8 AuthAlgoId;
UINTN AuthKeyLength;
VOID *AuthKey;
UINT8 EncAlgoId;
UINTN EncKeyLength;
VOID *EncKey;
UINT8 AuthAlgoId;
UINTN AuthKeyLength;
VOID *AuthKey;
} EFI_IPSEC_ESP_ALGO_INFO;
///
/// EFI_IPSEC_ALGO_INFO
///
typedef union {
EFI_IPSEC_AH_ALGO_INFO AhAlgoInfo;
EFI_IPSEC_ESP_ALGO_INFO EspAlgoInfo;
EFI_IPSEC_AH_ALGO_INFO AhAlgoInfo;
EFI_IPSEC_ESP_ALGO_INFO EspAlgoInfo;
} EFI_IPSEC_ALGO_INFO;
///
@@ -412,40 +409,40 @@ typedef struct _EFI_IPSEC_SA_DATA {
///
/// IPsec mode: tunnel or transport.
///
EFI_IPSEC_MODE Mode;
EFI_IPSEC_MODE Mode;
///
/// Sequence Number Counter. A 64-bit counter used to generate the
/// sequence number field in AH or ESP headers.
///
UINT64 SNCount;
UINT64 SNCount;
///
/// Anti-Replay Window. A 64-bit counter and a bit-map used to
/// determine whether an inbound AH or ESP packet is a replay.
///
UINT8 AntiReplayWindows;
UINT8 AntiReplayWindows;
///
/// AH/ESP cryptographic algorithm, key and parameters.
///
EFI_IPSEC_ALGO_INFO AlgoInfo;
EFI_IPSEC_ALGO_INFO AlgoInfo;
///
/// Lifetime of this SA.
///
EFI_IPSEC_SA_LIFETIME SaLifetime;
EFI_IPSEC_SA_LIFETIME SaLifetime;
///
/// Any observed path MTU and aging variables. The Path MTU
/// processing is defined in section 8 of RFC 4301.
///
UINT32 PathMTU;
UINT32 PathMTU;
///
/// Link to one SPD entry.
///
EFI_IPSEC_SPD_SELECTOR *SpdSelector;
EFI_IPSEC_SPD_SELECTOR *SpdSelector;
///
/// Indication of whether it's manually set or negotiated automatically.
/// If ManualSet is FALSE, the corresponding SA entry is inserted through
/// IKE protocol negotiation.
///
BOOLEAN ManualSet;
BOOLEAN ManualSet;
} EFI_IPSEC_SA_DATA;
///
@@ -455,51 +452,50 @@ typedef struct _EFI_IPSEC_SA_DATA2 {
///
/// IPsec mode: tunnel or transport
///
EFI_IPSEC_MODE Mode;
EFI_IPSEC_MODE Mode;
///
/// Sequence Number Counter. A 64-bit counter used to generate the sequence
/// number field in AH or ESP headers.
///
UINT64 SNCount;
UINT64 SNCount;
///
/// Anti-Replay Window. A 64-bit counter and a bit-map used to determine
/// whether an inbound AH or ESP packet is a replay.
///
UINT8 AntiReplayWindows;
UINT8 AntiReplayWindows;
///
/// AH/ESP cryptographic algorithm, key and parameters.
///
EFI_IPSEC_ALGO_INFO AlgoInfo;
EFI_IPSEC_ALGO_INFO AlgoInfo;
///
/// Lifetime of this SA.
///
EFI_IPSEC_SA_LIFETIME SaLifetime;
EFI_IPSEC_SA_LIFETIME SaLifetime;
///
/// Any observed path MTU and aging variables. The Path MTU processing is
/// defined in section 8 of RFC 4301.
///
UINT32 PathMTU;
UINT32 PathMTU;
///
/// Link to one SPD entry
///
EFI_IPSEC_SPD_SELECTOR *SpdSelector;
EFI_IPSEC_SPD_SELECTOR *SpdSelector;
///
/// Indication of whether it's manually set or negotiated automatically.
/// If ManualSet is FALSE, the corresponding SA entry is inserted through IKE
/// protocol negotiation
///
BOOLEAN ManualSet;
BOOLEAN ManualSet;
///
/// The tunnel header IP source address.
///
EFI_IP_ADDRESS TunnelSourceAddress;
EFI_IP_ADDRESS TunnelSourceAddress;
///
/// The tunnel header IP destination address.
///
EFI_IP_ADDRESS TunnelDestinationAddress;
EFI_IP_ADDRESS TunnelDestinationAddress;
} EFI_IPSEC_SA_DATA2;
///
/// EFI_IPSEC_PAD_ID
/// specifies the identifier for PAD entry, which is also used for SPD lookup.
@@ -509,19 +505,19 @@ typedef struct _EFI_IPSEC_PAD_ID {
///
/// Flag to identify which type of PAD Id is used.
///
BOOLEAN PeerIdValid;
BOOLEAN PeerIdValid;
union {
///
/// Pointer to the IPv4 or IPv6 address range.
///
EFI_IP_ADDRESS_INFO IpAddress;
EFI_IP_ADDRESS_INFO IpAddress;
///
/// Pointer to a null terminated ASCII string
/// representing the symbolic names. A PeerId can be a DNS
/// name, Distinguished Name, RFC 822 email address or Key ID
/// (specified in section 4.4.3.1 of RFC 4301)
///
UINT8 PeerId[MAX_PEERID_LEN];
UINT8 PeerId[MAX_PEERID_LEN];
} Id;
} EFI_IPSEC_PAD_ID;
@@ -531,9 +527,9 @@ typedef struct _EFI_IPSEC_PAD_ID {
/// of type EFI_IPSEC_CONFIG_DATA_TYPE.
///
typedef union {
EFI_IPSEC_SPD_SELECTOR SpdSelector;
EFI_IPSEC_SA_ID SaId;
EFI_IPSEC_PAD_ID PadId;
EFI_IPSEC_SPD_SELECTOR SpdSelector;
EFI_IPSEC_SA_ID SaId;
EFI_IPSEC_PAD_ID PadId;
} EFI_IPSEC_CONFIG_SELECTOR;
///
@@ -569,39 +565,38 @@ typedef struct _EFI_IPSEC_PAD_DATA {
///
/// Authentication Protocol for IPsec security association management.
///
EFI_IPSEC_AUTH_PROTOCOL_TYPE AuthProtocol;
EFI_IPSEC_AUTH_PROTOCOL_TYPE AuthProtocol;
///
/// Authentication method used.
///
EFI_IPSEC_AUTH_METHOD AuthMethod;
EFI_IPSEC_AUTH_METHOD AuthMethod;
///
/// The IKE ID payload will be used as a symbolic name for SPD
/// lookup if IkeIdFlag is TRUE. Otherwise, the remote IP
/// address provided in traffic selector playloads will be used.
///
BOOLEAN IkeIdFlag;
BOOLEAN IkeIdFlag;
///
/// The size of Authentication data buffer, in bytes.
///
UINTN AuthDataSize;
UINTN AuthDataSize;
///
/// Buffer for Authentication data, (e.g., the pre-shared secret or the
/// trust anchor relative to which the peer's certificate will be
/// validated).
///
VOID *AuthData;
VOID *AuthData;
///
/// The size of RevocationData, in bytes
///
UINTN RevocationDataSize;
UINTN RevocationDataSize;
///
/// Pointer to CRL or OCSP data, if certificates are used for
/// authentication method.
///
VOID *RevocationData;
VOID *RevocationData;
} EFI_IPSEC_PAD_DATA;
/**
Set the security association, security policy and peer authorization configuration
information for the EFI IPsec driver.
@@ -789,13 +784,13 @@ EFI_STATUS
/// protocol for IPsec configuration in both IPv4 and IPv6 environment.
///
struct _EFI_IPSEC_CONFIG_PROTOCOL {
EFI_IPSEC_CONFIG_SET_DATA SetData;
EFI_IPSEC_CONFIG_GET_DATA GetData;
EFI_IPSEC_CONFIG_GET_NEXT_SELECTOR GetNextSelector;
EFI_IPSEC_CONFIG_REGISTER_NOTIFY RegisterDataNotify;
EFI_IPSEC_CONFIG_UNREGISTER_NOTIFY UnregisterDataNotify;
EFI_IPSEC_CONFIG_SET_DATA SetData;
EFI_IPSEC_CONFIG_GET_DATA GetData;
EFI_IPSEC_CONFIG_GET_NEXT_SELECTOR GetNextSelector;
EFI_IPSEC_CONFIG_REGISTER_NOTIFY RegisterDataNotify;
EFI_IPSEC_CONFIG_UNREGISTER_NOTIFY UnregisterDataNotify;
};
extern EFI_GUID gEfiIpSecConfigProtocolGuid;
extern EFI_GUID gEfiIpSecConfigProtocolGuid;
#endif

View File

@@ -26,8 +26,8 @@
0xfad7933a, 0x6c21, 0x4234, {0xa4, 0x34, 0x0a, 0x8a, 0x0d, 0x2b, 0x07, 0x81} \
}
typedef struct _EFI_ISA_HC_PROTOCOL EFI_ISA_HC_PROTOCOL;
typedef struct _EFI_ISA_HC_PROTOCOL *PEFI_ISA_HC_PROTOCOL;
typedef struct _EFI_ISA_HC_PROTOCOL EFI_ISA_HC_PROTOCOL;
typedef struct _EFI_ISA_HC_PROTOCOL *PEFI_ISA_HC_PROTOCOL;
/**
Open I/O aperture.
@@ -52,7 +52,7 @@ typedef struct _EFI_ISA_HC_PROTOCOL *PEFI_ISA_HC_PROTOCOL;
**/
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_HC_OPEN_IO) (
(EFIAPI *EFI_ISA_HC_OPEN_IO)(
IN CONST EFI_ISA_HC_PROTOCOL *This,
IN UINT16 IoAddress,
IN UINT16 IoLength,
@@ -77,7 +77,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_HC_CLOSE_IO) (
(EFIAPI *EFI_ISA_HC_CLOSE_IO)(
IN CONST EFI_ISA_HC_PROTOCOL *This,
IN UINT64 IoApertureHandle
);
@@ -90,21 +90,21 @@ struct _EFI_ISA_HC_PROTOCOL {
/// The version of this protocol. Higher version numbers are backward
/// compatible with lower version numbers.
///
UINT32 Version;
UINT32 Version;
///
/// Open an I/O aperture.
///
EFI_ISA_HC_OPEN_IO OpenIoAperture;
EFI_ISA_HC_OPEN_IO OpenIoAperture;
///
/// Close an I/O aperture.
///
EFI_ISA_HC_CLOSE_IO CloseIoAperture;
EFI_ISA_HC_CLOSE_IO CloseIoAperture;
};
///
/// Reference to variable defined in the .DEC file
///
extern EFI_GUID gEfiIsaHcProtocolGuid;
extern EFI_GUID gEfiIsaHcServiceBindingProtocolGuid;
extern EFI_GUID gEfiIsaHcProtocolGuid;
extern EFI_GUID gEfiIsaHcServiceBindingProtocolGuid;
#endif // __ISA_HC_H__
#endif // __ISA_HC_H__

View File

@@ -27,12 +27,11 @@ typedef struct _EFI_KMS_PROTOCOL EFI_KMS_PROTOCOL;
// Where appropriate, EFI_KMS_DATA_TYPE values may be combined using a bitwise 'OR'
// operation to indicate support for multiple data types.
//
#define EFI_KMS_DATA_TYPE_NONE 0
#define EFI_KMS_DATA_TYPE_BINARY 1
#define EFI_KMS_DATA_TYPE_ASCII 2
#define EFI_KMS_DATA_TYPE_UNICODE 4
#define EFI_KMS_DATA_TYPE_UTF8 8
#define EFI_KMS_DATA_TYPE_NONE 0
#define EFI_KMS_DATA_TYPE_BINARY 1
#define EFI_KMS_DATA_TYPE_ASCII 2
#define EFI_KMS_DATA_TYPE_UNICODE 4
#define EFI_KMS_DATA_TYPE_UTF8 8
//
// The key formats recognized by the KMS protocol are defined by an EFI_GUID which specifies
@@ -160,76 +159,76 @@ typedef struct _EFI_KMS_PROTOCOL EFI_KMS_PROTOCOL;
}
///@}
#define EFI_KMS_ATTRIBUTE_TYPE_NONE 0x00
#define EFI_KMS_ATTRIBUTE_TYPE_INTEGER 0x01
#define EFI_KMS_ATTRIBUTE_TYPE_LONG_INTEGER 0x02
#define EFI_KMS_ATTRIBUTE_TYPE_BIG_INTEGER 0x03
#define EFI_KMS_ATTRIBUTE_TYPE_ENUMERATION 0x04
#define EFI_KMS_ATTRIBUTE_TYPE_BOOLEAN 0x05
#define EFI_KMS_ATTRIBUTE_TYPE_BYTE_STRING 0x06
#define EFI_KMS_ATTRIBUTE_TYPE_TEXT_STRING 0x07
#define EFI_KMS_ATTRIBUTE_TYPE_DATE_TIME 0x08
#define EFI_KMS_ATTRIBUTE_TYPE_INTERVAL 0x09
#define EFI_KMS_ATTRIBUTE_TYPE_STRUCTURE 0x0A
#define EFI_KMS_ATTRIBUTE_TYPE_DYNAMIC 0x0B
#define EFI_KMS_ATTRIBUTE_TYPE_NONE 0x00
#define EFI_KMS_ATTRIBUTE_TYPE_INTEGER 0x01
#define EFI_KMS_ATTRIBUTE_TYPE_LONG_INTEGER 0x02
#define EFI_KMS_ATTRIBUTE_TYPE_BIG_INTEGER 0x03
#define EFI_KMS_ATTRIBUTE_TYPE_ENUMERATION 0x04
#define EFI_KMS_ATTRIBUTE_TYPE_BOOLEAN 0x05
#define EFI_KMS_ATTRIBUTE_TYPE_BYTE_STRING 0x06
#define EFI_KMS_ATTRIBUTE_TYPE_TEXT_STRING 0x07
#define EFI_KMS_ATTRIBUTE_TYPE_DATE_TIME 0x08
#define EFI_KMS_ATTRIBUTE_TYPE_INTERVAL 0x09
#define EFI_KMS_ATTRIBUTE_TYPE_STRUCTURE 0x0A
#define EFI_KMS_ATTRIBUTE_TYPE_DYNAMIC 0x0B
typedef struct {
///
/// Length in bytes of the KeyData.
///
UINT32 KeySize;
UINT32 KeySize;
///
/// The data of the key.
///
UINT8 KeyData[1];
UINT8 KeyData[1];
} EFI_KMS_FORMAT_GENERIC_DYNAMIC;
typedef struct {
///
/// The size in bytes for the client identifier.
///
UINT16 ClientIdSize;
UINT16 ClientIdSize;
///
/// Pointer to a valid client identifier.
///
VOID *ClientId;
VOID *ClientId;
///
/// The client name string type used by this client. The string type set here must be one of
/// the string types reported in the ClientNameStringTypes field of the KMS protocol. If the
/// KMS does not support client names, this field should be set to EFI_KMS_DATA_TYPE_NONE.
///
UINT8 ClientNameType;
UINT8 ClientNameType;
///
/// The size in characters for the client name. This field will be ignored if
/// ClientNameStringType is set to EFI_KMS_DATA_TYPE_NONE. Otherwise, it must contain
/// number of characters contained in the ClientName field.
///
UINT8 ClientNameCount;
UINT8 ClientNameCount;
///
/// Pointer to a client name. This field will be ignored if ClientNameStringType is set to
/// EFI_KMS_DATA_TYPE_NONE. Otherwise, it must point to a valid string of the specified type.
///
VOID *ClientName;
VOID *ClientName;
} EFI_KMS_CLIENT_INFO;
typedef struct {
///
/// The size of the KeyIdentifier field in bytes. This field is limited to the range 0 to 255.
///
UINT8 KeyIdentifierSize;
UINT8 KeyIdentifierSize;
///
/// Pointer to an array of KeyIdentifierType elements.
///
VOID *KeyIdentifier;
VOID *KeyIdentifier;
///
/// An EFI_GUID which specifies the algorithm and key value size for this key.
///
EFI_GUID KeyFormat;
EFI_GUID KeyFormat;
///
/// Pointer to a key value for a key specified by the KeyFormat field. A NULL value for this
/// field indicates that no key is available.
///
VOID *KeyValue;
VOID *KeyValue;
///
/// Specifies the results of KMS operations performed with this descriptor. This field is used
/// to indicate the status of individual operations when a KMS function is called with multiple
@@ -255,31 +254,31 @@ typedef struct {
/// Part of a tag-type-length triplet that identifies the KeyAttributeData formatting. The
/// definition of the value is outside the scope of this standard and may be defined by the KMS.
///
UINT16 Tag;
UINT16 Tag;
///
/// Part of a tag-type-length triplet that identifies the KeyAttributeData formatting. The
/// definition of the value is outside the scope of this standard and may be defined by the KMS.
///
UINT16 Type;
UINT16 Type;
///
/// Length in bytes of the KeyAttributeData.
///
UINT32 Length;
UINT32 Length;
///
/// An array of bytes to hold the attribute data associated with the KeyAttributeIdentifier.
///
UINT8 KeyAttributeData[1];
UINT8 KeyAttributeData[1];
} EFI_KMS_DYNAMIC_FIELD;
typedef struct {
///
/// The number of members in the EFI_KMS_DYNAMIC_ATTRIBUTE structure.
///
UINT32 FieldCount;
UINT32 FieldCount;
///
/// An array of EFI_KMS_DYNAMIC_FIELD structures.
///
EFI_KMS_DYNAMIC_FIELD Field[1];
EFI_KMS_DYNAMIC_FIELD Field[1];
} EFI_KMS_DYNAMIC_ATTRIBUTE;
typedef struct {
@@ -288,17 +287,17 @@ typedef struct {
/// by the EFI_KMS_DATA_TYPE constants, except that EFI_KMS_DATA_TYPE_BINARY is not
/// valid for this field.
///
UINT8 KeyAttributeIdentifierType;
UINT8 KeyAttributeIdentifierType;
///
/// The length of the KeyAttributeIdentifier field in units defined by KeyAttributeIdentifierType
/// field. This field is limited to the range 0 to 255.
///
UINT8 KeyAttributeIdentifierCount;
UINT8 KeyAttributeIdentifierCount;
///
/// Pointer to an array of KeyAttributeIdentifierType elements. For string types, there must
/// not be a null-termination element at the end of the array.
///
VOID *KeyAttributeIdentifier;
VOID *KeyAttributeIdentifier;
///
/// The instance number of this attribute. If there is only one instance, the value is set to
/// one. If this value is set to 0xFFFF (all binary 1's) then this field should be ignored if an
@@ -307,22 +306,22 @@ typedef struct {
/// field in the request. If set to 0xFFFF in the request, it will match any attribute with the
/// same KeyAttributeIdentifier.
///
UINT16 KeyAttributeInstance;
UINT16 KeyAttributeInstance;
///
/// The data type of the KeyAttributeValue (e.g. struct, bool, etc.). See the list of
/// KeyAttributeType definitions.
///
UINT16 KeyAttributeType;
UINT16 KeyAttributeType;
///
/// The size in bytes of the KeyAttribute field. A value of zero for this field indicates that no
/// key attribute value is available.
///
UINT16 KeyAttributeValueSize;
UINT16 KeyAttributeValueSize;
///
/// Pointer to a key attribute value for the attribute specified by the KeyAttributeIdentifier
/// field. If the KeyAttributeValueSize field is zero, then this field must be NULL.
///
VOID *KeyAttributeValue;
VOID *KeyAttributeValue;
///
/// KeyAttributeStatusSpecifies the results of KMS operations performed with this attribute.
/// This field is used to indicate the status of individual operations when a KMS function is
@@ -358,7 +357,7 @@ typedef struct {
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_GET_SERVICE_STATUS) (
(EFIAPI *EFI_KMS_GET_SERVICE_STATUS)(
IN EFI_KMS_PROTOCOL *This
);
@@ -407,7 +406,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_REGISTER_CLIENT) (
(EFIAPI *EFI_KMS_REGISTER_CLIENT)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN OUT UINTN *ClientDataSize OPTIONAL,
@@ -501,7 +500,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_CREATE_KEY) (
(EFIAPI *EFI_KMS_CREATE_KEY)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN OUT UINT16 *KeyDescriptorCount,
@@ -589,7 +588,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_GET_KEY) (
(EFIAPI *EFI_KMS_GET_KEY)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN OUT UINT16 *KeyDescriptorCount,
@@ -675,7 +674,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_ADD_KEY) (
(EFIAPI *EFI_KMS_ADD_KEY)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN OUT UINT16 *KeyDescriptorCount,
@@ -754,7 +753,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_DELETE_KEY) (
(EFIAPI *EFI_KMS_DELETE_KEY)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN OUT UINT16 *KeyDescriptorCount,
@@ -841,7 +840,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_GET_KEY_ATTRIBUTES) (
(EFIAPI *EFI_KMS_GET_KEY_ATTRIBUTES)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN UINT8 *KeyIdentifierSize,
@@ -931,7 +930,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_ADD_KEY_ATTRIBUTES) (
(EFIAPI *EFI_KMS_ADD_KEY_ATTRIBUTES)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN UINT8 *KeyIdentifierSize,
@@ -1014,7 +1013,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_DELETE_KEY_ATTRIBUTES) (
(EFIAPI *EFI_KMS_DELETE_KEY_ATTRIBUTES)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN UINT8 *KeyIdentifierSize,
@@ -1117,7 +1116,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
(EFIAPI *EFI_KMS_GET_KEY_BY_ATTRIBUTES) (
(EFIAPI *EFI_KMS_GET_KEY_BY_ATTRIBUTES)(
IN EFI_KMS_PROTOCOL *This,
IN EFI_KMS_CLIENT_INFO *Client,
IN OUT UINTN *KeyAttributeCount,
@@ -1138,64 +1137,64 @@ struct _EFI_KMS_PROTOCOL {
/// connected to the KMS, then a call to this function will initiate a connection. This is the
/// only function that is valid for use prior to the service being marked available.
///
EFI_KMS_GET_SERVICE_STATUS GetServiceStatus;
EFI_KMS_GET_SERVICE_STATUS GetServiceStatus;
///
/// Register a specific client with the KMS.
///
EFI_KMS_REGISTER_CLIENT RegisterClient;
EFI_KMS_REGISTER_CLIENT RegisterClient;
///
/// Request the generation of a new key and retrieve it.
///
EFI_KMS_CREATE_KEY CreateKey;
EFI_KMS_CREATE_KEY CreateKey;
///
/// Retrieve an existing key.
///
EFI_KMS_GET_KEY GetKey;
EFI_KMS_GET_KEY GetKey;
///
/// Add a local key to KMS database. If there is an existing key with this key identifier in the
/// KMS database, it will be replaced with the new key.
///
EFI_KMS_ADD_KEY AddKey;
EFI_KMS_ADD_KEY AddKey;
///
/// Delete an existing key from the KMS database.
///
EFI_KMS_DELETE_KEY DeleteKey;
EFI_KMS_DELETE_KEY DeleteKey;
///
/// Get attributes for an existing key in the KMS database.
///
EFI_KMS_GET_KEY_ATTRIBUTES GetKeyAttributes;
EFI_KMS_GET_KEY_ATTRIBUTES GetKeyAttributes;
///
/// Add attributes to an existing key in the KMS database.
///
EFI_KMS_ADD_KEY_ATTRIBUTES AddKeyAttributes;
EFI_KMS_ADD_KEY_ATTRIBUTES AddKeyAttributes;
///
/// Delete attributes for an existing key in the KMS database.
///
EFI_KMS_DELETE_KEY_ATTRIBUTES DeleteKeyAttributes;
EFI_KMS_DELETE_KEY_ATTRIBUTES DeleteKeyAttributes;
///
/// Get existing key(s) with the specified attributes.
///
EFI_KMS_GET_KEY_BY_ATTRIBUTES GetKeyByAttributes;
EFI_KMS_GET_KEY_BY_ATTRIBUTES GetKeyByAttributes;
///
/// The version of this EFI_KMS_PROTOCOL structure. This must be set to 0x00020040 for
/// the initial version of this protocol.
///
UINT32 ProtocolVersion;
UINT32 ProtocolVersion;
///
/// Optional GUID used to identify a specific KMS. This GUID may be supplied by the provider,
/// by the implementation, or may be null. If is null, then the ServiceName must not be null.
///
EFI_GUID ServiceId;
EFI_GUID ServiceId;
///
/// Optional pointer to a unicode string which may be used to identify the KMS or provide
/// other information about the supplier.
///
CHAR16 *ServiceName;
CHAR16 *ServiceName;
///
/// Optional 32-bit value which may be used to indicate the version of the KMS provided by
/// the supplier.
///
UINT32 ServiceVersion;
UINT32 ServiceVersion;
///
/// TRUE if and only if the service is active and available for use. To avoid unnecessary
/// delays in POST, this protocol may be installed without connecting to the service. In this
@@ -1204,64 +1203,64 @@ struct _EFI_KMS_PROTOCOL {
/// as defined in the reminder of this protocol are not guaranteed to be valid until the service
/// has been marked available.
///
BOOLEAN ServiceAvailable;
BOOLEAN ServiceAvailable;
///
/// TRUE if and only if the service supports client identifiers. Client identifiers may be used
/// for auditing, access control or any other purpose specific to the implementation.
///
BOOLEAN ClientIdSupported;
BOOLEAN ClientIdSupported;
///
/// TRUE if and only if the service requires a client identifier in order to process key requests.
/// FALSE otherwise.
///
BOOLEAN ClientIdRequired;
BOOLEAN ClientIdRequired;
///
/// The maximum size in bytes for the client identifier.
///
UINT16 ClientIdMaxSize;
UINT16 ClientIdMaxSize;
///
/// The client name string type(s) supported by the KMS service. If client names are not
/// supported, this field will be set the EFI_KMS_DATA_TYPE_NONE. Otherwise, it will be set
/// to the inclusive 'OR' of all client name formats supported. Client names may be used for
/// auditing, access control or any other purpose specific to the implementation.
///
UINT8 ClientNameStringTypes;
UINT8 ClientNameStringTypes;
///
/// TRUE if only if the KMS requires a client name to be supplied to the service.
/// FALSE otherwise.
///
BOOLEAN ClientNameRequired;
BOOLEAN ClientNameRequired;
///
/// The maximum number of characters allowed for the client name.
///
UINT16 ClientNameMaxCount;
UINT16 ClientNameMaxCount;
///
/// TRUE if and only if the service supports arbitrary client data requests. The use of client
/// data requires the caller to have specific knowledge of the individual KMS service and
/// should be used only if absolutely necessary.
/// FALSE otherwise.
///
BOOLEAN ClientDataSupported;
BOOLEAN ClientDataSupported;
///
/// The maximum size in bytes for the client data. If the maximum data size is not specified
/// by the KMS or it is not known, then this field must be filled with all ones.
///
UINTN ClientDataMaxSize;
UINTN ClientDataMaxSize;
///
/// TRUE if variable length key identifiers are supported.
/// FALSE if a fixed length key identifier is supported.
///
BOOLEAN KeyIdVariableLenSupported;
BOOLEAN KeyIdVariableLenSupported;
///
/// If KeyIdVariableLenSupported is TRUE, this is the maximum supported key identifier length
/// in bytes. Otherwise this is the fixed length of key identifier supported. Key ids shorter
/// than the fixed length will be padded on the right with blanks.
///
UINTN KeyIdMaxSize;
UINTN KeyIdMaxSize;
///
/// The number of key format/size GUIDs returned in the KeyFormats field.
///
UINTN KeyFormatsCount;
UINTN KeyFormatsCount;
///
/// A pointer to an array of EFI_GUID values which specify key formats/sizes supported by
/// this KMS. Each format/size pair will be specified by a separate EFI_GUID. At least one
@@ -1273,26 +1272,26 @@ struct _EFI_KMS_PROTOCOL {
/// using an arbitrary GUID, but any GUID not recognized by the implementation or not
/// supported by the KMS will return an error code of EFI_UNSUPPORTED
///
EFI_GUID *KeyFormats;
EFI_GUID *KeyFormats;
///
/// TRUE if key attributes are supported.
/// FALSE if key attributes are not supported.
///
BOOLEAN KeyAttributesSupported;
BOOLEAN KeyAttributesSupported;
///
/// The key attribute identifier string type(s) supported by the KMS service. If key attributes
/// are not supported, this field will be set to EFI_KMS_DATA_TYPE_NONE. Otherwise, it will
/// be set to the inclusive 'OR' of all key attribute identifier string types supported.
/// EFI_KMS_DATA_TYPE_BINARY is not valid for this field.
///
UINT8 KeyAttributeIdStringTypes;
UINT16 KeyAttributeIdMaxCount;
UINT8 KeyAttributeIdStringTypes;
UINT16 KeyAttributeIdMaxCount;
///
/// The number of predefined KeyAttributes structures returned in the KeyAttributes
/// parameter. If the KMS does not support predefined key attributes, or if it does not
/// provide a method to obtain predefined key attributes data, then this field must be zero.
///
UINTN KeyAttributesCount;
UINTN KeyAttributesCount;
///
/// A pointer to an array of KeyAttributes structures which contains the predefined
/// attributes supported by this KMS. Each structure must contain a valid key attribute
@@ -1305,33 +1304,33 @@ struct _EFI_KMS_PROTOCOL {
/// does not distinguish between predefined and used defined attributes, and therefore,
/// predefined attributes not enumerated will still be processed to the KMS.
///
EFI_KMS_KEY_ATTRIBUTE *KeyAttributes;
EFI_KMS_KEY_ATTRIBUTE *KeyAttributes;
};
extern EFI_GUID gEfiKmsFormatGeneric128Guid;
extern EFI_GUID gEfiKmsFormatGeneric160Guid;
extern EFI_GUID gEfiKmsFormatGeneric256Guid;
extern EFI_GUID gEfiKmsFormatGeneric512Guid;
extern EFI_GUID gEfiKmsFormatGeneric1024Guid;
extern EFI_GUID gEfiKmsFormatGeneric2048Guid;
extern EFI_GUID gEfiKmsFormatGeneric3072Guid;
extern EFI_GUID gEfiKmsFormatMd2128Guid;
extern EFI_GUID gEfiKmsFormatMdc2128Guid;
extern EFI_GUID gEfiKmsFormatMd4128Guid;
extern EFI_GUID gEfiKmsFormatMdc4128Guid;
extern EFI_GUID gEfiKmsFormatMd5128Guid;
extern EFI_GUID gEfiKmsFormatMd5sha128Guid;
extern EFI_GUID gEfiKmsFormatSha1160Guid;
extern EFI_GUID gEfiKmsFormatSha256256Guid;
extern EFI_GUID gEfiKmsFormatSha512512Guid;
extern EFI_GUID gEfiKmsFormatAesxts128Guid;
extern EFI_GUID gEfiKmsFormatAesxts256Guid;
extern EFI_GUID gEfiKmsFormatAescbc128Guid;
extern EFI_GUID gEfiKmsFormatAescbc256Guid;
extern EFI_GUID gEfiKmsFormatRsasha11024Guid;
extern EFI_GUID gEfiKmsFormatRsasha12048Guid;
extern EFI_GUID gEfiKmsFormatRsasha2562048Guid;
extern EFI_GUID gEfiKmsFormatRsasha2563072Guid;
extern EFI_GUID gEfiKmsProtocolGuid;
extern EFI_GUID gEfiKmsFormatGeneric128Guid;
extern EFI_GUID gEfiKmsFormatGeneric160Guid;
extern EFI_GUID gEfiKmsFormatGeneric256Guid;
extern EFI_GUID gEfiKmsFormatGeneric512Guid;
extern EFI_GUID gEfiKmsFormatGeneric1024Guid;
extern EFI_GUID gEfiKmsFormatGeneric2048Guid;
extern EFI_GUID gEfiKmsFormatGeneric3072Guid;
extern EFI_GUID gEfiKmsFormatMd2128Guid;
extern EFI_GUID gEfiKmsFormatMdc2128Guid;
extern EFI_GUID gEfiKmsFormatMd4128Guid;
extern EFI_GUID gEfiKmsFormatMdc4128Guid;
extern EFI_GUID gEfiKmsFormatMd5128Guid;
extern EFI_GUID gEfiKmsFormatMd5sha128Guid;
extern EFI_GUID gEfiKmsFormatSha1160Guid;
extern EFI_GUID gEfiKmsFormatSha256256Guid;
extern EFI_GUID gEfiKmsFormatSha512512Guid;
extern EFI_GUID gEfiKmsFormatAesxts128Guid;
extern EFI_GUID gEfiKmsFormatAesxts256Guid;
extern EFI_GUID gEfiKmsFormatAescbc128Guid;
extern EFI_GUID gEfiKmsFormatAescbc256Guid;
extern EFI_GUID gEfiKmsFormatRsasha11024Guid;
extern EFI_GUID gEfiKmsFormatRsasha12048Guid;
extern EFI_GUID gEfiKmsFormatRsasha2562048Guid;
extern EFI_GUID gEfiKmsFormatRsasha2563072Guid;
extern EFI_GUID gEfiKmsProtocolGuid;
#endif

View File

@@ -14,7 +14,6 @@
#ifndef __LEGACY_REGION2_H__
#define __LEGACY_REGION2_H__
#define EFI_LEGACY_REGION2_PROTOCOL_GUID \
{ \
0x70101eaf, 0x85, 0x440c, {0xb3, 0x56, 0x8e, 0xe3, 0x6f, 0xef, 0x24, 0xf0 } \
@@ -49,13 +48,12 @@ typedef struct _EFI_LEGACY_REGION2_PROTOCOL EFI_LEGACY_REGION2_PROTOCOL;
typedef
EFI_STATUS
(EFIAPI *EFI_LEGACY_REGION2_DECODE)(
IN EFI_LEGACY_REGION2_PROTOCOL *This,
IN UINT32 Start,
IN UINT32 Length,
OUT UINT32 *Granularity,
IN BOOLEAN *On
);
IN EFI_LEGACY_REGION2_PROTOCOL *This,
IN UINT32 Start,
IN UINT32 Length,
OUT UINT32 *Granularity,
IN BOOLEAN *On
);
/**
Modify the hardware to disallow memory writes in a region.
@@ -80,12 +78,11 @@ EFI_STATUS
typedef
EFI_STATUS
(EFIAPI *EFI_LEGACY_REGION2_LOCK)(
IN EFI_LEGACY_REGION2_PROTOCOL *This,
IN UINT32 Start,
IN UINT32 Length,
OUT UINT32 *Granularity
);
IN EFI_LEGACY_REGION2_PROTOCOL *This,
IN UINT32 Start,
IN UINT32 Length,
OUT UINT32 *Granularity
);
/**
Modify the hardware to disallow memory attribute changes in a region.
@@ -121,7 +118,6 @@ EFI_STATUS
OUT UINT32 *Granularity OPTIONAL
);
/**
Modify the hardware to allow memory writes in a region.
@@ -145,12 +141,11 @@ EFI_STATUS
typedef
EFI_STATUS
(EFIAPI *EFI_LEGACY_REGION2_UNLOCK)(
IN EFI_LEGACY_REGION2_PROTOCOL *This,
IN UINT32 Start,
IN UINT32 Length,
OUT UINT32 *Granularity
);
IN EFI_LEGACY_REGION2_PROTOCOL *This,
IN UINT32 Start,
IN UINT32 Length,
OUT UINT32 *Granularity
);
typedef enum {
LegacyRegionDecoded, ///< This region is currently set to allow reads.
@@ -162,30 +157,28 @@ typedef enum {
LegacyRegionNotLocked ///< This region's attributes are not locked.
} EFI_LEGACY_REGION_ATTRIBUTE;
typedef struct {
///
/// The beginning of the physical address of this
/// region.
///
UINT32 Start;
UINT32 Start;
///
/// The number of bytes in this region.
///
UINT32 Length;
UINT32 Length;
///
/// Attribute of the Legacy Region Descriptor that
/// describes the capabilities for that memory region.
///
EFI_LEGACY_REGION_ATTRIBUTE Attribute;
EFI_LEGACY_REGION_ATTRIBUTE Attribute;
///
/// Describes the byte length programmability
/// associated with the Start address and the specified
/// Attribute setting.
UINT32 Granularity;
UINT32 Granularity;
} EFI_LEGACY_REGION_DESCRIPTOR;
/**
Get region information for the attributes of the Legacy Region.
@@ -213,7 +206,6 @@ EFI_STATUS
OUT EFI_LEGACY_REGION_DESCRIPTOR **Descriptor
);
///
/// The EFI_LEGACY_REGION2_PROTOCOL is used to abstract the hardware control of the memory
/// attributes of the Option ROM shadowing region, 0xC0000 to 0xFFFFF.
@@ -221,13 +213,13 @@ EFI_STATUS
/// boot-lock. These protocols may be set in any combination.
///
struct _EFI_LEGACY_REGION2_PROTOCOL {
EFI_LEGACY_REGION2_DECODE Decode;
EFI_LEGACY_REGION2_LOCK Lock;
EFI_LEGACY_REGION2_BOOT_LOCK BootLock;
EFI_LEGACY_REGION2_UNLOCK UnLock;
EFI_LEGACY_REGION_GET_INFO GetInfo;
EFI_LEGACY_REGION2_DECODE Decode;
EFI_LEGACY_REGION2_LOCK Lock;
EFI_LEGACY_REGION2_BOOT_LOCK BootLock;
EFI_LEGACY_REGION2_UNLOCK UnLock;
EFI_LEGACY_REGION_GET_INFO GetInfo;
};
extern EFI_GUID gEfiLegacyRegion2ProtocolGuid;
extern EFI_GUID gEfiLegacyRegion2ProtocolGuid;
#endif

Some files were not shown because too many files have changed in this diff Show More