]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Update comments for Protocol definitions to match UEFI spec.
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 19 Nov 2008 14:23:54 +0000 (14:23 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 19 Nov 2008 14:23:54 +0000 (14:23 +0000)
And add the missing comments for the data structure.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6635 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Protocol/Dhcp4.h
MdePkg/Include/Protocol/DiskIo.h
MdePkg/Include/Protocol/DriverBinding.h
MdePkg/Include/Protocol/DriverConfiguration.h
MdePkg/Include/Protocol/DriverDiagnostics.h
MdePkg/Include/Protocol/Ebc.h
MdePkg/Include/Protocol/EdidOverride.h
MdePkg/Include/Protocol/FirmwareVolume2.h
MdePkg/Include/Protocol/GraphicsOutput.h

index b02918d7c4e22b657446a88a5dc825f6504335db..9178e69bbba3c2859e49cf689030cf96e6c9243e 100644 (file)
@@ -33,41 +33,69 @@ typedef struct _EFI_DHCP4_PROTOCOL EFI_DHCP4_PROTOCOL;
 \r
 #pragma pack(1)\r
 typedef struct {\r
+  ///\r
+  /// DHCP option code.\r
+  ///\r
   UINT8               OpCode;\r
+  ///\r
+  /// Length of the DHCP option data. Not present if OpCode is 0 or 255.\r
+  ///\r
   UINT8               Length;\r
+  ///\r
+  /// Start of the DHCP option data. Not present if OpCode is 0 or 255 or if Length is zero.\r
+  ///\r
   UINT8               Data[1];\r
 } EFI_DHCP4_PACKET_OPTION;\r
 #pragma pack()\r
 \r
 \r
 #pragma pack(1)\r
+///\r
+/// EFI_DHCP4_PACKET defines the format of DHCPv4 packets. See RFC 2131 for more information.\r
+///\r
 typedef struct {\r
-    UINT8             OpCode;\r
-    UINT8             HwType;\r
-    UINT8             HwAddrLen;\r
-    UINT8             Hops;\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
-    CHAR8             ServerName[64];\r
-    CHAR8             BootFileName[128];\r
+  UINT8             OpCode;\r
+  UINT8             HwType;\r
+  UINT8             HwAddrLen;\r
+  UINT8             Hops;\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
+  CHAR8             ServerName[64];\r
+  CHAR8             BootFileName[128];\r
 }EFI_DHCP4_HEADER;\r
 #pragma pack()\r
 \r
 \r
 #pragma pack(1)\r
 typedef struct {\r
+  ///\r
+  /// Size of the EFI_DHCP4_PACKET buffer.\r
+  ///\r
   UINT32              Size;\r
+  ///\r
+  /// Length of the EFI_DHCP4_PACKET from the first byte of the Header field \r
+  /// to the last byte of the Option[] field.\r
+  ///\r
   UINT32              Length;\r
 \r
   struct {\r
+    ///\r
+    /// DHCP packet header.\r
+    ///\r
     EFI_DHCP4_HEADER  Header;\r
+    ///\r
+    /// DHCP magik cookie in network byte order.\r
+    ///\r
     UINT32            Magik;\r
+    ///\r
+    /// Start of the DHCP packed option data.\r
+    ///\r
     UINT8             Option[1];\r
   } Dhcp4;\r
 } EFI_DHCP4_PACKET;\r
@@ -75,30 +103,103 @@ typedef struct {
 \r
 \r
 typedef enum {\r
+  ///\r
+  /// The EFI DHCPv4 Protocol driver is stopped\r
+  ///\r
   Dhcp4Stopped        = 0x0,\r
+  ///\r
+  /// The EFI DHCPv4 Protocol driver is inactive\r
+  ///\r
   Dhcp4Init           = 0x1,\r
+  ///\r
+  /// The EFI DHCPv4 Protocol driver is collecting DHCP offer packets from DHCP servers.\r
+  ///\r
   Dhcp4Selecting      = 0x2,\r
+  ///\r
+  /// The EFI DHCPv4 Protocol driver has sent the request to the DHCP server and is waiting for a response.\r
+  ///\r
   Dhcp4Requesting     = 0x3,\r
+  ///\r
+  /// The DHCP configuration has completed.\r
+  ///\r
   Dhcp4Bound          = 0x4,\r
+  ///\r
+  /// The DHCP configuration is being renewed and another request has\r
+  /// been sent out, but it has not received a response from the server yet.\r
+  ///\r
   Dhcp4Renewing       = 0x5,\r
+  ///\r
+  /// The DHCP configuration has timed out and the EFI DHCPv4\r
+  /// Protocol driver is trying to extend the lease time.\r
+  ///\r
   Dhcp4Rebinding      = 0x6,\r
+  ///\r
+  /// The EFI DHCPv4 Protocol driver is initialized with a previously\r
+  /// allocated or known IP address.\r
+  ///\r
   Dhcp4InitReboot     = 0x7,\r
+  ///\r
+  /// The EFI DHCPv4 Protocol driver is seeking to reuse the previously\r
+  /// allocated IP address by sending a request to the DHCP server.\r
+  ///\r
   Dhcp4Rebooting      = 0x8\r
 } EFI_DHCP4_STATE;\r
 \r
 \r
 typedef enum{\r
+  ///\r
+  /// A DHCPDISCOVER packet is about to be sent.\r
+  ///\r
   Dhcp4SendDiscover   = 0x01,\r
+  ///\r
+  /// A DHCPOFFER packet was just received.\r
+  ///\r
   Dhcp4RcvdOffer      = 0x02,\r
+  ///\r
+  /// It is time for Dhcp4Callback to select an offer.\r
+  ///\r
   Dhcp4SelectOffer    = 0x03,\r
+  ///\r
+  /// A request packet is about to be sent.\r
+  ///\r
   Dhcp4SendRequest    = 0x04,\r
+  ///\r
+  /// A DHCPACK packet was received and will be passed to Dhcp4Callback.\r
+  ///\r
   Dhcp4RcvdAck        = 0x05,\r
+  ///\r
+  /// A DHCPNAK packet was received and will be passed to Dhcp4Callback.\r
+  ///\r
   Dhcp4RcvdNak        = 0x06,\r
+  ///\r
+  /// A decline packet is about to be sent.\r
+  ///\r
   Dhcp4SendDecline    = 0x07,\r
+  ///\r
+  /// The DHCP configuration process has completed. No packet is associated with this event.\r
+  ///\r
   Dhcp4BoundCompleted = 0x08,\r
+  ///\r
+  /// It is time to enter the Dhcp4Renewing state and to contact the server \r
+  /// that originally issued the network address. No packet is associated with this event.\r
+  ///\r
   Dhcp4EnterRenewing  = 0x09,\r
+  ///\r
+  /// It is time to enter the Dhcp4Rebinding state and to contact any server. \r
+  /// No packet is associated with this event.\r
+  ///\r
   Dhcp4EnterRebinding = 0x0a,\r
+  ///\r
+  /// The configured IP address was lost either because the lease has expired, \r
+  /// the user released the configuration, or a DHCPNAK packet was received in \r
+  /// the Dhcp4Renewing or Dhcp4Rebinding state. No packet is associated with this event.\r
+  ///\r
   Dhcp4AddressLost    = 0x0b,\r
+  ///\r
+  /// The DHCP process failed because a DHCPNAK packet was received or the user \r
+  /// aborted the DHCP process at a time when the configuration was not available yet. \r
+  /// No packet is associated with this event.\r
+  ///\r
   Dhcp4Fail           = 0x0c\r
 } EFI_DHCP4_EVENT;\r
 \r
@@ -142,51 +243,165 @@ EFI_STATUS
   OUT EFI_DHCP4_PACKET           **NewPacket OPTIONAL\r
   );\r
 \r
-\r
 typedef struct {\r
+  ///\r
+  /// Number of times to try sending DHCPDISCOVER packets and \r
+  /// waiting for DHCPOFFER packets before accepting failure.\r
+  /// Set to zero to use the default try counts and timeout values.\r
+  ///\r
   UINT32                      DiscoverTryCount;\r
+  ///\r
+  /// Maximum amount of time (in seconds) to wait for DHCPOFFER packets in each \r
+  /// of the retries. Timeout values of zero will default to a timeout value \r
+  /// of one second. Set to NULL to use default timeout values.\r
+  ///\r
   UINT32                      *DiscoverTimeout;\r
+  ///\r
+  /// Number of times to try sending DHCPREQUEST packets and waiting for DHCPACK \r
+  /// packets before accepting failure. Set to zero to use the default try counts and timeout values.\r
+  ///\r
   UINT32                      RequestTryCount;\r
+  ///\r
+  /// Maximum amount of time (in seconds) to wait for DHCPACK packets in each of the retries. \r
+  /// Timeout values of zero will default to a timeout value of one second. \r
+  /// Set to NULL to use default timeout values.\r
+  ///\r
   UINT32                      *RequestTimeout;\r
+  ///\r
+  /// Setting this parameter to the previously allocated IP address will cause \r
+  /// the EFI DHCPv4 Protocol driver to enter the Dhcp4InitReboot state. \r
+  /// Set this field to 0.0.0.0 to enter the Dhcp4Init state.\r
+  ///\r
   EFI_IPv4_ADDRESS            ClientAddress;\r
+  ///\r
+  /// The callback function to intercept various events that occurred in \r
+  /// the DHCP configuration process. Set to NULL to ignore all those events.\r
+  ///\r
   EFI_DHCP4_CALLBACK          Dhcp4Callback;\r
-  void                        *CallbackContext;\r
+  ///\r
+  /// Pointer to the context that will be passed to Dhcp4Callback when it is called.\r
+  ///\r
+  VOID                        *CallbackContext;\r
+  ///\r
+  /// Number of DHCP options in the OptionList.\r
+  ///\r
   UINT32                      OptionCount;\r
+  ///\r
+  /// List of DHCP options to be included in every DHCPDISCOVER packet and \r
+  /// subsequent DHCPREQUEST packet that is generated from DHCPOFFER packets.\r
+  ///\r
   EFI_DHCP4_PACKET_OPTION     **OptionList;\r
 } EFI_DHCP4_CONFIG_DATA;\r
 \r
 \r
 typedef struct {\r
+  ///\r
+  /// The EFI DHCPv4 Protocol driver operating state. \r
+  ///\r
   EFI_DHCP4_STATE             State;\r
+  ///\r
+  /// The configuration data of the current EFI DHCPv4 Protocol driver instance.\r
+  ///\r
   EFI_DHCP4_CONFIG_DATA       ConfigData;\r
+  ///\r
+  /// The client IP address that was acquired from the DHCP server. If it is zero,\r
+  /// the DHCP acquisition has not completed yet and the following fields in this structure are undefined.\r
+  ///\r
   EFI_IPv4_ADDRESS            ClientAddress;\r
+  ///\r
+  /// The local hardware address.\r
+  ///\r
   EFI_MAC_ADDRESS             ClientMacAddress;\r
+  ///\r
+  /// The server IP address that is providing the DHCP service to this client.\r
+  ///\r
   EFI_IPv4_ADDRESS            ServerAddress;\r
+  ///\r
+  /// The router IP address that was acquired from the DHCP server. \r
+  /// May be zero if the server does not offer this address.\r
+  ///\r
   EFI_IPv4_ADDRESS            RouterAddress;\r
+  ///\r
+  /// The subnet mask of the connected network that was acquired from the DHCP server.\r
+  ///\r
   EFI_IPv4_ADDRESS            SubnetMask;\r
+  ///\r
+  /// The lease time (in 1-second units) of the configured IP address. \r
+  /// The value 0xFFFFFFFF means that the lease time is infinite. \r
+  /// A default lease of 7 days is used if the DHCP server does not provide a value.\r
+  ///\r
   UINT32                      LeaseTime;\r
+  ///\r
+  /// The cached latest DHCPACK or DHCPNAK or BOOTP REPLY packet. May be NULL if no packet is cached.\r
+  ///\r
   EFI_DHCP4_PACKET            *ReplyPacket;\r
 } EFI_DHCP4_MODE_DATA;\r
 \r
 \r
 typedef struct {\r
+  ///\r
+  /// Alternate listening address. It can be a unicast, multicast, or broadcast address.\r
+  ///\r
   EFI_IPv4_ADDRESS            ListenAddress;\r
+  ///\r
+  /// The subnet mask of above listening unicast/broadcast IP address. \r
+  /// Ignored if ListenAddress is a multicast address.\r
+  ///\r
   EFI_IPv4_ADDRESS            SubnetMask;\r
+  ///\r
+  /// Alternate station source (or listening) port number. \r
+  /// If zero, then the default station port number (68) will be used.\r
+  ///\r
   UINT16                      ListenPort;\r
 } EFI_DHCP4_LISTEN_POINT;\r
 \r
 \r
 typedef struct {\r
+  ///\r
+  /// The completion status of transmitting and receiving.\r
+  ///\r
   EFI_STATUS              Status;\r
+  ///\r
+  /// If not NULL, the event that will be signaled when the collection process \r
+  /// completes. If NULL, this function will busy-wait until the collection process competes.\r
+  ///\r
   EFI_EVENT               CompletionEvent;\r
+  ///\r
+  /// Pointer to the server IP address. This address may be a unicast, multicast, or broadcast address.\r
+  ///\r
   EFI_IPv4_ADDRESS        RemoteAddress;\r
+  ///\r
+  /// Server listening port number. If zero, the default server listening port number (67) will be used.\r
+  ///\r
   UINT16                  RemotePort;\r
+  ///\r
+  /// Pointer to the gateway address to override the existing setting.\r
+  ///\r
   EFI_IPv4_ADDRESS        GatewayAddress;\r
+  ///\r
+  /// The number of entries in ListenPoints. If zero, the default station address and port number 68 are used.\r
+  ///\r
   UINT32                  ListenPointCount;\r
+  ///\r
+  /// An array of station address and port number pairs that are used as receiving filters. \r
+  /// The first entry is also used as the source address and source port of the outgoing packet.\r
+  ///\r
   EFI_DHCP4_LISTEN_POINT  *ListenPoints;\r
+  ///\r
+  /// Number of seconds to collect responses. Zero is invalid.\r
+  ///\r
   UINT32                  TimeoutValue;\r
+  ///\r
+  /// Pointer to the packet to be transmitted.\r
+  ///\r
   EFI_DHCP4_PACKET        *Packet;\r
+  ///\r
+  /// Number of received packets.\r
+  ///\r
   UINT32                  ResponseCount;\r
+  ///\r
+  /// Pointer to the allocated list of received packets.\r
+  ///\r
   EFI_DHCP4_PACKET        *ResponseList;\r
 } EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN;\r
 \r
@@ -248,7 +463,12 @@ EFI_STATUS
                                 Dhcp4Stopped, Dhcp4Init, Dhcp4InitReboot, or Dhcp4Bound state;\r
                                 Or onother instance of this EFI DHCPv4 Protocol driver is already\r
                                 in a valid configured state.\r
-  @retval EFI_INVALID_PARAMETER Some parameter is NULL.\r
+  @retval EFI_INVALID_PARAMETER One or more following conditions are TRUE:\r
+                                This is NULL.\r
+                                DiscoverTryCount > 0 and DiscoverTimeout is NULL\r
+                                RequestTryCount > 0 and RequestTimeout is NULL.\r
+                                OptionCount >0 and OptionList is NULL.\r
+                                ClientAddress is not a valid unicast address.\r
   @retval EFI_OUT_OF_RESOURCES  Required system resources could not be allocated.\r
   @retval EFI_DEVICE_ERROR      An unexpected system or network error occurred.\r
 \r
@@ -426,7 +646,15 @@ EFI_STATUS
 \r
   @retval EFI_SUCCESS           The new packet was built.\r
   @retval EFI_OUT_OF_RESOURCES  Storage for the new packet could not be allocated.\r
-  @retval EFI_INVALID_PARAMETER Some parameter is NULL.\r
+  @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+                                This is NULL.\r
+                                SeedPacket is NULL.\r
+                                SeedPacket is not a well-formed DHCP packet.\r
+                                AppendCount is not zero and AppendList is NULL.\r
+                                DeleteCount is not zero and DeleteList is NULL.\r
+                                NewPacket is NULL\r
+                                Both DeleteCount and AppendCount are zero and\r
+                                NewPacket is not NULL.\r
 \r
 **/\r
 typedef\r
@@ -453,11 +681,17 @@ EFI_STATUS
   @param  Token   Pointer to the EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN structure.\r
 \r
   @retval EFI_SUCCESS           The packet was successfully queued for transmission.\r
-  @retval EFI_INVALID_PARAMETER Some parameter is NULL.\r
+  @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+                                This is NULL.\r
+                                Token.RemoteAddress is zero.\r
+                                Token.Packet is NULL.\r
+                                Token.Packet is not a well-formed DHCP packet.\r
+                                The transaction ID in Token.Packet is in use by another DHCP process.\r
   @retval EFI_NOT_READY         The previous call to this function has not finished yet. Try to call\r
                                 this function after collection process completes.\r
   @retval EFI_NO_MAPPING        The default station address is not available yet.\r
   @retval EFI_OUT_OF_RESOURCES  Required system resources could not be allocated.\r
+  @retval EFI_UNSUPPORTED       The implementation doesn’t support this function\r
   @retval Others                Some other unexpected error occurred.\r
 \r
 **/\r
@@ -489,11 +723,16 @@ EFI_STATUS
                            options are not included.\r
 \r
   @retval EFI_SUCCESS           The packet was successfully parsed.\r
-  @retval EFI_INVALID_PARAMETER Some parameter is NULL.\r
+  @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+                                This is NULL.\r
+                                Packet is NULL.\r
+                                Packet is not a well-formed DHCP packet.\r
+                                OptionCount is NULL.\r
   @retval EFI_BUFFER_TOO_SMALL  One or more of the following conditions is TRUE:\r
                                 1) *OptionCount is smaller than the number of options that\r
                                 were found in the Packet.\r
                                 2) PacketOptionList is NULL.\r
