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:
committed by
mergify[bot]
parent
1436aea4d5
commit
2f88bd3a12
@@ -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
|
||||
|
||||
|
@@ -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___
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -14,6 +14,6 @@
|
||||
0x60ff8964, 0xe906, 0x41d0, { 0xaf, 0xed, 0xf2, 0x41, 0xe9, 0x74, 0xe0, 0x8e } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiDxeMmReadyToLockProtocolGuid;
|
||||
extern EFI_GUID gEfiDxeMmReadyToLockProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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__
|
||||
|
@@ -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__
|
||||
|
@@ -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__
|
||||
|
@@ -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__
|
||||
|
@@ -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__
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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__
|
||||
|
@@ -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
|
||||
|
@@ -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
Reference in New Issue
Block a user