mirror of https://github.com/acidanthera/audk.git
Add the detailed descriptions for the structure data member in these protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6935 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d0a915a5ad
commit
992f22b99a
|
@ -34,9 +34,9 @@
|
||||||
#define EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL 0x01
|
#define EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL 0x01
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT64 Signature; /// A constant UINT64 that has the value EFI_SYSTEM_TABLE_SIGNATURE
|
UINT64 Signature; ///< A constant UINT64 that has the value EFI_SYSTEM_TABLE_SIGNATURE
|
||||||
EFI_PHYSICAL_ADDRESS EfiSystemTableBase; /// The physical address of the EFI system table.
|
EFI_PHYSICAL_ADDRESS EfiSystemTableBase; ///< The physical address of the EFI system table.
|
||||||
UINT32 Crc32; /// A 32-bit CRC value that is used to verify the EFI_SYSTEM_TABLE_POINTER structure is valid.
|
UINT32 Crc32; ///< A 32-bit CRC value that is used to verify the EFI_SYSTEM_TABLE_POINTER structure is valid.
|
||||||
} EFI_SYSTEM_TABLE_POINTER;
|
} EFI_SYSTEM_TABLE_POINTER;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -17,25 +17,20 @@
|
||||||
#ifndef __FILE_SYSTEM_VOLUME_LABEL_INFO_H__
|
#ifndef __FILE_SYSTEM_VOLUME_LABEL_INFO_H__
|
||||||
#define __FILE_SYSTEM_VOLUME_LABEL_INFO_H__
|
#define __FILE_SYSTEM_VOLUME_LABEL_INFO_H__
|
||||||
|
|
||||||
#define EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID \
|
#define EFI_FILE_SYSTEM_VOLUME_LABEL_ID \
|
||||||
{ \
|
{ \
|
||||||
0xDB47D7D3, 0xFE81, 0x11d3, {0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } \
|
0xDB47D7D3, 0xFE81, 0x11d3, {0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define EFI_FILE_SYSTEM_VOLUME_LABEL_ID \
|
|
||||||
EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// The Null-terminated string that is the volume's label.
|
/// The Null-terminated string that is the volume's label.
|
||||||
///
|
///
|
||||||
CHAR16 VolumeLabel[1];
|
CHAR16 VolumeLabel[1];
|
||||||
} EFI_FILE_SYSTEM_VOLUME_LABEL_INFO;
|
} EFI_FILE_SYSTEM_VOLUME_LABEL;
|
||||||
|
|
||||||
typedef EFI_FILE_SYSTEM_VOLUME_LABEL_INFO EFI_FILE_SYSTEM_VOLUME_LABEL;
|
#define SIZE_OF_EFI_FILE_SYSTEM_VOLUME_LABEL \
|
||||||
|
EFI_FIELD_OFFSET (EFI_FILE_SYSTEM_VOLUME_LABEL, VolumeLabel)
|
||||||
#define SIZE_OF_EFI_FILE_SYSTEM_VOLUME_LABEL_INFO \
|
|
||||||
EFI_FIELD_OFFSET (EFI_FILE_SYSTEM_VOLUME_LABEL_INFO, VolumeLabel)
|
|
||||||
|
|
||||||
extern EFI_GUID gEfiFileSystemVolumeLabelInfoIdGuid;
|
extern EFI_GUID gEfiFileSystemVolumeLabelInfoIdGuid;
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,6 @@
|
||||||
/** @file
|
/** @file
|
||||||
This file declares the SMBus definitions defined in SmBus Specifciation V2.0.
|
This file declares the SMBus definitions defined in SmBus Specifciation V2.0
|
||||||
|
and defined in PI1.0 specification volume 5.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2008, Intel Corporation
|
Copyright (c) 2007 - 2008, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
|
@ -34,14 +35,16 @@ typedef struct {
|
||||||
/// Smbus Device Address
|
/// Smbus Device Address
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The SMBUS hardware address to which the SMBUS device is preassigned or allocated.
|
||||||
|
///
|
||||||
UINTN SmbusDeviceAddress : 7;
|
UINTN SmbusDeviceAddress : 7;
|
||||||
} EFI_SMBUS_DEVICE_ADDRESS;
|
} EFI_SMBUS_DEVICE_ADDRESS;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Smbus Operations
|
/// Smbus Operations
|
||||||
///
|
///
|
||||||
typedef enum _EFI_SMBUS_OPERATION
|
typedef enum _EFI_SMBUS_OPERATION {
|
||||||
{
|
|
||||||
EfiSmbusQuickRead,
|
EfiSmbusQuickRead,
|
||||||
EfiSmbusQuickWrite,
|
EfiSmbusQuickWrite,
|
||||||
EfiSmbusReceiveByte,
|
EfiSmbusReceiveByte,
|
||||||
|
@ -56,5 +59,10 @@ typedef enum _EFI_SMBUS_OPERATION
|
||||||
EfiSmbusBWBRProcessCall
|
EfiSmbusBWBRProcessCall
|
||||||
} EFI_SMBUS_OPERATION;
|
} EFI_SMBUS_OPERATION;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI_SMBUS_DEVICE_COMMAND
|
||||||
|
///
|
||||||
|
typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -28,12 +28,6 @@
|
||||||
|
|
||||||
typedef struct _EFI_PEI_SMBUS2_PPI EFI_PEI_SMBUS2_PPI;
|
typedef struct _EFI_PEI_SMBUS2_PPI EFI_PEI_SMBUS2_PPI;
|
||||||
|
|
||||||
//
|
|
||||||
// EFI_SMBUS_DEVICE_COMMAND
|
|
||||||
//
|
|
||||||
typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Executes an SMBus operation to an SMBus controller. Returns when either
|
Executes an SMBus operation to an SMBus controller. Returns when either
|
||||||
the command has been executed or an error is encountered in doing the operation.
|
the command has been executed or an error is encountered in doing the operation.
|
||||||
|
|
|
@ -444,12 +444,12 @@ typedef struct {
|
||||||
#define EXCEPT_EBC_DEBUG 2
|
#define EXCEPT_EBC_DEBUG 2
|
||||||
#define EXCEPT_EBC_BREAKPOINT 3
|
#define EXCEPT_EBC_BREAKPOINT 3
|
||||||
#define EXCEPT_EBC_OVERFLOW 4
|
#define EXCEPT_EBC_OVERFLOW 4
|
||||||
#define EXCEPT_EBC_INVALID_OPCODE 5 /// opcode out of range
|
#define EXCEPT_EBC_INVALID_OPCODE 5 ///< opcode out of range
|
||||||
#define EXCEPT_EBC_STACK_FAULT 6
|
#define EXCEPT_EBC_STACK_FAULT 6
|
||||||
#define EXCEPT_EBC_ALIGNMENT_CHECK 7
|
#define EXCEPT_EBC_ALIGNMENT_CHECK 7
|
||||||
#define EXCEPT_EBC_INSTRUCTION_ENCODING 8 /// malformed instruction
|
#define EXCEPT_EBC_INSTRUCTION_ENCODING 8 ///< malformed instruction
|
||||||
#define EXCEPT_EBC_BAD_BREAK 9 /// BREAK 0 or undefined BREAK
|
#define EXCEPT_EBC_BAD_BREAK 9 ///< BREAK 0 or undefined BREAK
|
||||||
#define EXCEPT_EBC_STEP 10 /// to support debug stepping
|
#define EXCEPT_EBC_STEP 10 ///< to support debug stepping
|
||||||
///
|
///
|
||||||
/// For coding convenience, define the maximum valid EBC exception.
|
/// For coding convenience, define the maximum valid EBC exception.
|
||||||
///
|
///
|
||||||
|
|
|
@ -839,7 +839,7 @@ typedef struct {
|
||||||
//
|
//
|
||||||
// Use VENDOR_DEVICE_PATH struct
|
// Use VENDOR_DEVICE_PATH struct
|
||||||
//
|
//
|
||||||
#define MEDIA_VENDOR_DP 0x03 /// Media vendor device path subtype
|
#define MEDIA_VENDOR_DP 0x03 ///< Media vendor device path subtype
|
||||||
|
|
||||||
///
|
///
|
||||||
/// File Path Media Device Path SubType
|
/// File Path Media Device Path SubType
|
||||||
|
|
|
@ -418,9 +418,9 @@ EFI_STATUS
|
||||||
OUT UINT32 *AuthenticationStatus
|
OUT UINT32 *AuthenticationStatus
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
///
|
||||||
// EFI_FV_WRITE_POLICY
|
/// EFI_FV_WRITE_POLICY, two policies (unreliable write and reliable write) are defined.
|
||||||
//
|
///
|
||||||
typedef UINT32 EFI_FV_WRITE_POLICY;
|
typedef UINT32 EFI_FV_WRITE_POLICY;
|
||||||
#define EFI_FV_UNRELIABLE_WRITE 0x00000000
|
#define EFI_FV_UNRELIABLE_WRITE 0x00000000
|
||||||
#define EFI_FV_RELIABLE_WRITE 0x00000001
|
#define EFI_FV_RELIABLE_WRITE 0x00000001
|
||||||
|
|
|
@ -62,8 +62,9 @@ typedef struct _EFI_HII_ROW_INFO {
|
||||||
} EFI_HII_ROW_INFO;
|
} EFI_HII_ROW_INFO;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// EFI_FONT_INFO_MASK
|
/// 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_FONT 0x00000001
|
||||||
|
@ -87,6 +88,8 @@ typedef struct {
|
||||||
} EFI_FONT_INFO;
|
} EFI_FONT_INFO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Describes font output-related information.
|
||||||
|
|
||||||
This structure is used for describing the way in which a string
|
This structure is used for describing the way in which a string
|
||||||
should be rendered in a particular font. FontInfo specifies the
|
should be rendered in a particular font. FontInfo specifies the
|
||||||
basic font information and ForegroundColor and BackgroundColor
|
basic font information and ForegroundColor and BackgroundColor
|
||||||
|
@ -94,34 +97,7 @@ typedef struct {
|
||||||
in FontInfoMask describe where the system default should be
|
in FontInfoMask describe where the system default should be
|
||||||
supplied instead of the specified information. The flags also
|
supplied instead of the specified information. The flags also
|
||||||
describe what options can be used to make a match between the
|
describe what options can be used to make a match between the
|
||||||
font requested and the font available. If EFI_FONT_INFO_SYS_FONT
|
font requested and the font available.
|
||||||
is specified, then the font name in FontInfo is ignored and the
|
|
||||||
system font name is used. This flag cannot be used with
|
|
||||||
EFI_FONT_INFO_ANY_FONT. If EFI_FONT_INFO_SYS_SIZE is specified,
|
|
||||||
then the font height specified in FontInfo is ignored and the
|
|
||||||
system font height is used instead. This flag cannot be used
|
|
||||||
with EFI_FONT_INFO_ANY_SIZE. If EFI_FONT_INFO_SYS_STYLE is
|
|
||||||
specified, then the font style in FontInfo is ignored and the
|
|
||||||
system font style is used. This flag cannot be used with
|
|
||||||
EFI_FONT_INFO_ANY_STYLE. If EFI_FONT_INFO_SYS_FORE_COLOR is
|
|
||||||
specified, then ForegroundColor is ignored and the system
|
|
||||||
foreground color is used. If EFI_FONT_INFO_SYS_BACK_COLOR is
|
|
||||||
specified, then BackgroundColor is ignored and the system
|
|
||||||
background color is used. If EFI_FONT_INFO_RESIZE is specified,
|
|
||||||
then the system may attempt to stretch or shrink a font to meet
|
|
||||||
the size requested. This flag cannot be used with
|
|
||||||
EFI_FONT_INFO_ANY_SIZE. If EFI_FONT_INFO_RESTYLE is specified,
|
|
||||||
then the system may attempt to remove some of the specified
|
|
||||||
styles in order to meet the style requested. This flag cannot be
|
|
||||||
used with EFI_FONT_INFO_ANY_STYLE. If EFI_FONT_INFO_ANY_FONT is
|
|
||||||
specified, then the system may attempt to match with any font.
|
|
||||||
This flag cannot be used with EFI_FONT_INFO_SYS_FONT. If
|
|
||||||
EFI_FONT_INFO_ANY_SIZE is specified, then the system may attempt
|
|
||||||
to match with any font size. This flag cannot be used with
|
|
||||||
EFI_FONT_INFO_SYS_SIZE or EFI_FONT_INFO_RESIZE. If
|
|
||||||
EFI_FONT_INFO_ANY_STYLE is specified, then the system may
|
|
||||||
attempt to match with any font style. This flag cannot be used
|
|
||||||
with EFI_FONT_INFO_SYS_STYLE or EFI_FONT_INFO_RESTYLE.
|
|
||||||
**/
|
**/
|
||||||
typedef struct _EFI_FONT_DISPLAY_INFO {
|
typedef struct _EFI_FONT_DISPLAY_INFO {
|
||||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;
|
EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;
|
||||||
|
|
|
@ -160,9 +160,10 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
//
|
///
|
||||||
// EFI_HII_DRAW_FLAGS
|
/// 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_CLIP 0x00000001
|
||||||
|
@ -172,7 +173,6 @@ typedef UINT32 EFI_HII_DRAW_FLAGS;
|
||||||
#define EFI_HII_DRAW_FLAG_FORCE_OPAQUE 0x00000020
|
#define EFI_HII_DRAW_FLAG_FORCE_OPAQUE 0x00000020
|
||||||
#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
|
#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
Definition of EFI_IMAGE_OUTPUT.
|
Definition of EFI_IMAGE_OUTPUT.
|
||||||
|
|
|
@ -52,19 +52,74 @@ typedef struct {
|
||||||
} EFI_IP4_VARIABLE_DATA;
|
} EFI_IP4_VARIABLE_DATA;
|
||||||
|
|
||||||
typedef struct {
|
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;
|
} EFI_IP4_CONFIG_DATA;
|
||||||
|
|
||||||
|
@ -81,14 +136,41 @@ typedef struct {
|
||||||
} EFI_IP4_ICMP_TYPE;
|
} EFI_IP4_ICMP_TYPE;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Set to TRUE after this EFI IPv4 Protocol instance has been successfully configured.
|
||||||
|
///
|
||||||
BOOLEAN IsStarted;
|
BOOLEAN IsStarted;
|
||||||
|
///
|
||||||
|
/// 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;
|
} EFI_IP4_MODE_DATA;
|
||||||
|
|
||||||
|
@ -149,10 +231,26 @@ typedef struct {
|
||||||
} EFI_IP4_TRANSMIT_DATA;
|
} EFI_IP4_TRANSMIT_DATA;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// This Event will be signaled after the Status field is updated
|
||||||
|
/// by the EFI IPv4 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;
|
||||||
|
///
|
||||||
|
/// 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 {
|
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;
|
} Packet;
|
||||||
} EFI_IP4_COMPLETION_TOKEN;
|
} EFI_IP4_COMPLETION_TOKEN;
|
||||||
|
|
|
@ -30,10 +30,22 @@ typedef struct _EFI_IP4_CONFIG_PROTOCOL EFI_IP4_CONFIG_PROTOCOL;
|
||||||
EFI_VARIABLE_RUNTIME_ACCESS)
|
EFI_VARIABLE_RUNTIME_ACCESS)
|
||||||
|
|
||||||
typedef struct {
|
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;
|
||||||
EFI_IP4_ROUTE_TABLE *RouteTable; //OPTIONAL
|
///
|
||||||
|
/// Default routing table data (stored in network byte order).
|
||||||
|
///
|
||||||
|
EFI_IP4_ROUTE_TABLE *RouteTable;
|
||||||
} EFI_IP4_IPCONFIG_DATA;
|
} EFI_IP4_IPCONFIG_DATA;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -31,15 +31,58 @@
|
||||||
typedef struct _EFI_MANAGED_NETWORK_PROTOCOL EFI_MANAGED_NETWORK_PROTOCOL;
|
typedef struct _EFI_MANAGED_NETWORK_PROTOCOL EFI_MANAGED_NETWORK_PROTOCOL;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Timeout value for a UEFI one-shot timer event. A packet that has not been removed
|
||||||
|
/// from the MNP receive queue will be dropped if its receive timeout expires.
|
||||||
|
///
|
||||||
UINT32 ReceivedQueueTimeoutValue;
|
UINT32 ReceivedQueueTimeoutValue;
|
||||||
|
///
|
||||||
|
/// Timeout value for a UEFI one-shot timer event. A packet that has not been removed
|
||||||
|
/// from the MNP transmit queue will be dropped if its receive timeout expires.
|
||||||
|
///
|
||||||
UINT32 TransmitQueueTimeoutValue;
|
UINT32 TransmitQueueTimeoutValue;
|
||||||
|
///
|
||||||
|
/// Ethernet type II 16-bit protocol type in host byte order. Valid
|
||||||
|
/// values are zero and 1,500 to 65,535.
|
||||||
|
///
|
||||||
UINT16 ProtocolTypeFilter;
|
UINT16 ProtocolTypeFilter;
|
||||||
|
///
|
||||||
|
/// Set to TRUE to receive packets that are sent to the network
|
||||||
|
/// device MAC address. The startup default value is FALSE.
|
||||||
|
///
|
||||||
BOOLEAN EnableUnicastReceive;
|
BOOLEAN EnableUnicastReceive;
|
||||||
|
///
|
||||||
|
/// Set to TRUE to receive packets that are sent to any of the
|
||||||
|
/// active multicast groups. The startup default value is FALSE.
|
||||||
|
///
|
||||||
BOOLEAN EnableMulticastReceive;
|
BOOLEAN EnableMulticastReceive;
|
||||||
|
///
|
||||||
|
/// Set to TRUE to receive packets that are sent to the network
|
||||||
|
/// device broadcast address. The startup default value is FALSE.
|
||||||
|
///
|
||||||
BOOLEAN EnableBroadcastReceive;
|
BOOLEAN EnableBroadcastReceive;
|
||||||
|
///
|
||||||
|
/// Set to TRUE to receive packets that are sent to any MAC address.
|
||||||
|
/// The startup default value is FALSE.
|
||||||
|
///
|
||||||
BOOLEAN EnablePromiscuousReceive;
|
BOOLEAN EnablePromiscuousReceive;
|
||||||
|
///
|
||||||
|
/// Set to TRUE to drop queued packets when the configuration
|
||||||
|
/// is changed. The startup default value is FALSE.
|
||||||
|
///
|
||||||
BOOLEAN FlushQueuesOnReset;
|
BOOLEAN FlushQueuesOnReset;
|
||||||
|
///
|
||||||
|
/// Set to TRUE to timestamp all packets when they are received
|
||||||
|
/// by the MNP. Note that timestamps may be unsupported in some
|
||||||
|
/// MNP implementations. The startup default value is FALSE.
|
||||||
|
///
|
||||||
BOOLEAN EnableReceiveTimestamps;
|
BOOLEAN EnableReceiveTimestamps;
|
||||||
|
///
|
||||||
|
/// Set to TRUE to disable background polling in this MNP
|
||||||
|
/// instance. Note that background polling may not be supported in
|
||||||
|
/// all MNP implementations. The startup default value is FALSE,
|
||||||
|
/// unless background polling is not supported.
|
||||||
|
///
|
||||||
BOOLEAN DisableBackgroundPolling;
|
BOOLEAN DisableBackgroundPolling;
|
||||||
} EFI_MANAGED_NETWORK_CONFIG_DATA;
|
} EFI_MANAGED_NETWORK_CONFIG_DATA;
|
||||||
|
|
||||||
|
@ -77,10 +120,26 @@ typedef struct {
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// This Event will be signaled after the Status field is updated
|
||||||
|
/// by the MNP. 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;
|
||||||
|
///
|
||||||
|
/// 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 {
|
union {
|
||||||
|
///
|
||||||
|
/// When this token is used for receiving, RxData is a pointer to the EFI_MANAGED_NETWORK_RECEIVE_DATA.
|
||||||
|
///
|
||||||
EFI_MANAGED_NETWORK_RECEIVE_DATA *RxData;
|
EFI_MANAGED_NETWORK_RECEIVE_DATA *RxData;
|
||||||
|
///
|
||||||
|
/// When this token is used for transmitting, TxData is a pointer to the EFI_MANAGED_NETWORK_TRANSMIT_DATA.
|
||||||
|
///
|
||||||
EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData;
|
EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData;
|
||||||
} Packet;
|
} Packet;
|
||||||
} EFI_MANAGED_NETWORK_COMPLETION_TOKEN;
|
} EFI_MANAGED_NETWORK_COMPLETION_TOKEN;
|
||||||
|
|
|
@ -98,14 +98,41 @@ typedef struct {
|
||||||
} EFI_MTFTP4_ERROR_HEADER;
|
} EFI_MTFTP4_ERROR_HEADER;
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
|
///
|
||||||
|
/// Type of packets as defined by the MTFTPv4 packet opcodes.
|
||||||
|
///
|
||||||
UINT16 OpCode;
|
UINT16 OpCode;
|
||||||
|
///
|
||||||
|
/// Read request packet header.
|
||||||
|
///
|
||||||
EFI_MTFTP4_REQ_HEADER Rrq;
|
EFI_MTFTP4_REQ_HEADER Rrq;
|
||||||
|
///
|
||||||
|
/// Write request packet header.
|
||||||
|
///
|
||||||
EFI_MTFTP4_REQ_HEADER Wrq;
|
EFI_MTFTP4_REQ_HEADER Wrq;
|
||||||
|
///
|
||||||
|
/// Option acknowledge packet header.
|
||||||
|
///
|
||||||
EFI_MTFTP4_OACK_HEADER Oack;
|
EFI_MTFTP4_OACK_HEADER Oack;
|
||||||
|
///
|
||||||
|
/// Data packet header.
|
||||||
|
///
|
||||||
EFI_MTFTP4_DATA_HEADER Data;
|
EFI_MTFTP4_DATA_HEADER Data;
|
||||||
|
///
|
||||||
|
/// Acknowledgement packet header.
|
||||||
|
///
|
||||||
EFI_MTFTP4_ACK_HEADER Ack;
|
EFI_MTFTP4_ACK_HEADER Ack;
|
||||||
|
///
|
||||||
|
/// Data packet header with big block number.
|
||||||
|
///
|
||||||
EFI_MTFTP4_DATA8_HEADER Data8;
|
EFI_MTFTP4_DATA8_HEADER Data8;
|
||||||
|
///
|
||||||
|
/// Acknowledgement header with big block num.
|
||||||
|
///
|
||||||
EFI_MTFTP4_ACK8_HEADER Ack8;
|
EFI_MTFTP4_ACK8_HEADER Ack8;
|
||||||
|
///
|
||||||
|
/// Error packet header.
|
||||||
|
///
|
||||||
EFI_MTFTP4_ERROR_HEADER Error;
|
EFI_MTFTP4_ERROR_HEADER Error;
|
||||||
} EFI_MTFTP4_PACKET;
|
} EFI_MTFTP4_PACKET;
|
||||||
|
|
||||||
|
@ -477,17 +504,60 @@ struct _EFI_MTFTP4_PROTOCOL {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _EFI_MTFTP4_TOKEN {
|
struct _EFI_MTFTP4_TOKEN {
|
||||||
|
///
|
||||||
|
/// 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;
|
||||||
|
///
|
||||||
|
/// The event that will be signaled when the operation completes. If
|
||||||
|
/// set to NULL, the corresponding function will wait until the read or
|
||||||
|
/// write operation finishes. The type of Event must be
|
||||||
|
/// EVT_NOTIFY_SIGNAL. The Task Priority Level (TPL) of
|
||||||
|
/// Event must be lower than or equal to TPL_CALLBACK.
|
||||||
|
///
|
||||||
EFI_EVENT Event;
|
EFI_EVENT Event;
|
||||||
|
///
|
||||||
|
/// If not NULL, the data that will be used to override the existing configure data.
|
||||||
|
///
|
||||||
EFI_MTFTP4_OVERRIDE_DATA *OverrideData;
|
EFI_MTFTP4_OVERRIDE_DATA *OverrideData;
|
||||||
|
///
|
||||||
|
/// Pointer to the ASCIIZ file name string.
|
||||||
|
///
|
||||||
UINT8 *Filename;
|
UINT8 *Filename;
|
||||||
|
///
|
||||||
|
/// Pointer to the ASCIIZ mode string. If NULL, ¡°octet¡± is used.
|
||||||
|
///
|
||||||
UINT8 *ModeStr;
|
UINT8 *ModeStr;
|
||||||
|
///
|
||||||
|
/// Number of option/value string pairs.
|
||||||
|
///
|
||||||
UINT32 OptionCount;
|
UINT32 OptionCount;
|
||||||
|
///
|
||||||
|
/// Pointer to an array of option/value string pairs. Ignored if OptionCount is zero.
|
||||||
|
///
|
||||||
EFI_MTFTP4_OPTION *OptionList;
|
EFI_MTFTP4_OPTION *OptionList;
|
||||||
|
///
|
||||||
|
/// Size of the data buffer.
|
||||||
|
///
|
||||||
OUT UINT64 BufferSize;
|
OUT UINT64 BufferSize;
|
||||||
|
///
|
||||||
|
/// Pointer to the data buffer. Data that is downloaded from the
|
||||||
|
/// MTFTPv4 server is stored here. Data that is uploaded to the
|
||||||
|
/// MTFTPv4 server is read from here. Ignored if BufferSize is zero.
|
||||||
|
///
|
||||||
OUT VOID *Buffer;
|
OUT VOID *Buffer;
|
||||||
|
///
|
||||||
|
/// Pointer to the callback function to check the contents of the received packet.
|
||||||
|
///
|
||||||
EFI_MTFTP4_CHECK_PACKET CheckPacket;
|
EFI_MTFTP4_CHECK_PACKET CheckPacket;
|
||||||
|
///
|
||||||
|
/// Pointer to the function to be called when a timeout occurs.
|
||||||
|
///
|
||||||
EFI_MTFTP4_TIMEOUT_CALLBACK TimeoutCallback;
|
EFI_MTFTP4_TIMEOUT_CALLBACK TimeoutCallback;
|
||||||
|
///
|
||||||
|
/// Pointer to the function to provide the needed packet contents.
|
||||||
|
///
|
||||||
EFI_MTFTP4_PACKET_NEEDED PacketNeeded;
|
EFI_MTFTP4_PACKET_NEEDED PacketNeeded;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -81,8 +81,18 @@ typedef enum {
|
||||||
/// *******************************************************
|
/// *******************************************************
|
||||||
///
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// A read operation from system memory by a bus master.
|
||||||
|
///
|
||||||
EfiPciIoOperationBusMasterRead,
|
EfiPciIoOperationBusMasterRead,
|
||||||
|
///
|
||||||
|
/// A write operation from system memory by a bus master.
|
||||||
|
///
|
||||||
EfiPciIoOperationBusMasterWrite,
|
EfiPciIoOperationBusMasterWrite,
|
||||||
|
///
|
||||||
|
/// Provides both read and write access to system memory by both the processor and a
|
||||||
|
/// bus master. The buffer is coherent from both the processor¡¯s and the bus master's point of view.
|
||||||
|
///
|
||||||
EfiPciIoOperationBusMasterCommonBuffer,
|
EfiPciIoOperationBusMasterCommonBuffer,
|
||||||
EfiPciIoOperationMaximum
|
EfiPciIoOperationMaximum
|
||||||
} EFI_PCI_IO_PROTOCOL_OPERATION;
|
} EFI_PCI_IO_PROTOCOL_OPERATION;
|
||||||
|
@ -93,10 +103,25 @@ typedef enum {
|
||||||
/// *******************************************************
|
/// *******************************************************
|
||||||
///
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// Retrieve the PCI controller¡¯s current attributes, and return them in Result.
|
||||||
|
///
|
||||||
EfiPciIoAttributeOperationGet,
|
EfiPciIoAttributeOperationGet,
|
||||||
|
///
|
||||||
|
/// Set the PCI controller¡¯s current attributes to Attributes.
|
||||||
|
///
|
||||||
EfiPciIoAttributeOperationSet,
|
EfiPciIoAttributeOperationSet,
|
||||||
|
///
|
||||||
|
/// Enable the attributes specified by the bits that are set in Attributes for this PCI controller.
|
||||||
|
///
|
||||||
EfiPciIoAttributeOperationEnable,
|
EfiPciIoAttributeOperationEnable,
|
||||||
|
///
|
||||||
|
/// Disable the attributes specified by the bits that are set in Attributes for this PCI controller.
|
||||||
|
///
|
||||||
EfiPciIoAttributeOperationDisable,
|
EfiPciIoAttributeOperationDisable,
|
||||||
|
///
|
||||||
|
/// Retrieve the PCI controller's supported attributes, and return them in Result.
|
||||||
|
///
|
||||||
EfiPciIoAttributeOperationSupported,
|
EfiPciIoAttributeOperationSupported,
|
||||||
EfiPciIoAttributeOperationMaximum
|
EfiPciIoAttributeOperationMaximum
|
||||||
} EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION;
|
} EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION;
|
||||||
|
@ -168,7 +193,13 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Read PCI controller registers in the PCI memory or I/O space.
|
||||||
|
///
|
||||||
EFI_PCI_IO_PROTOCOL_IO_MEM Read;
|
EFI_PCI_IO_PROTOCOL_IO_MEM Read;
|
||||||
|
///
|
||||||
|
/// Write PCI controller registers in the PCI memory or I/O space.
|
||||||
|
///
|
||||||
EFI_PCI_IO_PROTOCOL_IO_MEM Write;
|
EFI_PCI_IO_PROTOCOL_IO_MEM Write;
|
||||||
} EFI_PCI_IO_PROTOCOL_ACCESS;
|
} EFI_PCI_IO_PROTOCOL_ACCESS;
|
||||||
|
|
||||||
|
@ -201,7 +232,13 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Read PCI controller registers in PCI configuration space.
|
||||||
|
///
|
||||||
EFI_PCI_IO_PROTOCOL_CONFIG Read;
|
EFI_PCI_IO_PROTOCOL_CONFIG Read;
|
||||||
|
///
|
||||||
|
/// Write PCI controller registers in PCI configuration space.
|
||||||
|
///
|
||||||
EFI_PCI_IO_PROTOCOL_CONFIG Write;
|
EFI_PCI_IO_PROTOCOL_CONFIG Write;
|
||||||
} EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS;
|
} EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS;
|
||||||
|
|
||||||
|
|
|
@ -169,7 +169,13 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Read PCI controller registers in the PCI root bridge memory space.
|
||||||
|
///
|
||||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_IO_MEM Read;
|
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_IO_MEM Read;
|
||||||
|
///
|
||||||
|
/// Write PCI controller registers in the PCI root bridge memory space.
|
||||||
|
///
|
||||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_IO_MEM Write;
|
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_IO_MEM Write;
|
||||||
} EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS;
|
} EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS;
|
||||||
|
|
||||||
|
|
|
@ -25,24 +25,24 @@
|
||||||
0x245dca21, 0xfb7b, 0x11d3, {0x8f, 0x01, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
|
0x245dca21, 0xfb7b, 0x11d3, {0x8f, 0x01, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
///
|
||||||
// UEFI Revision Number Definition
|
/// UEFI Revision Number Definition
|
||||||
//
|
///
|
||||||
#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION 0x00010000
|
#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION 0x00010000
|
||||||
|
|
||||||
//
|
///
|
||||||
// EFI 1.1 Revision Number defintion
|
/// EFI 1.1 Revision Number defintion
|
||||||
//
|
///
|
||||||
#define EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION \
|
#define EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION \
|
||||||
EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION
|
EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Protocol definition
|
/// UEFI Protocol name
|
||||||
///
|
///
|
||||||
typedef struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL;
|
typedef struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Protocol defined in EFI1.1.
|
/// EFI1.1 Protocol name
|
||||||
///
|
///
|
||||||
typedef EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL EFI_PXE_BASE_CODE_CALLBACK;
|
typedef EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL EFI_PXE_BASE_CODE_CALLBACK;
|
||||||
|
|
||||||
|
|
|
@ -39,16 +39,16 @@ typedef struct _EFI_SCSI_IO_PROTOCOL EFI_SCSI_IO_PROTOCOL;
|
||||||
// SCSI Host Adapter Status definition
|
// SCSI Host Adapter Status definition
|
||||||
//
|
//
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OK 0x00
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OK 0x00
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09 // timeout when processing the command
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09 ///< timeout when processing the command
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT 0x0b // timeout when waiting for the command processing
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT 0x0b ///< timeout when waiting for the command processing
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d // a message reject was received when processing command
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d ///< a message reject was received when processing command
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_RESET 0x0e // a bus reset was detected
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_RESET 0x0e ///< a bus reset was detected
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10 // the adapter failed in issuing request sense command
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10 ///< the adapter failed in issuing request sense command
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11 // selection timeout
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11 ///< selection timeout
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12 // data overrun or data underrun
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12 ///< data overrun or data underrun
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_FREE 0x13 // Unexepected bus free
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_FREE 0x13 ///< Unexepected bus free
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14 // Target bus phase sequence failure
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14 ///< Target bus phase sequence failure
|
||||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OTHER 0x7f
|
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OTHER 0x7f
|
||||||
|
|
||||||
|
|
||||||
|
@ -56,27 +56,80 @@ typedef struct _EFI_SCSI_IO_PROTOCOL EFI_SCSI_IO_PROTOCOL;
|
||||||
// SCSI Target Status definition
|
// SCSI Target Status definition
|
||||||
//
|
//
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00
|
#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02 // check condition
|
#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02 ///< check condition
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04 // condition met
|
#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04 ///< condition met
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08 // busy
|
#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08 ///< busy
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10 // intermediate
|
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10 ///< intermediate
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 // intermediate-condition met
|
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 ///< intermediate-condition met
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18 // reservation conflict
|
#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18 ///< reservation conflict
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22 // command terminated
|
#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22 ///< command terminated
|
||||||
#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28 // queue full
|
#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28 ///< queue full
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The timeout, in 100 ns units, to use for the execution of this SCSI
|
||||||
|
/// Request Packet. A Timeout value of 0 means that this function
|
||||||
|
/// will wait indefinitely for the SCSI Request Packet to execute. If
|
||||||
|
/// Timeout is greater than zero, then this function will return
|
||||||
|
/// EFI_TIMEOUT if the time required to execute the SCSI Request
|
||||||
|
/// Packet is greater than Timeout.
|
||||||
|
///
|
||||||
UINT64 Timeout;
|
UINT64 Timeout;
|
||||||
|
///
|
||||||
|
/// A pointer to the data buffer to transfer between the SCSI
|
||||||
|
/// controller and the SCSI device for SCSI READ command
|
||||||
|
///
|
||||||
VOID *InDataBuffer;
|
VOID *InDataBuffer;
|
||||||
|
///
|
||||||
|
/// A pointer to the data buffer to transfer between the SCSI
|
||||||
|
/// controller and the SCSI device for SCSI WRITE command.
|
||||||
|
///
|
||||||
VOID *OutDataBuffer;
|
VOID *OutDataBuffer;
|
||||||
|
///
|
||||||
|
/// A pointer to the sense data that was generated by the execution of
|
||||||
|
/// the SCSI Request Packet.
|
||||||
|
///
|
||||||
VOID *SenseData;
|
VOID *SenseData;
|
||||||
|
///
|
||||||
|
/// A pointer to buffer that contains the Command Data Block to
|
||||||
|
/// send to the SCSI device.
|
||||||
|
///
|
||||||
VOID *Cdb;
|
VOID *Cdb;
|
||||||
|
///
|
||||||
|
/// On Input, the size, in bytes, of InDataBuffer. On output, the
|
||||||
|
/// number of bytes transferred between the SCSI controller and the SCSI device.
|
||||||
|
///
|
||||||
UINT32 InTransferLength;
|
UINT32 InTransferLength;
|
||||||
|
///
|
||||||
|
/// On Input, the size, in bytes of OutDataBuffer. On Output, the
|
||||||
|
/// Number of bytes transferred between SCSI Controller and the SCSI device.
|
||||||
|
///
|
||||||
UINT32 OutTransferLength;
|
UINT32 OutTransferLength;
|
||||||
|
///
|
||||||
|
/// The length, in bytes, of the buffer Cdb. The standard values are
|
||||||
|
/// 6, 10, 12, and 16, but other values are possible if a variable length CDB is used.
|
||||||
|
///
|
||||||
UINT8 CdbLength;
|
UINT8 CdbLength;
|
||||||
|
///
|
||||||
|
/// The direction of the data transfer. 0 for reads, 1 for writes. A
|
||||||
|
/// value of 2 is Reserved for Bi-Directional SCSI commands.
|
||||||
|
///
|
||||||
UINT8 DataDirection;
|
UINT8 DataDirection;
|
||||||
|
///
|
||||||
|
/// The status of the SCSI Host Controller that produces the SCSI
|
||||||
|
/// bus where the SCSI device attached when the SCSI Request
|
||||||
|
/// Packet was executed on the SCSI Controller.
|
||||||
|
///
|
||||||
UINT8 HostAdapterStatus;
|
UINT8 HostAdapterStatus;
|
||||||
|
///
|
||||||
|
/// The status returned by the SCSI device when the SCSI Request
|
||||||
|
/// Packet was executed.
|
||||||
|
///
|
||||||
UINT8 TargetStatus;
|
UINT8 TargetStatus;
|
||||||
|
///
|
||||||
|
/// On input, the length in bytes of the SenseData buffer. On
|
||||||
|
/// output, the number of bytes written to the SenseData buffer.
|
||||||
|
///
|
||||||
UINT8 SenseDataLength;
|
UINT8 SenseDataLength;
|
||||||
} EFI_SCSI_IO_SCSI_REQUEST_PACKET;
|
} EFI_SCSI_IO_SCSI_REQUEST_PACKET;
|
||||||
|
|
||||||
|
|
|
@ -66,23 +66,85 @@ typedef struct _EFI_SCSI_PASS_THRU_PROTOCOL EFI_SCSI_PASS_THRU_PROTOCOL;
|
||||||
#define EFI_SCSI_STATUS_TARGET_QUEUE_FULL 0x28 // queue full
|
#define EFI_SCSI_STATUS_TARGET_QUEUE_FULL 0x28 // queue full
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The timeout, in 100 ns units, to use for the execution of this SCSI
|
||||||
|
/// Request Packet. A Timeout value of 0 means that this function
|
||||||
|
/// will wait indefinitely for the SCSI Request Packet to execute. If
|
||||||
|
/// Timeout is greater than zero, then this function will return
|
||||||
|
/// EFI_TIMEOUT if the time required to execute the SCSI Request
|
||||||
|
/// Packet is greater than Timeout.
|
||||||
|
///
|
||||||
UINT64 Timeout;
|
UINT64 Timeout;
|
||||||
|
///
|
||||||
|
/// A pointer to the data buffer to transfer between the SCSI
|
||||||
|
/// controller and the SCSI device. Must be aligned to the boundary
|
||||||
|
/// specified in the IoAlign field of the
|
||||||
|
/// EFI_SCSI_PASS_THRU_MODE structure.
|
||||||
|
///
|
||||||
VOID *DataBuffer;
|
VOID *DataBuffer;
|
||||||
|
///
|
||||||
|
/// A pointer to the sense data that was generated by the execution of
|
||||||
|
/// the SCSI Request Packet.
|
||||||
|
///
|
||||||
VOID *SenseData;
|
VOID *SenseData;
|
||||||
|
///
|
||||||
|
/// A pointer to buffer that contains the Command Data Block to
|
||||||
|
/// send to the SCSI device.
|
||||||
|
///
|
||||||
VOID *Cdb;
|
VOID *Cdb;
|
||||||
|
///
|
||||||
|
/// On Input, the size, in bytes, of InDataBuffer. On output, the
|
||||||
|
/// number of bytes transferred between the SCSI controller and the SCSI device.
|
||||||
|
///
|
||||||
UINT32 TransferLength;
|
UINT32 TransferLength;
|
||||||
|
///
|
||||||
|
/// The length, in bytes, of the buffer Cdb. The standard values are
|
||||||
|
/// 6, 10, 12, and 16, but other values are possible if a variable length CDB is used.
|
||||||
|
///
|
||||||
UINT8 CdbLength;
|
UINT8 CdbLength;
|
||||||
|
///
|
||||||
|
/// The direction of the data transfer. 0 for reads, 1 for writes. A
|
||||||
|
/// value of 2 is Reserved for Bi-Directional SCSI commands.
|
||||||
|
///
|
||||||
UINT8 DataDirection;
|
UINT8 DataDirection;
|
||||||
|
///
|
||||||
|
/// The status of the SCSI Host Controller that produces the SCSI
|
||||||
|
/// bus where the SCSI device attached when the SCSI Request
|
||||||
|
/// Packet was executed on the SCSI Controller.
|
||||||
|
///
|
||||||
UINT8 HostAdapterStatus;
|
UINT8 HostAdapterStatus;
|
||||||
|
///
|
||||||
|
/// The status returned by the SCSI device when the SCSI Request
|
||||||
|
/// Packet was executed.
|
||||||
|
///
|
||||||
UINT8 TargetStatus;
|
UINT8 TargetStatus;
|
||||||
|
///
|
||||||
|
/// On input, the length in bytes of the SenseData buffer. On
|
||||||
|
/// output, the number of bytes written to the SenseData buffer.
|
||||||
|
///
|
||||||
UINT8 SenseDataLength;
|
UINT8 SenseDataLength;
|
||||||
} EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET;
|
} EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// A Null-terminated Unicode string that represents the printable name of the SCSI controller.
|
||||||
|
///
|
||||||
CHAR16 *ControllerName;
|
CHAR16 *ControllerName;
|
||||||
|
///
|
||||||
|
/// A Null-terminated Unicode string that represents the printable name of the SCSI channel.
|
||||||
|
///
|
||||||
CHAR16 *ChannelName;
|
CHAR16 *ChannelName;
|
||||||
|
///
|
||||||
|
/// The Target ID of the host adapter on the SCSI channel.
|
||||||
|
///
|
||||||
UINT32 AdapterId;
|
UINT32 AdapterId;
|
||||||
|
///
|
||||||
|
/// Additional information on the attributes of the SCSI channel.
|
||||||
|
///
|
||||||
UINT32 Attributes;
|
UINT32 Attributes;
|
||||||
|
///
|
||||||
|
/// Supplies the alignment requirement for any buffer used in a data transfer.
|
||||||
|
///
|
||||||
UINT32 IoAlign;
|
UINT32 IoAlign;
|
||||||
} EFI_SCSI_PASS_THRU_MODE;
|
} EFI_SCSI_PASS_THRU_MODE;
|
||||||
|
|
||||||
|
|
|
@ -66,23 +66,84 @@ typedef struct _EFI_EXT_SCSI_PASS_THRU_PROTOCOL EFI_EXT_SCSI_PASS_THRU_PROTOCOL;
|
||||||
#define EFI_EXT_SCSI_STATUS_TARGET_TASK_ABORTED 0x40
|
#define EFI_EXT_SCSI_STATUS_TARGET_TASK_ABORTED 0x40
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The Target ID of the host adapter on the SCSI channel.
|
||||||
|
///
|
||||||
UINT32 AdapterId;
|
UINT32 AdapterId;
|
||||||
|
///
|
||||||
|
/// Additional information on the attributes of the SCSI channel.
|
||||||
|
///
|
||||||
UINT32 Attributes;
|
UINT32 Attributes;
|
||||||
|
///
|
||||||
|
/// Supplies the alignment requirement for any buffer used in a data transfer.
|
||||||
|
///
|
||||||
UINT32 IoAlign;
|
UINT32 IoAlign;
|
||||||
} EFI_EXT_SCSI_PASS_THRU_MODE;
|
} EFI_EXT_SCSI_PASS_THRU_MODE;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The timeout, in 100 ns units, to use for the execution of this SCSI
|
||||||
|
/// Request Packet. A Timeout value of 0 means that this function
|
||||||
|
/// will wait indefinitely for the SCSI Request Packet to execute. If
|
||||||
|
/// Timeout is greater than zero, then this function will return
|
||||||
|
/// EFI_TIMEOUT if the time required to execute the SCSI
|
||||||
|
/// Request Packet is greater than Timeout.
|
||||||
|
///
|
||||||
UINT64 Timeout;
|
UINT64 Timeout;
|
||||||
|
///
|
||||||
|
/// A pointer to the data buffer to transfer between the SCSI
|
||||||
|
/// controller and the SCSI device for read and bidirectional commands.
|
||||||
|
///
|
||||||
VOID *InDataBuffer;
|
VOID *InDataBuffer;
|
||||||
|
///
|
||||||
|
/// A pointer to the data buffer to transfer between the SCSI
|
||||||
|
/// controller and the SCSI device for write or bidirectional commands.
|
||||||
|
///
|
||||||
VOID *OutDataBuffer;
|
VOID *OutDataBuffer;
|
||||||
|
///
|
||||||
|
/// A pointer to the sense data that was generated by the execution of
|
||||||
|
/// the SCSI Request Packet.
|
||||||
|
///
|
||||||
VOID *SenseData;
|
VOID *SenseData;
|
||||||
|
///
|
||||||
|
/// A pointer to buffer that contains the Command Data Block to
|
||||||
|
/// send to the SCSI device specified by Target and Lun.
|
||||||
|
///
|
||||||
VOID *Cdb;
|
VOID *Cdb;
|
||||||
|
///
|
||||||
|
/// On Input, the size, in bytes, of InDataBuffer. On output, the
|
||||||
|
/// number of bytes transferred between the SCSI controller and the SCSI device.
|
||||||
|
///
|
||||||
UINT32 InTransferLength;
|
UINT32 InTransferLength;
|
||||||
|
///
|
||||||
|
/// On Input, the size, in bytes of OutDataBuffer. On Output, the
|
||||||
|
/// Number of bytes transferred between SCSI Controller and the SCSI device.
|
||||||
|
///
|
||||||
UINT32 OutTransferLength;
|
UINT32 OutTransferLength;
|
||||||
|
///
|
||||||
|
/// The length, in bytes, of the buffer Cdb. The standard values are 6,
|
||||||
|
/// 10, 12, and 16, but other values are possible if a variable length CDB is used.
|
||||||
|
///
|
||||||
UINT8 CdbLength;
|
UINT8 CdbLength;
|
||||||
|
///
|
||||||
|
/// The direction of the data transfer. 0 for reads, 1 for writes. A
|
||||||
|
/// value of 2 is Reserved for Bi-Directional SCSI commands.
|
||||||
|
///
|
||||||
UINT8 DataDirection;
|
UINT8 DataDirection;
|
||||||
|
///
|
||||||
|
/// The status of the host adapter specified by This when the SCSI
|
||||||
|
/// Request Packet was executed on the target device.
|
||||||
|
///
|
||||||
UINT8 HostAdapterStatus;
|
UINT8 HostAdapterStatus;
|
||||||
|
///
|
||||||
|
/// The status returned by the device specified by Target and Lun
|
||||||
|
/// when the SCSI Request Packet was executed.
|
||||||
|
///
|
||||||
UINT8 TargetStatus;
|
UINT8 TargetStatus;
|
||||||
|
///
|
||||||
|
/// On input, the length in bytes of the SenseData buffer. On
|
||||||
|
/// output, the number of bytes written to the SenseData buffer.
|
||||||
|
///
|
||||||
UINT8 SenseDataLength;
|
UINT8 SenseDataLength;
|
||||||
} EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET;
|
} EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET;
|
||||||
|
|
||||||
|
|
|
@ -31,14 +31,13 @@ typedef struct _EFI_SIMPLE_FILE_SYSTEM_PROTOCOL EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
|
||||||
typedef struct _EFI_FILE_PROTOCOL EFI_FILE_PROTOCOL;
|
typedef struct _EFI_FILE_PROTOCOL EFI_FILE_PROTOCOL;
|
||||||
typedef struct _EFI_FILE_PROTOCOL *EFI_FILE_HANDLE;
|
typedef struct _EFI_FILE_PROTOCOL *EFI_FILE_HANDLE;
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Protocol GUID defined in EFI1.1.
|
/// Protocol GUID name defined in EFI1.1.
|
||||||
///
|
///
|
||||||
#define SIMPLE_FILE_SYSTEM_PROTOCOL EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
|
#define SIMPLE_FILE_SYSTEM_PROTOCOL EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Protocol defined in EFI1.1.
|
/// Protocol name defined in EFI1.1.
|
||||||
///
|
///
|
||||||
typedef EFI_SIMPLE_FILE_SYSTEM_PROTOCOL EFI_FILE_IO_INTERFACE;
|
typedef EFI_SIMPLE_FILE_SYSTEM_PROTOCOL EFI_FILE_IO_INTERFACE;
|
||||||
typedef struct _EFI_FILE_PROTOCOL EFI_FILE;
|
typedef struct _EFI_FILE_PROTOCOL EFI_FILE;
|
||||||
|
@ -66,12 +65,18 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000
|
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Revision defined in EFI1.1
|
/// Revision defined in EFI1.1
|
||||||
///
|
///
|
||||||
#define EFI_FILE_IO_INTERFACE_REVISION EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION
|
#define EFI_FILE_IO_INTERFACE_REVISION EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION
|
||||||
|
|
||||||
struct _EFI_SIMPLE_FILE_SYSTEM_PROTOCOL {
|
struct _EFI_SIMPLE_FILE_SYSTEM_PROTOCOL {
|
||||||
|
///
|
||||||
|
/// The version of the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL. The version
|
||||||
|
/// specified by this specification is 0x00010000. All future revisions
|
||||||
|
/// must be backwards compatible.
|
||||||
|
///
|
||||||
UINT64 Revision;
|
UINT64 Revision;
|
||||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME OpenVolume;
|
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME OpenVolume;
|
||||||
};
|
};
|
||||||
|
|
|
@ -144,24 +144,84 @@ typedef enum {
|
||||||
|
|
||||||
#define MAX_MCAST_FILTER_CNT 16
|
#define MAX_MCAST_FILTER_CNT 16
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Reports the current state of the network interface.
|
||||||
|
///
|
||||||
UINT32 State;
|
UINT32 State;
|
||||||
|
///
|
||||||
|
/// The size, in bytes, of the network interface's HW address.
|
||||||
|
///
|
||||||
UINT32 HwAddressSize;
|
UINT32 HwAddressSize;
|
||||||
|
///
|
||||||
|
/// The size, in bytes, of the network interface's media header.
|
||||||
|
///
|
||||||
UINT32 MediaHeaderSize;
|
UINT32 MediaHeaderSize;
|
||||||
|
///
|
||||||
|
/// The maximum size, in bytes, of the packets supported by the network interface.
|
||||||
|
///
|
||||||
UINT32 MaxPacketSize;
|
UINT32 MaxPacketSize;
|
||||||
|
///
|
||||||
|
/// The size, in bytes, of the NVRAM device attached to the network interface.
|
||||||
|
///
|
||||||
UINT32 NvRamSize;
|
UINT32 NvRamSize;
|
||||||
|
///
|
||||||
|
/// The size that must be used for all NVRAM reads and writes. The
|
||||||
|
/// start address for NVRAM read and write operations and the total
|
||||||
|
/// length of those operations, must be a multiple of this value. The
|
||||||
|
/// legal values for this field are 0, 1, 2, 4, and 8.
|
||||||
|
///
|
||||||
UINT32 NvRamAccessSize;
|
UINT32 NvRamAccessSize;
|
||||||
|
///
|
||||||
|
/// The multicast receive filter settings supported by the network interface.
|
||||||
|
///
|
||||||
UINT32 ReceiveFilterMask;
|
UINT32 ReceiveFilterMask;
|
||||||
|
///
|
||||||
|
/// The current multicast receive filter settings.
|
||||||
|
///
|
||||||
UINT32 ReceiveFilterSetting;
|
UINT32 ReceiveFilterSetting;
|
||||||
|
///
|
||||||
|
/// The maximum number of multicast address receive filters supported by the driver.
|
||||||
|
///
|
||||||
UINT32 MaxMCastFilterCount;
|
UINT32 MaxMCastFilterCount;
|
||||||
|
///
|
||||||
|
/// The current number of multicast address receive filters.
|
||||||
|
///
|
||||||
UINT32 MCastFilterCount;
|
UINT32 MCastFilterCount;
|
||||||
|
///
|
||||||
|
/// Array containing the addresses of the current multicast address receive filters.
|
||||||
|
///
|
||||||
EFI_MAC_ADDRESS MCastFilter[MAX_MCAST_FILTER_CNT];
|
EFI_MAC_ADDRESS MCastFilter[MAX_MCAST_FILTER_CNT];
|
||||||
|
///
|
||||||
|
/// The current HW MAC address for the network interface.
|
||||||
|
///
|
||||||
EFI_MAC_ADDRESS CurrentAddress;
|
EFI_MAC_ADDRESS CurrentAddress;
|
||||||
|
///
|
||||||
|
/// The current HW MAC address for broadcast packets.
|
||||||
|
///
|
||||||
EFI_MAC_ADDRESS BroadcastAddress;
|
EFI_MAC_ADDRESS BroadcastAddress;
|
||||||
|
///
|
||||||
|
/// The permanent HW MAC address for the network interface.
|
||||||
|
///
|
||||||
EFI_MAC_ADDRESS PermanentAddress;
|
EFI_MAC_ADDRESS PermanentAddress;
|
||||||
|
///
|
||||||
|
/// The interface type of the network interface.
|
||||||
|
///
|
||||||
UINT8 IfType;
|
UINT8 IfType;
|
||||||
|
///
|
||||||
|
/// TRUE if the HW MAC address can be changed.
|
||||||
|
///
|
||||||
BOOLEAN MacAddressChangeable;
|
BOOLEAN MacAddressChangeable;
|
||||||
|
///
|
||||||
|
/// TRUE if the network interface can transmit more than one packet at a time.
|
||||||
|
///
|
||||||
BOOLEAN MultipleTxSupported;
|
BOOLEAN MultipleTxSupported;
|
||||||
|
///
|
||||||
|
/// TRUE if the presence of media can be determined; otherwise FALSE.
|
||||||
|
///
|
||||||
BOOLEAN MediaPresentSupported;
|
BOOLEAN MediaPresentSupported;
|
||||||
|
///
|
||||||
|
/// TRUE if media are connected to the network interface; otherwise FALSE.
|
||||||
|
///
|
||||||
BOOLEAN MediaPresent;
|
BOOLEAN MediaPresent;
|
||||||
} EFI_SIMPLE_NETWORK_MODE;
|
} EFI_SIMPLE_NETWORK_MODE;
|
||||||
|
|
||||||
|
|
|
@ -28,18 +28,53 @@ typedef struct _EFI_SIMPLE_POINTER_PROTOCOL EFI_SIMPLE_POINTER_PROTOCOL;
|
||||||
// Data structures
|
// Data structures
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The signed distance in counts that the pointer device has been moved along the x-axis.
|
||||||
|
///
|
||||||
INT32 RelativeMovementX;
|
INT32 RelativeMovementX;
|
||||||
|
///
|
||||||
|
/// The signed distance in counts that the pointer device has been moved along the y-axis.
|
||||||
|
///
|
||||||
INT32 RelativeMovementY;
|
INT32 RelativeMovementY;
|
||||||
|
///
|
||||||
|
/// The signed distance in counts that the pointer device has been moved along the z-axis.
|
||||||
|
///
|
||||||
INT32 RelativeMovementZ;
|
INT32 RelativeMovementZ;
|
||||||
|
///
|
||||||
|
/// If TRUE, then the left button of the pointer device is being
|
||||||
|
/// pressed. If FALSE, then the left button of the pointer device is not being pressed.
|
||||||
|
///
|
||||||
BOOLEAN LeftButton;
|
BOOLEAN LeftButton;
|
||||||
|
///
|
||||||
|
/// If TRUE, then the right button of the pointer device is being
|
||||||
|
/// pressed. If FALSE, then the right button of the pointer device is not being pressed.
|
||||||
|
///
|
||||||
BOOLEAN RightButton;
|
BOOLEAN RightButton;
|
||||||
} EFI_SIMPLE_POINTER_STATE;
|
} EFI_SIMPLE_POINTER_STATE;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The resolution of the pointer device on the x-axis in counts/mm.
|
||||||
|
/// If 0, then the pointer device does not support an x-axis.
|
||||||
|
///
|
||||||
UINT64 ResolutionX;
|
UINT64 ResolutionX;
|
||||||
|
///
|
||||||
|
/// The resolution of the pointer device on the y-axis in counts/mm.
|
||||||
|
/// If 0, then the pointer device does not support an x-axis.
|
||||||
|
///
|
||||||
UINT64 ResolutionY;
|
UINT64 ResolutionY;
|
||||||
|
///
|
||||||
|
/// The resolution of the pointer device on the z-axis in counts/mm.
|
||||||
|
/// If 0, then the pointer device does not support an x-axis.
|
||||||
|
///
|
||||||
UINT64 ResolutionZ;
|
UINT64 ResolutionZ;
|
||||||
|
///
|
||||||
|
/// TRUE if a left button is present on the pointer device. Otherwise FALSE.
|
||||||
|
///
|
||||||
BOOLEAN LeftButton;
|
BOOLEAN LeftButton;
|
||||||
|
///
|
||||||
|
/// TRUE if a right button is present on the pointer device. Otherwise FALSE.
|
||||||
|
///
|
||||||
BOOLEAN RightButton;
|
BOOLEAN RightButton;
|
||||||
} EFI_SIMPLE_POINTER_MODE;
|
} EFI_SIMPLE_POINTER_MODE;
|
||||||
|
|
||||||
|
|
|
@ -25,20 +25,21 @@
|
||||||
0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
|
0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
|
||||||
/// Protocol GUID defined in EFI1.1.
|
|
||||||
///
|
|
||||||
#define SIMPLE_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID
|
|
||||||
|
|
||||||
typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
|
typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Backward-compatible with EFI1.1.
|
/// Protocol GUID name defined in EFI1.1.
|
||||||
|
///
|
||||||
|
#define SIMPLE_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Protocol name in EFI1.1 for backward-compatible.
|
||||||
///
|
///
|
||||||
typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL SIMPLE_INPUT_INTERFACE;
|
typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL SIMPLE_INPUT_INTERFACE;
|
||||||
//
|
|
||||||
// Data structures
|
///
|
||||||
//
|
/// The keystroke information for the key that was pressed.
|
||||||
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT16 ScanCode;
|
UINT16 ScanCode;
|
||||||
CHAR16 UnicodeChar;
|
CHAR16 UnicodeChar;
|
||||||
|
|
|
@ -60,42 +60,38 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
//
|
///
|
||||||
// EFI_KEY_TOGGLE_STATE
|
/// EFI_KEY_TOGGLE_STATE. The toggle state are defined.
|
||||||
//
|
/// They are EFI_TOGGLE_STATE_VALID, EFI_SCROLL_LOCK_ACTIVE
|
||||||
|
/// EFI_NUM_LOCK_ACTIVE, EFI_CAPS_LOCK_ACTIVE
|
||||||
|
///
|
||||||
typedef UINT8 EFI_KEY_TOGGLE_STATE;
|
typedef UINT8 EFI_KEY_TOGGLE_STATE;
|
||||||
|
|
||||||
/**
|
|
||||||
Definition of EFI_KEY_STATE
|
|
||||||
|
|
||||||
@param KeyShiftState Reflects the currently pressed shift
|
|
||||||
modifiers for the input device. The
|
|
||||||
returned value is valid only if the high
|
|
||||||
order bit has been set.
|
|
||||||
|
|
||||||
@param KeyToggleState Reflects the current internal state of
|
|
||||||
various toggled attributes. The returned
|
|
||||||
value is valid only if the high order
|
|
||||||
bit has been set.
|
|
||||||
|
|
||||||
**/
|
|
||||||
typedef struct _EFI_KEY_STATE {
|
typedef struct _EFI_KEY_STATE {
|
||||||
|
///
|
||||||
|
/// Reflects the currently pressed shift
|
||||||
|
/// modifiers for the input device. The
|
||||||
|
/// returned value is valid only if the high
|
||||||
|
/// order bit has been set.
|
||||||
|
///
|
||||||
UINT32 KeyShiftState;
|
UINT32 KeyShiftState;
|
||||||
|
///
|
||||||
|
/// Reflects the current internal state of
|
||||||
|
/// various toggled attributes. The returned
|
||||||
|
/// value is valid only if the high order
|
||||||
|
/// bit has been set.
|
||||||
|
///
|
||||||
EFI_KEY_TOGGLE_STATE KeyToggleState;
|
EFI_KEY_TOGGLE_STATE KeyToggleState;
|
||||||
} EFI_KEY_STATE;
|
} EFI_KEY_STATE;
|
||||||
|
|
||||||
/**
|
|
||||||
Definition of EFI_KEY_DATA.
|
|
||||||
|
|
||||||
@param Key The EFI scan code and Unicode value returned from
|
|
||||||
the input device.
|
|
||||||
|
|
||||||
@param KeyState The current state of various toggled
|
|
||||||
attributes as well as input modifier values.
|
|
||||||
|
|
||||||
**/
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// The EFI scan code and Unicode value returned from the input device.
|
||||||
|
///
|
||||||
EFI_INPUT_KEY Key;
|
EFI_INPUT_KEY Key;
|
||||||
|
///
|
||||||
|
/// The current state of various toggled attributes as well as input modifier values.
|
||||||
|
///
|
||||||
EFI_KEY_STATE KeyState;
|
EFI_KEY_STATE KeyState;
|
||||||
} EFI_KEY_DATA;
|
} EFI_KEY_DATA;
|
||||||
|
|
||||||
|
@ -234,9 +230,9 @@ EFI_STATUS
|
||||||
IN EFI_KEY_TOGGLE_STATE *KeyToggleState
|
IN EFI_KEY_TOGGLE_STATE *KeyToggleState
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
///
|
||||||
// EFI_KEY_NOTIFY
|
/// The function will be called when the key sequence is typed specified by KeyData.
|
||||||
//
|
///
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
|
(EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#ifndef __SMBUS_HC_H__
|
#ifndef __SMBUS_HC_H__
|
||||||
#define __SMBUS_HC_H__
|
#define __SMBUS_HC_H__
|
||||||
|
|
||||||
#include <Ppi/Smbus2.h>
|
#include <IndustryStandard/SmBus.h>
|
||||||
|
|
||||||
#define EFI_SMBUS_HC_PROTOCOL_GUID \
|
#define EFI_SMBUS_HC_PROTOCOL_GUID \
|
||||||
{0xe49d33ed, 0x513d, 0x4634, { 0xb6, 0x98, 0x6f, 0x55, 0xaa, 0x75, 0x1c, 0x1b} }
|
{0xe49d33ed, 0x513d, 0x4634, { 0xb6, 0x98, 0x6f, 0x55, 0xaa, 0x75, 0x1c, 0x1b} }
|
||||||
|
|
|
@ -23,9 +23,6 @@
|
||||||
|
|
||||||
typedef struct _EFI_TCG_PROTOCOL EFI_TCG_PROTOCOL;
|
typedef struct _EFI_TCG_PROTOCOL EFI_TCG_PROTOCOL;
|
||||||
|
|
||||||
//
|
|
||||||
// Set structure alignment to 1-byte
|
|
||||||
//
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT8 Major;
|
UINT8 Major;
|
||||||
UINT8 Minor;
|
UINT8 Minor;
|
||||||
|
@ -34,13 +31,13 @@ typedef struct {
|
||||||
} TCG_VERSION;
|
} TCG_VERSION;
|
||||||
|
|
||||||
typedef struct _TCG_EFI_BOOT_SERVICE_CAPABILITY {
|
typedef struct _TCG_EFI_BOOT_SERVICE_CAPABILITY {
|
||||||
UINT8 Size; // Size of this structure
|
UINT8 Size; /// Size of this structure
|
||||||
TCG_VERSION StructureVersion;
|
TCG_VERSION StructureVersion;
|
||||||
TCG_VERSION ProtocolSpecVersion;
|
TCG_VERSION ProtocolSpecVersion;
|
||||||
UINT8 HashAlgorithmBitmap; // Hash algorithms
|
UINT8 HashAlgorithmBitmap; /// Hash algorithms
|
||||||
// this protocol is capable of : 01=SHA-1
|
/// this protocol is capable of : 01=SHA-1
|
||||||
BOOLEAN TPMPresentFlag; // 00h = TPM not present
|
BOOLEAN TPMPresentFlag; /// 00h = TPM not present
|
||||||
BOOLEAN TPMDeactivatedFlag; // 01h = TPM currently deactivated
|
BOOLEAN TPMDeactivatedFlag; /// 01h = TPM currently deactivated
|
||||||
} TCG_EFI_BOOT_SERVICE_CAPABILITY;
|
} TCG_EFI_BOOT_SERVICE_CAPABILITY;
|
||||||
|
|
||||||
typedef UINT32 TCG_ALGORITHM_ID;
|
typedef UINT32 TCG_ALGORITHM_ID;
|
||||||
|
|
|
@ -33,8 +33,8 @@ typedef struct _EFI_USB2_HC_PROTOCOL EFI_USB2_HC_PROTOCOL;
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT16 PortStatus; /// Contains current port status bitmap.
|
UINT16 PortStatus; ///< Contains current port status bitmap.
|
||||||
UINT16 PortChangeStatus; /// Contains current port status change bitmap.
|
UINT16 PortChangeStatus; ///< Contains current port status change bitmap.
|
||||||
} EFI_USB_PORT_STATUS;
|
} EFI_USB_PORT_STATUS;
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -78,13 +78,13 @@ typedef enum {
|
||||||
EfiUsbPortResetChange = 20
|
EfiUsbPortResetChange = 20
|
||||||
} EFI_USB_PORT_FEATURE;
|
} EFI_USB_PORT_FEATURE;
|
||||||
|
|
||||||
#define EFI_USB_SPEED_FULL 0x0000 /// 12 Mb/s, USB 1.1 OHCI and UHCI HC.
|
#define EFI_USB_SPEED_FULL 0x0000 ///< 12 Mb/s, USB 1.1 OHCI and UHCI HC.
|
||||||
#define EFI_USB_SPEED_LOW 0x0001 /// 1 Mb/s, USB 1.1 OHCI and UHCI HC.
|
#define EFI_USB_SPEED_LOW 0x0001 ///< 1 Mb/s, USB 1.1 OHCI and UHCI HC.
|
||||||
#define EFI_USB_SPEED_HIGH 0x0002 /// 480 Mb/s, USB 2.0 EHCI HC.
|
#define EFI_USB_SPEED_HIGH 0x0002 ///< 480 Mb/s, USB 2.0 EHCI HC.
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT8 TranslatorHubAddress; /// device address
|
UINT8 TranslatorHubAddress; ///< device address
|
||||||
UINT8 TranslatorPortNumber; /// the port number of the hub that device is connected to.
|
UINT8 TranslatorPortNumber; ///< the port number of the hub that device is connected to.
|
||||||
} EFI_USB2_HC_TRANSACTION_TRANSLATOR;
|
} EFI_USB2_HC_TRANSACTION_TRANSLATOR;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -44,9 +44,9 @@ typedef USB_CONFIG_DESCRIPTOR EFI_USB_CONFIG_DESCRIPTOR;
|
||||||
typedef USB_INTERFACE_DESCRIPTOR EFI_USB_INTERFACE_DESCRIPTOR;
|
typedef USB_INTERFACE_DESCRIPTOR EFI_USB_INTERFACE_DESCRIPTOR;
|
||||||
typedef USB_ENDPOINT_DESCRIPTOR EFI_USB_ENDPOINT_DESCRIPTOR;
|
typedef USB_ENDPOINT_DESCRIPTOR EFI_USB_ENDPOINT_DESCRIPTOR;
|
||||||
|
|
||||||
//
|
///
|
||||||
// USB data transfer direction
|
/// USB data transfer direction
|
||||||
//
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
EfiUsbDataIn,
|
EfiUsbDataIn,
|
||||||
EfiUsbDataOut,
|
EfiUsbDataOut,
|
||||||
|
|
|
@ -58,10 +58,8 @@
|
||||||
#pragma pack (1)
|
#pragma pack (1)
|
||||||
|
|
||||||
typedef UINT32 TCG_EVENTTYPE;
|
typedef UINT32 TCG_EVENTTYPE;
|
||||||
|
typedef TPM_PCRINDEX TCG_PCRINDEX;
|
||||||
#define TCG_DIGEST TPM_DIGEST
|
typedef TPM_DIGEST TCG_DIGEST;
|
||||||
#define TCG_PCRINDEX TPM_PCRINDEX
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Event Log Entry Structure Definition
|
/// Event Log Entry Structure Definition
|
||||||
///
|
///
|
||||||
|
|
Loading…
Reference in New Issue