@par Protocol Description:\r
Provides a decompression service.\r
\r
- @param GetInfo\r
- Given the compressed source buffer, this function retrieves the\r
- size of the uncompressed destination buffer and the size of the\r
- scratch buffer required to perform the decompression. It is the\r
- caller's responsibility to allocate the destination buffer and the\r
- scratch buffer prior to calling EFI_DECOMPRESS_PROTOCOL.Decompress().\r
-\r
- @param Decompresss\r
- Decompresses a compressed source buffer into an uncompressed\r
- destination buffer. It is the caller's responsibility to allocate the\r
- destination buffer and a scratch buffer prior to making this call.\r
**/ \r
struct _EFI_DECOMPRESS_PROTOCOL {\r
EFI_DECOMPRESS_GET_INFO GetInfo;\r
@par Protocol Description:\r
This protocol provides the basic Memory, I/O, and PCI interfaces that \r
are used to abstract accesses to devices.\r
-\r
- @param Mem \r
- Allows reads and writes to memory mapped I/O space.\r
-\r
- @param Io \r
- Allows reads and writes to I/O space.\r
-\r
- @param Pci \r
- Allows reads and writes to PCI configuration space.\r
-\r
- @param Map \r
- Provides the device specific addresses needed to access system memory for DMA. \r
-\r
- @param PciDevicePath \r
- Provides an EFI Device Path for a PCI device with the given PCI\r
- configuration space address.\r
-\r
- @param Unmap \r
- Releases any resources allocated by Map(). \r
-\r
- @param AllocateBuffer \r
- Allocates pages that are suitable for a common buffer mapping. \r
-\r
- @param Flush \r
- Flushes any posted write data to the device. \r
-\r
- @param FreeBuffer \r
- Free pages that were allocated with AllocateBuffer(). \r
-\r
**/ \r
struct _EFI_DEVICE_IO_PROTOCOL {\r
+ ///\r
+ /// Allows reads and writes to memory mapped I/O space.\r
+ ///\r
EFI_IO_ACCESS Mem;\r
+ ///\r
+ /// Allows reads and writes to I/O space.\r
+ ///\r
EFI_IO_ACCESS Io;\r
+ ///\r
+ /// Allows reads and writes to PCI configuration space.\r
+ ///\r
EFI_IO_ACCESS Pci;\r
EFI_IO_MAP Map;\r
EFI_PCI_DEVICE_PATH PciDevicePath;\r
/**\r
@par Protocol Description:\r
This protocol converts text to device paths and device nodes.\r
-\r
- @param ConvertTextToDeviceNode\r
- Convert text to a device node.\r
- \r
- @param ConvertTextToDevicePath\r
- Convert text to a device path\r
- \r
**/ \r
typedef struct {\r
EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;\r
/**\r
@par Protocol Description:\r
This protocol converts device paths and device nodes to text.\r
-\r
- @param ConvertTextToDeviceNode\r
- Convert the device node to text.\r
- \r
- @param ConvertTextToDevicePath\r
- Convert the device path to text.\r
- \r
**/\r
typedef struct {\r
EFI_DEVICE_PATH_TO_TEXT_NODE ConvertDeviceNodeToText;\r
/**\r
@par Protocol Description:\r
This protocol is used to creates and manipulates device paths and device nodes.\r
-\r
- @param GetDevicePathSize \r
- Returns the size of the specified device path, in bytes.\r
-\r
- @param DuplicateDevicePath\r
- Duplicates a device path structure.\r
- \r
- @param AppendDeviceNode \r
- Appends the device node to the specified device path.\r
-\r
- @param AppendDevicePath \r
- Appends the device path to the specified device path.\r
-\r
- @param AppendDevicePathInstance\r
- Appends a device path instance to another device path.\r
-\r
- @param GetNextDevicePathInstance\r
- Retrieves the next device path instance from a device path data structure.\r
-\r
- @param IsDevicePathMultiInstance\r
- Returns TRUE if this is a multi-instance device path.\r
-\r
- @param CreateDeviceNode \r
- Allocates memory for a device node with the specified type and sub-type.\r
**/ \r
typedef struct {\r
EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;\r
UINT32 Xid;\r
UINT16 Seconds;\r
UINT16 Reserved;\r
- EFI_IPv4_ADDRESS ClientAddr; //Client IP address from client\r
- EFI_IPv4_ADDRESS YourAddr; //Client IP address from server\r
- EFI_IPv4_ADDRESS ServerAddr; //IP address of next server in bootstrap\r
- EFI_IPv4_ADDRESS GatewayAddr; //Relay agent IP address\r
- UINT8 ClientHwAddr[16]; //Client hardware address\r
+ EFI_IPv4_ADDRESS ClientAddr; ///< Client IP address from client\r
+ EFI_IPv4_ADDRESS YourAddr; ///< Client IP address from server\r
+ EFI_IPv4_ADDRESS ServerAddr; ///< IP address of next server in bootstrap\r
+ EFI_IPv4_ADDRESS GatewayAddr; ///< Relay agent IP address\r
+ UINT8 ClientHwAddr[16]; ///< Client hardware address\r
CHAR8 ServerName[64];\r
CHAR8 BootFileName[128];\r
}EFI_DHCP4_HEADER;\r
@par Protocol Description:\r
This protocol is used to collect configuration information for the EFI IPv4 Protocol drivers\r
and to provide DHCPv4 server and PXE boot server discovery services.\r
-\r
- @param GetModeData \r
- Gets the EFI DHCPv4 Protocol driver status and operational data.\r
-\r
- @param Configure \r
- Initializes, changes, or resets operational settings for the EFI\r
- DHCPv4 Protocol driver.\r
- \r
- @param Start\r
- Starts the DHCP configuration process. \r
- \r
- @param RenewRebind \r
- Tries to manually extend the lease time by sending a request packet.\r
-\r
- @param Release \r
- Releases the current configuration and returns the EFI DHCPv4\r
- Protocol driver to the initial state.\r
- \r
- @param Stop\r
- Stops the DHCP configuration process no matter what state the\r
- driver is in. After being stopped, this driver will not automatically\r
- communicate with the DHCP server.\r
- \r
- @param Build \r
- Puts together a DHCP or PXE packet. \r
- \r
- @param TransmitReceive \r
- Transmits a DHCP or PXE packet and waits for response packets.\r
-\r
- @param Parse \r
- Parses the packed DHCP or PXE option data. \r
**/\r
struct _EFI_DHCP4_PROTOCOL {\r
EFI_DHCP4_GET_MODE_DATA GetModeData;\r
/**\r
@par Protocol Description:\r
This protocol is used to abstract Block I/O interfaces.\r
-\r
- @param Revision \r
- The revision to which the disk I/O interface adheres. All future\r
- revisions must be backwards compatible. If a future version is not\r
- backwards compatible, it is not the same GUID.\r
-\r
- @param ReadDisk \r
- Reads data from the disk.\r
- \r
- @param WriteDisk \r
- Writes data to the disk.\r
-\r
**/\r
struct _EFI_DISK_IO_PROTOCOL {\r
+ ///\r
+ /// The revision to which the disk I/O interface adheres. All future\r
+ /// revisions must be backwards compatible. If a future version is not\r
+ /// backwards compatible, it is not the same GUID.\r
+ ///\r
UINT64 Revision;\r
EFI_DISK_READ ReadDisk;\r
EFI_DISK_WRITE WriteDisk;\r
typedef struct _EFI_DRIVER_BINDING_PROTOCOL EFI_DRIVER_BINDING_PROTOCOL;\r
\r
/**\r
- Test to see if this driver supports ControllerHandle. \r
+ Test to see if this driver supports ControllerHandle. This service\r
+ is called by the EFI boot service ConnectController(). In\r
+ order to make drivers as small as possible, there are a few calling\r
+ restrictions for this service. ConnectController() must\r
+ follow these calling restrictions. If any other agent wishes to call\r
+ Supported() it must also follow these calling restrictions.\r
\r
@param This Protocol instance pointer.\r
@param ControllerHandle Handle of device to test\r
);\r
\r
/**\r
- Start this driver on ControllerHandle.\r
+ Start this driver on ControllerHandle. This service is called by the\r
+ EFI boot service ConnectController(). In order to make\r
+ drivers as small as possible, there are a few calling restrictions for\r
+ this service. ConnectController() must follow these\r
+ calling restrictions. If any other agent wishes to call Start() it\r
+ must also follow these calling restrictions.\r
\r
@param This Protocol instance pointer.\r
@param ControllerHandle Handle of device to bind driver to\r
);\r
\r
/**\r
- Stop this driver on ControllerHandle.\r
-\r
+ Stop this driver on ControllerHandle. This service is called by the\r
+ EFI boot service DisconnectController(). In order to\r
+ make drivers as small as possible, there are a few calling\r
+ restrictions for this service. DisconnectController()\r
+ must follow these calling restrictions. If any other agent wishes\r
+ to call Stop() it must also follow these calling restrictions.\r
+ \r
@param This Protocol instance pointer.\r
@param ControllerHandle Handle of device to stop driver on\r
@param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of\r
@par Protocol Description:\r
This protocol provides the services required to determine if a driver supports a given controller. \r
If a controller is supported, then it also provides routines to start and stop the controller.\r
- \r
- @param Supported \r
- Tests to see if this driver supports a given controller. This service\r
- is called by the EFI boot service ConnectController(). In\r
- order to make drivers as small as possible, there are a few calling\r
- restrictions for this service. ConnectController() must\r
- follow these calling restrictions. If any other agent wishes to call\r
- Supported() it must also follow these calling restrictions.\r
-\r
-\r
- @param Start \r
- Starts a controller using this driver. This service is called by the\r
- EFI boot service ConnectController(). In order to make\r
- drivers as small as possible, there are a few calling restrictions for\r
- this service. ConnectController() must follow these\r
- calling restrictions. If any other agent wishes to call Start() it\r
- must also follow these calling restrictions. \r
- \r
- @param Stop \r
- Stops a controller using this driver. This service is called by the\r
- EFI boot service DisconnectController(). In order to\r
- make drivers as small as possible, there are a few calling\r
- restrictions for this service. DisconnectController()\r
- must follow these calling restrictions. If any other agent wishes\r
- to call Stop() it must also follow these calling restrictions.\r
- \r
- @param Version \r
- The version number of the UEFI driver that produced the\r
- EFI_DRIVER_BINDING_PROTOCOL. This field is used by\r
- the EFI boot service ConnectController() to determine\r
- the order that driver's Supported() service will be used when\r
- a controller needs to be started. EFI Driver Binding Protocol\r
- instances with higher Version values will be used before ones\r
- with lower Version values. The Version values of 0x0-\r
- 0x0f and 0xfffffff0-0xffffffff are reserved for\r
- platform/OEM specific drivers. The Version values of 0x10-\r
- 0xffffffef are reserved for IHV-developed drivers.\r
- \r
- @param ImageHandle \r
- The image handle of the UEFI driver that produced this instance\r
- of the EFI_DRIVER_BINDING_PROTOCOL.\r
- \r
- @param DriverBindingHandle\r
- The handle on which this instance of the\r
- EFI_DRIVER_BINDING_PROTOCOL is installed. In most\r
- cases, this is the same handle as ImageHandle. However, for\r
- UEFI drivers that produce more than one instance of the\r
- EFI_DRIVER_BINDING_PROTOCOL, this value may not be\r
- the same as ImageHandle.\r
-\r
**/\r
struct _EFI_DRIVER_BINDING_PROTOCOL {\r
EFI_DRIVER_BINDING_SUPPORTED Supported;\r
EFI_DRIVER_BINDING_START Start;\r
EFI_DRIVER_BINDING_STOP Stop;\r
+ \r
+ ///\r
+ /// The version number of the UEFI driver that produced the\r
+ /// EFI_DRIVER_BINDING_PROTOCOL. This field is used by\r
+ /// the EFI boot service ConnectController() to determine\r
+ /// the order that driver's Supported() service will be used when\r
+ /// a controller needs to be started. EFI Driver Binding Protocol\r
+ /// instances with higher Version values will be used before ones\r
+ /// with lower Version values. The Version values of 0x0-\r
+ /// 0x0f and 0xfffffff0-0xffffffff are reserved for\r
+ /// platform/OEM specific drivers. The Version values of 0x10-\r
+ /// 0xffffffef are reserved for IHV-developed drivers.\r
+ ///\r
UINT32 Version;\r
+ \r
+ ///\r
+ /// The image handle of the UEFI driver that produced this instance\r
+ /// of the EFI_DRIVER_BINDING_PROTOCOL.\r
+ ///\r
EFI_HANDLE ImageHandle;\r
+ \r
+ ///\r
+ /// The handle on which this instance of the\r
+ /// EFI_DRIVER_BINDING_PROTOCOL is installed. In most\r
+ /// cases, this is the same handle as ImageHandle. However, for\r
+ /// UEFI drivers that produce more than one instance of the\r
+ /// EFI_DRIVER_BINDING_PROTOCOL, this value may not be\r
+ /// the same as ImageHandle. \r
+ ///\r
EFI_HANDLE DriverBindingHandle;\r
};\r
\r
{ \\r
0x107a772b, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \\r
}\r
-\r
\r
typedef struct _EFI_DRIVER_CONFIGURATION_PROTOCOL EFI_DRIVER_CONFIGURATION_PROTOCOL;\r
\r
@par Protocol Description: \r
Used to set configuration options for a controller that an EFI Driver is managing.\r
\r
- @param SetOptions Allows the use to set drivers specific configuration \r
- options for a controller that the driver is currently managing.\r
- \r
- @param OptionsValid Tests to see if a controller's current configuration \r
- options are valid. \r
- \r
- @param ForceDefaults Forces a driver to set the default configuration options \r
- for a controller.\r
-\r
- @param SupportedLanguages A Null-terminated ASCII string that contains one or more \r
- ISO 639-2 language codes. This is the list of language \r
- codes that this protocol supports.\r
-\r
**/\r
struct _EFI_DRIVER_CONFIGURATION_PROTOCOL {\r
EFI_DRIVER_CONFIGURATION_SET_OPTIONS SetOptions;\r
EFI_DRIVER_CONFIGURATION_OPTIONS_VALID OptionsValid;\r
EFI_DRIVER_CONFIGURATION_FORCE_DEFAULTS ForceDefaults;\r
+ ///\r
+ /// A Null-terminated ASCII string that contains one or more \r
+ /// ISO 639-2 language codes. This is the list of language \r
+ /// codes that this protocol supports. \r
+ ///\r
CHAR8 *SupportedLanguages;\r
};\r
\r
\r
@par Protocol Description: \r
Used to set configuration options for a controller that an EFI Driver is managing.\r
-\r
- @param SetOptions Allows the use to set drivers specific configuration \r
- options for a controller that the driver is currently managing.\r
- \r
- @param OptionsValid Tests to see if a controller's current configuration \r
- options are valid. \r
- \r
- @param ForceDefaults Forces a driver to set the default configuration options \r
- for a controller.\r
-\r
- @param SupportedLanguages A Null-terminated ASCII string that\r
- contains one or more RFC 3066\r
- language codes. This is the list\r
- of language codes that this\r
- protocol supports.\r
-\r
**/\r
struct _EFI_DRIVER_CONFIGURATION2_PROTOCOL {\r
EFI_DRIVER_CONFIGURATION2_SET_OPTIONS SetOptions;\r
EFI_DRIVER_CONFIGURATION2_OPTIONS_VALID OptionsValid;\r
EFI_DRIVER_CONFIGURATION2_FORCE_DEFAULTS ForceDefaults;\r
+ ///\r
+ /// A Null-terminated ASCII string that contains one or more RFC 3066\r
+ /// language codes. This is the list of language codes that this protocol supports. \r
+ ///\r
CHAR8 *SupportedLanguages;\r
};\r
\r
-\r
-\r
extern EFI_GUID gEfiDriverConfiguration2ProtocolGuid;\r
\r
#endif\r
OUT CHAR16 **Buffer\r
);\r
\r
-\r
-//\r
-//\r
-\r
/**\r
Interface structure for the Driver Diagnostics Protocol.\r
\r
@par Protocol Description:\r
Used to perform diagnostics on a controller that an EFI Driver is managing.\r
-\r
- @param RunDiagnostics Runs diagnostics on a controller.\r
- @param SupportedLanguages A Null-terminated ASCII string that contains one or more\r
- ISO 639-2 language codes. This is the list of language \r
- codes that this protocol supports.\r
-\r
**/\r
struct _EFI_DRIVER_DIAGNOSTICS_PROTOCOL {\r
EFI_DRIVER_DIAGNOSTICS_RUN_DIAGNOSTICS RunDiagnostics;\r
+ ///\r
+ /// A Null-terminated ASCII string that contains one or more RFC 3066\r
+ /// language codes. This is the list of language codes that this protocol supports. \r
+ /// \r
CHAR8 *SupportedLanguages;\r
};\r
\r
OUT CHAR16 **Buffer\r
);\r
\r
-\r
-//\r
-//\r
-\r
/**\r
Interface structure for the Driver Diagnostics2 Protocol.\r
\r
@par Protocol Description:\r
Used to perform diagnostics on a controller that an EFI Driver is managing.\r
-\r
- @param RunDiagnostics Runs diagnostics on a controller.\r
- @param SupportedLanguages A Null-terminated ASCII string that\r
- contains one or more RFC 3066\r
- language codes. This is the list\r
- of language codes that this\r
- protocol supports.\r
-\r
**/\r
struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL {\r
EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS RunDiagnostics;\r
+ ///\r
+ /// A Null-terminated ASCII string that contains one or more RFC 3066\r
+ /// language codes. This is the list of language codes that this protocol supports. \r
+ /// \r
CHAR8 *SupportedLanguages;\r
};\r
\r
configuration changes to take affect. Figure 2-1 below shows all the possible \r
health states of a controller and the legal transitions between the health states. \r
\r
- @param GetHealthStatus Retrieves the health status of a controller in the \r
- platform. This function can also optionally return \r
- warning messages, error messages, and a set of HII \r
- Forms that may be repair a controller that is not \r
- properly configured.\r
- @param Repair Performs a repair operation on a controller in the \r
- platform. This function can optionally report repair \r
- progress information back to the platform.\r
-\r
**/\r
struct _EFI_DRIVER_HEALTH_PROTOCOL {\r
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;\r
specification it conforms to. This protocol must be placed on \r
the drivers image handle when the driver's entry point is \r
called.\r
- \r
- @param Length The size, in bytes, of the entire structure.\r
- Future versions of this specification may grow\r
- the size of the structure.\r
- \r
- @param FirmwareVersion The version of the EFI specification\r
- that this driver conforms to.\r
- EFI_2_10_SYSTEM_TABLE_REVISION for this\r
- version of this specification.\r
-\r
**/ \r
typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL {\r
+ ///\r
+ /// The size, in bytes, of the entire structure. Future versions of this \r
+ /// specification may grow the size of the structure.\r
+ /// \r
UINT32 Length;\r
+ ///\r
+ /// The version of the EFI specification that this driver conforms to.\r
+ /// EFI_2_10_SYSTEM_TABLE_REVISION for this version of this specification. \r
+ ///\r
UINT32 FirmwareVersion;\r
} EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;\r
\r