+  @retval EFI_OUT_OF_RESOURCE   The packet is failed to parse because of resource shortage.\r
 \r
 **/\r
 typedef\r
index 75978d18bff840ede8468262585e40c8bbd9df63..77517cb672747bab9efff10298ac19f5e9726f2b 100644 (file)
@@ -64,13 +64,13 @@ EFI_STATUS
   );\r
 \r
 /**\r
-  Read BufferSize bytes from Offset into Buffer.\r
+  Writes a specified number of bytes to a device.\r
 \r
-  @param  This       Protocol instance pointer.\r
-  @param  MediaId    Id of the media, changes every time the media is replaced.\r
-  @param  Offset     The starting byte offset to read from\r
-  @param  BufferSize Size of Buffer\r
-  @param  Buffer     Buffer containing read data\r
+  @param  This       Indicates a pointer to the calling context.\r
+  @param  MediaId    ID of the medium to be written.\r
+  @param  Offset     The starting byte offset on the logical block I/O device to write.\r
+  @param  BufferSize The size in bytes of Buffer. The number of bytes to write to the device.\r
+  @param  Buffer     A pointer to the buffer containing the data to be written.\r
 \r
   @retval EFI_SUCCESS           The data was written correctly to the device.\r
   @retval EFI_WRITE_PROTECTED   The device can not be written to.\r
index 93778915199d076dc17942f6d2d0dc57f38dcb40..e5645f32e4db652d74c83cc2534529f03290b98f 100644 (file)
 typedef struct _EFI_DRIVER_BINDING_PROTOCOL  EFI_DRIVER_BINDING_PROTOCOL;\r
 \r
 /**\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
-  @param  RemainingDevicePath Optional parameter use to pick a specific child\r
-                              device to start.\r
-\r
-  @retval EFI_SUCCESS         This driver supports this device\r
-  @retval EFI_ALREADY_STARTED This driver is already running on this device\r
-  @retval other               This driver does not support this device\r
-\r
+  Tests to see if this driver supports a given controller. If a child device is provided, \r
+  it further tests to see if this driver supports creating a handle for the specified child device.\r
+\r
+  @param  This                 A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+  @param  ControllerHandle     The handle of the controller to test. This handle \r
+                               must support a protocol interface that supplies \r
+                               an I/O abstraction to the driver.\r
+  @param  RemainingDevicePath  A pointer to the remaining portion of a device path. \r
+                               This parameter is ignored by device drivers, and is optional for bus drivers.\r
+\r
+\r
+  @retval EFI_SUCCESS         The device specified by ControllerHandle and\r
+                              RemainingDevicePath is supported by the driver specified by This.\r
+  @retval EFI_ALREADY_STARTED The device specified by ControllerHandle and\r
+                              RemainingDevicePath is already being managed by the driver\r
+                              specified by This.\r
+  @retval EFI_ACCESS_DENIED   The device specified by ControllerHandle and\r
+                              RemainingDevicePath is already being managed by a different\r
+                              driver or an application that requires exclusive acces.\r
+  @retval EFI_UNSUPPORTED     The device specified by ControllerHandle and\r
+                              RemainingDevicePath is not supported by the driver specified by This.\r
 **/\r
 typedef\r
 EFI_STATUS\r
