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:
lgao4 2008-12-09 14:04:41 +00:00
parent d0a915a5ad
commit 992f22b99a
30 changed files with 1489 additions and 966 deletions

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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.
/// ///

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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.

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;
}; };

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;
}; };

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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)(

View File

@ -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} }

View File

@ -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;

View File

@ -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;
// //

View File

@ -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,

View File

@ -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
/// ///