]> git.proxmox.com Git - mirror_edk2.git/commitdiff
fixed comments to follow UEFI Spec
authorjgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 12 Nov 2008 02:27:50 +0000 (02:27 +0000)
committerjgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 12 Nov 2008 02:27:50 +0000 (02:27 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6466 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Protocol/Ip4.h

index 4b3cd027b7b804b5f98ff7f9ec0ffe72530923ad..d19cc7b34d380d8626b2beaabe9629f61de4dd23 100644 (file)
@@ -159,6 +159,11 @@ typedef struct {
 \r
 /**\r
   Gets the current operational settings for this instance of the EFI IPv4 Protocol driver.\r
+  \r
+  The GetModeData() function returns the current operational mode data for this\r
+  driver instance. The data fields in EFI_IP4_MODE_DATA are read only. This\r
+  function is used optionally to retrieve the operational mode data of underlying\r
+  networks or drivers.\r
 \r
   @param  This          Pointer to the EFI_IP4_PROTOCOL instance.\r
   @param  Ip4ModeData   Pointer to the EFI IPv4 Protocol mode data structure.\r
@@ -181,6 +186,26 @@ EFI_STATUS
 \r
 /**\r
   Assigns an IPv4 address and subnet mask to this EFI IPv4 Protocol driver instance.\r
+  \r
+  The Configure() function is used to set, change, or reset the operational\r
+  parameters and filter settings for this EFI IPv4 Protocol instance. Until these\r
+  parameters have been set, no network traffic can be sent or received by this\r
+  instance. Once the parameters have been reset (by calling this function with\r
+  IpConfigData set to NULL), no more traffic can be sent or received until these\r
+  parameters have been set again. Each EFI IPv4 Protocol instance can be started\r
+  and stopped independently of each other by enabling or disabling their receive\r
+  filter settings with the Configure() function.\r
+  \r
+  When IpConfigData.UseDefaultAddress is set to FALSE, the new station address will\r
+  be appended as an alias address into the addresses list in the EFI IPv4 Protocol\r
+  driver. While set to TRUE, Configure() will trigger the EFI_IP4_CONFIG_PROTOCOL\r
+  to retrieve the default IPv4 address if it is not available yet. Clients could\r
+  frequently call GetModeData() to check the status to ensure that the default IPv4\r
+  address is ready.\r
+  \r
+  If operational parameters are reset or changed, any pending transmit and receive\r
+  requests will be cancelled. Their completion token status will be set to EFI_ABORTED\r
+  and their events will be signaled.\r
 \r
   @param  This         Pointer to the EFI_IP4_PROTOCOL instance.\r
   @param  IpConfigData Pointer to the EFI IPv4 Protocol configuration data structure.\r
@@ -211,6 +236,12 @@ EFI_STATUS
 \r
 /**\r
   Joins and leaves multicast groups.\r
+  \r
+  The Groups() function is used to join and leave multicast group sessions. Joining\r
+  a group will enable reception of matching multicast packets. Leaving a group will\r
+  disable the multicast packet reception.\r
+  \r
+  If JoinFlag is FALSE and GroupAddress is NULL, all joined groups will be left.\r
 \r
   @param  This                  Pointer to the EFI_IP4_PROTOCOL instance.\r
   @param  JoinFlag              Set to TRUE to join the multicast group session and FALSE to leave.\r
@@ -244,6 +275,27 @@ EFI_STATUS
 /**\r
   Adds and deletes routing table entries.\r
 \r
+  The Routes() function adds a route to or deletes a route from the routing table.\r
+  \r
+  Routes are determined by comparing the SubnetAddress with the destination IPv4\r
+  address arithmetically AND-ed with the SubnetMask. The gateway address must be\r
+  on the same subnet as the configured station address.\r
+  \r
+  The default route is added with SubnetAddress and SubnetMask both set to 0.0.0.0.\r
+  The default route matches all destination IPv4 addresses that do not match any\r
+  other routes.\r
+  \r
+  A GatewayAddress that is zero is a nonroute. Packets are sent to the destination\r
+  IP address if it can be found in the ARP cache or on the local subnet. One automatic\r
+  nonroute entry will be inserted into the routing table for outgoing packets that\r
+  are addressed to a local subnet (gateway address of 0.0.0.0).\r
+  \r
+  Each EFI IPv4 Protocol instance has its own independent routing table. Those EFI\r
+  IPv4 Protocol instances that use the default IPv4 address will also have copies\r
+  of the routing table that was provided by the EFI_IP4_CONFIG_PROTOCOL, and these\r
+  copies will be updated whenever the EIF IPv4 Protocol driver reconfigures its\r
+  instances. As a result, client modification to the routing table will be lost.\r
+\r
   @param  This                   Pointer to the EFI_IP4_PROTOCOL instance.\r
   @param  DeleteRoute            Set to TRUE to delete this route from the routing table. Set to\r
                                  FALSE to add this route to the routing table. SubnetAddress\r
@@ -283,6 +335,10 @@ EFI_STATUS
 /**\r
   Places outgoing data packets into the transmit queue.\r
 \r
+  The Transmit() function places a sending request in the transmit queue of this\r
+  EFI IPv4 Protocol instance. Whenever the packet in the token is sent out or some\r
+  errors occur, the event in the token will be signaled and the status is updated.\r
+\r
   @param  This  Pointer to the EFI_IP4_PROTOCOL instance.\r
   @param  Token Pointer to the transmit token.\r
 \r
@@ -314,6 +370,14 @@ EFI_STATUS
 \r
 /**\r
   Places a receiving request into the receiving queue.\r
+  \r
+  The Receive() function places a completion token into the receive packet queue.\r
+  This function is always asynchronous.\r
+  \r
+  The Token.Event field in the completion token must be filled in by the caller\r
+  and cannot be NULL. When the receive operation completes, the EFI IPv4 Protocol\r
+  driver updates the Token.Status and Token.Packet.RxData fields and the Token.Event\r
+  is signaled.\r
 \r
   @param  This  Pointer to the EFI_IP4_PROTOCOL instance.\r
   @param  Token Pointer to a token that is associated with the receive data descriptor.\r
@@ -345,6 +409,13 @@ EFI_STATUS
 \r
 /**\r
   Abort an asynchronous transmit or receive request.\r
+  \r
+  The Cancel() function is used to abort a pending transmit or receive request.\r
+  If the token is in the transmit or receive request queues, after calling this\r
+  function, Token->Status will be set to EFI_ABORTED and then Token->Event will\r
+  be signaled. If the token is not in one of the queues, which usually means the\r
+  asynchronous operation has completed, this function will not signal the token\r
+  and EFI_NOT_FOUND is returned.\r
 \r
   @param  This  Pointer to the EFI_IP4_PROTOCOL instance.\r
   @param  Token Pointer to a token that has been issued by\r
@@ -374,6 +445,17 @@ EFI_STATUS
   \r
 /**\r
   Polls for incoming data packets and processes outgoing data packets.\r
+  \r
+  The Poll() function polls for incoming data packets and processes outgoing data\r
+  packets. Network drivers and applications can call the EFI_IP4_PROTOCOL.Poll()\r
+  function to increase the rate that data packets are moved between the communications\r
+  device and the transmit and receive queues.\r
+  \r
+  In some systems the periodic timer event may not poll the underlying communications\r
+  device fast enough to transmit and/or receive all data packets without missing\r
+  incoming packets or dropping outgoing packets. Drivers and applications that are\r
+  experiencing packet loss should try calling the EFI_IP4_PROTOCOL.Poll() function\r
+  more often.\r
 \r
   @param  This Pointer to the EFI_IP4_PROTOCOL instance.\r
 \r