@@ -56,21 +61,27 @@ EFI_STATUS
   );\r
 \r
 /**\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
-  @param  RemainingDevicePath  Optional parameter use to pick a specific child\r
-                               device to start.\r
-\r
-  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
-  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
-  @retval other                This driver does not support this device\r
+  Start this driver on ControllerHandle. The Start() function is designed to be \r
+  invoked from the EFI boot service ConnectController(). As a result, much of \r
+  the error checking on the parameters to Start() has been moved into this \r
+  common boot service. It is legal to call Start() from other locations, \r
+  but the following calling restrictions must be followed or the system behavior will not be deterministic.\r
+  1. ControllerHandle must be a valid EFI_HANDLE.\r
+  2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned\r
+     EFI_DEVICE_PATH_PROTOCOL.\r
+  3. Prior to calling Start(), the Supported() function for the driver specified by This must\r
+     have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS.  \r
+\r
+  @param  This                 A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+  @param  ControllerHandle     The handle of the controller to start. This handle \r
+                               must support a protocol interface that supplies \r
+                               an I/O abstraction to the driver.\r
+  @param  RemainingDevicePath  A pointer to the remaining portion of a device path. \r
+                               This parameter is ignored by device drivers, and is optional for bus drivers.\r
+\r
+  @retval EFI_SUCCESS          The device was started.\r
+  @retval EFI_ALREADY_STARTED  The device could not be started due to a device error.\r
+  @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.\r
 \r
 **/\r
 typedef\r
@@ -82,21 +93,27 @@ EFI_STATUS
   );\r
 \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
+  Stop this driver on ControllerHandle. \r
+  The Stop() function is designed to be invoked from the EFI boot service DisconnectController(). \r
+  As a result, much of the error checking on the parameters to Stop() has been moved \r
+  into this common boot service. It is legal to call Stop() from other locations, \r
+  but the following calling restrictions must be followed or the system behavior will not be deterministic.\r
+  1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this\r
+     same driver's Start() function.\r
+  2. The first NumberOfChildren handles of ChildHandleBuffer must all be a valid\r
+     EFI_HANDLE. In addition, all of these handles must have been created in this driver’s\r
+     Start() function, and the Start() function must have called OpenProtocol() on\r
+     ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.\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
-                            children is zero stop the entire bus driver.\r
-  @param  ChildHandleBuffer List of Child Handles to Stop.\r
-\r
-  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
-  @retval other             This driver was not removed from this device\r
+  @param  This              A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+  @param  ControllerHandle  A handle to the device being stopped. The handle must \r
+                            support a bus specific I/O protocol for the driver \r
+                            to use to stop the device.\r
+  @param  NumberOfChildren  The number of child device handles in ChildHandleBuffer.\r
+  @param  ChildHandleBuffer An array of child handles to be freed. May be NULL if NumberOfChildren is 0.\r
+\r
+  @retval EFI_SUCCESS       The device was stopped.\r
+  @retval EFI_DEVICE_ERROR  The device could not be stopped due to a device error.\r
 \r
 **/\r
 typedef\r
index 547fd8e557d254d2eb4d21159214ad3e48ca2428..f02c5321d71bfdeebc362333c4278954022bdbce 100644 (file)
@@ -18,7 +18,7 @@
 #include <Protocol/DriverConfiguration2.h>\r
 \r
 ///\r
-/// Global ID for the Driver Configuration Protocol defined in UEFI 2.0\r
+/// Global ID for the Driver Configuration Protocol defined in EFI 1.1\r
 ///\r
 #define EFI_DRIVER_CONFIGURATION_PROTOCOL_GUID \\r
   { \\r
index 87d077f234342b1f9557d1e99cbf2f53d52608a3..4c62f42c87a7fa0a200aecf6607eca2f9161d745 100644 (file)
@@ -16,7 +16,7 @@
 #define __EFI_DRIVER_DIAGNOSTICS_H__\r
 \r
 ///\r
-/// Global ID for the Driver Diagnostics Protocol as defined in UEFI 2.0.\r
+/// Global ID for the Driver Diagnostics Protocol as defined in EFI 1.1.\r
 ///\r
 #define EFI_DRIVER_DIAGNOSTICS_PROTOCOL_GUID \\r
   { \\r
index b67cda97c03c3f851e266f5d0cf5eeb1c3939d71..a516f5439e2af3ec4eb3940b89851280ef0928ef 100644 (file)
@@ -96,9 +96,8 @@ EFI_STATUS
   );\r
 \r
 /**\r
-  This routine is called by the core firmware to provide the EBC driver with\r
-  a function to call to flush the CPU's instruction cache following creation\r
-  of a thunk. It is not required.\r
+  Registers a callback function that the EBC interpreter calls to flush \r
+  the processor instruction cache following creation of thunks.\r
 \r
   @param  This       A pointer to the EFI_EBC_PROTOCOL instance.\r
   @param  Flush      Pointer to a function of type EBC_ICACH_FLUSH.\r
index 27f42f11541b60b2f9f86d6c18c23b14afd62625..f2076b252e9e4f6d57b27dd148e24284ec5935d7 100644 (file)
@@ -29,9 +29,9 @@ typedef struct _EFI_EDID_OVERRIDE_PROTOCOL EFI_EDID_OVERRIDE_PROTOCOL;
 #define EFI_EDID_OVERRIDE_ENABLE_HOT_PLUG 0x02\r
 \r
 /**\r
-  Return the current video mode information.\r
+  Returns policy information and potentially a replacement EDID for the specified video output device.\r
 \r
-  @param  This              Protocol instance pointer.\r
+  @param  This              The EFI_EDID_OVERRIDE_PROTOCOL instance.\r
   @param  ChildHandle       A child handle produced by the Graphics Output EFI\r
                             driver that represents a video output device.\r
   @param  Attributes        The attributes associated with ChildHandle video output device.\r
index 0d5e5481fbd1c3fb38fbe225b49cc85db9ea4c81..360acbf5e7eefafbcbde6b4b7d99b4d6ce65b372 100644 (file)
@@ -429,10 +429,25 @@ typedef UINT32 EFI_FV_WRITE_POLICY;
 // EFI_FV_WRITE_FILE_DATA\r
 //\r
 typedef struct {\r
+  ///\r
+  /// Pointer to a GUID, which is the file name to be written.\r
+  ///\r
   EFI_GUID                *NameGuid;\r
+  ///\r
+  /// Indicates the type of file to be written.\r
+  ///\r
   EFI_FV_FILETYPE         Type;\r
+  ///\r
+  /// Indicates the attributes for the file to be written.\r
+  ///\r
   EFI_FV_FILE_ATTRIBUTES  FileAttributes;\r
+  ///\r
+  /// Pointer to a buffer containing the file to be written.\r
+  ///\r
   VOID                    *Buffer;\r
+  ///\r
+  /// Indicates the size of the file image contained in Buffer.\r
+  ///\r
   UINT32                  BufferSize;\r
 } EFI_FV_WRITE_FILE_DATA;\r
 \r
index 8e701c21ca89a674a519f7c217c7cc4573b04fbd..7782f5d7c3ec2b751b7293b54ca94ed965b65108 100644 (file)
@@ -32,19 +32,63 @@ typedef struct {
 } EFI_PIXEL_BITMASK;\r
 \r
 typedef enum {\r
+  ///\r
+  /// A pixel is 32-bits and byte zero represents red, byte one represents green, \r
+  /// byte two represents blue, and byte three is reserved. This is the definition \r
+  /// for the physical frame buffer. The byte values for the red, green, and blue \r
+  /// components represent the color intensity. This color intensity value range \r
+  /// from a minimum intensity of 0 to maximum intensity of 255.\r
+  ///\r
   PixelRedGreenBlueReserved8BitPerColor,\r
+  ///\r
+  /// A pixel is 32-bits and byte zero represents blue, byte one represents green, \r
+  /// byte two represents red, and byte three is reserved. This is the definition \r
+  /// for the physical frame buffer. The byte values for the red, green, and blue \r
+  /// components represent the color intensity. This color intensity value range \r
+  /// from a minimum intensity of 0 to maximum intensity of 255.\r
+  ///\r
   PixelBlueGreenRedReserved8BitPerColor,\r
+  ///\r
+  /// The Pixel definition of the physical frame buffer.\r
+  ///\r
   PixelBitMask,\r
+  ///\r
+  /// This mode does not support a physical frame buffer.\r
+  ///\r
   PixelBltOnly,\r
+  ///\r
+  /// Valid EFI_GRAPHICS_PIXEL_FORMAT enum values are less than this value.\r
+  ///\r
   PixelFormatMax\r
 } EFI_GRAPHICS_PIXEL_FORMAT;\r
 \r
 typedef struct {\r
+  ///\r
+  /// The version of this data structure. A value of zero represents the \r
+  /// EFI_GRAPHICS_OUTPUT_MODE_INFORMATION structure as defined in this specification.\r
+  ///\r
   UINT32                     Version;\r
+  ///\r
+  /// The size of video screen in pixels in the X dimension.\r
+  ///\r
   UINT32                     HorizontalResolution;\r
+  ///\r
+  /// The size of video screen in pixels in the Y dimension.\r
+  ///\r
   UINT32                     VerticalResolution;\r
+  ///\r
+  /// Enumeration that defines the physical format of the pixel. A value of PixelBltOnly \r
+  /// implies that a linear frame buffer is not available for this mode.\r
+  ///\r
   EFI_GRAPHICS_PIXEL_FORMAT  PixelFormat;\r
+  ///\r
+  /// This bit-mask is only valid if PixelFormat is set to PixelPixelBitMask. \r
+  /// A bit being set defines what bits are used for what purpose such as Red, Green, Blue, or Reserved.\r
+  ///\r
   EFI_PIXEL_BITMASK          PixelInformation;\r
+  ///\r
+  /// Defines the number of pixel elements per video memory line.\r
+  /// \r
   UINT32                     PixelsPerScanLine;\r
 } EFI_GRAPHICS_OUTPUT_MODE_INFORMATION;\r
 \r
@@ -182,11 +226,30 @@ EFI_STATUS
   );\r
 \r
 typedef struct {\r
+  ///\r
+  /// The number of modes supported by QueryMode() and SetMode().\r
+  ///\r
   UINT32                                 MaxMode;\r
+  ///\r
+  /// Current Mode of the graphics device. Valid mode numbers are 0 to MaxMode -1.\r
+  ///\r
   UINT32                                 Mode;\r
+  ///\r
+  /// Pointer to read-only EFI_GRAPHICS_OUTPUT_MODE_INFORMATION data.\r
+  ///\r
   EFI_GRAPHICS_OUTPUT_MODE_INFORMATION   *Info;\r
+  ///\r
+  /// Size of Info structure in bytes.\r
+  ///\r
   UINTN                                  SizeOfInfo;\r
+  ///\r
+  /// Base address of graphics linear frame buffer.\r
+  /// Offset zero in FrameBufferBase represents the upper left pixel of the display.\r
+  ///\r
   EFI_PHYSICAL_ADDRESS                   FrameBufferBase;\r
+  ///\r
+  /// Size of the frame buffer represented by FrameBufferBase in bytes.\r
+  ///\r
   UINTN                                  FrameBufferSize;\r
 } EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE;\r
 \r