]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/SimpleNetwork.h
New data field added follow UEFI Spec.
[mirror_edk2.git] / MdePkg / Include / Protocol / SimpleNetwork.h
index 74c5163fbb9006940412d33a13e23f62e502c186..1d9cc67bdf921b4ccb8f85044c2dc9420bc9a229 100644 (file)
 typedef struct _EFI_SIMPLE_NETWORK_PROTOCOL  EFI_SIMPLE_NETWORK_PROTOCOL;\r
 \r
 \r
-//\r
-// Protocol defined in EFI1.1.\r
-// \r
+///\r
+/// Protocol defined in EFI1.1.\r
+/// \r
 typedef EFI_SIMPLE_NETWORK_PROTOCOL   EFI_SIMPLE_NETWORK;\r
 \r
-//\r
-// Simple Network Protocol data structures\r
-//\r
+///\r
+/// Simple Network Protocol data structures\r
+///\r
 typedef struct {\r
-  //\r
-  // Total number of frames received.  Includes frames with errors and\r
-  // dropped frames.\r
-  //\r
+  ///\r
+  /// Total number of frames received.  Includes frames with errors and\r
+  /// dropped frames.\r
+  ///\r
   UINT64  RxTotalFrames;\r
 \r
-  //\r
-  // Number of valid frames received and copied into receive buffers.\r
-  //\r
+  ///\r
+  /// Number of valid frames received and copied into receive buffers.\r
+  ///\r
   UINT64  RxGoodFrames;\r
 \r
-  //\r
-  // Number of frames below the minimum length for the media.\r
-  // This would be <64 for ethernet.\r
-  //\r
+  ///\r
+  /// Number of frames below the minimum length for the media.\r
+  /// This would be <64 for ethernet.\r
+  ///\r
   UINT64  RxUndersizeFrames;\r
 \r
-  //\r
-  // Number of frames longer than the maxminum length for the\r
-  // media.  This would be >1500 for ethernet.\r
-  //\r
+  ///\r
+  /// Number of frames longer than the maxminum length for the\r
+  /// media.  This would be >1500 for ethernet.\r
+  ///\r
   UINT64  RxOversizeFrames;\r
 \r
-  //\r
-  // Valid frames that were dropped because receive buffers were full.\r
-  //\r
+  ///\r
+  /// Valid frames that were dropped because receive buffers were full.\r
+  ///\r
   UINT64  RxDroppedFrames;\r
 \r
-  //\r
-  // Number of valid unicast frames received and not dropped.\r
-  //\r
+  ///\r
+  /// Number of valid unicast frames received and not dropped.\r
+  ///\r
   UINT64  RxUnicastFrames;\r
 \r
-  //\r
-  // Number of valid broadcast frames received and not dropped.\r
-  //\r
+  ///\r
+  /// Number of valid broadcast frames received and not dropped.\r
+  ///\r
   UINT64  RxBroadcastFrames;\r
 \r
-  //\r
-  // Number of valid mutlicast frames received and not dropped.\r
-  //\r
+  ///\r
+  /// Number of valid mutlicast frames received and not dropped.\r
+  ///\r
   UINT64  RxMulticastFrames;\r
 \r
-  //\r
-  // Number of frames w/ CRC or alignment errors.\r
-  //\r
+  ///\r
+  /// Number of frames w/ CRC or alignment errors.\r
+  ///\r
   UINT64  RxCrcErrorFrames;\r
 \r
-  //\r
-  // Total number of bytes received.  Includes frames with errors\r
-  // and dropped frames.\r
+  ///\r
+  /// Total number of bytes received.  Includes frames with errors\r
+  /// and dropped frames.\r
   //\r
   UINT64  RxTotalBytes;\r
 \r
-  //\r
-  // Transmit statistics.\r
-  //\r
+  ///\r
+  /// Transmit statistics.\r
+  ///\r
   UINT64  TxTotalFrames;\r
   UINT64  TxGoodFrames;\r
   UINT64  TxUndersizeFrames;\r
@@ -107,18 +107,23 @@ typedef struct {
   UINT64  TxCrcErrorFrames;\r
   UINT64  TxTotalBytes;\r
 \r
-  //\r
-  // Number of collisions detection on this subnet.\r
-  //\r
+  ///\r
+  /// Number of collisions detection on this subnet.\r
+  ///\r
   UINT64  Collisions;\r
 \r
-  //\r
-  // Number of frames destined for unsupported protocol.\r
-  //\r
+  ///\r
+  /// Number of frames destined for unsupported protocol.\r
+  ///\r
   UINT64  UnsupportedProtocol;\r
 \r
 } EFI_NETWORK_STATISTICS;\r
 \r
+///\r
+/// State of the network interface\r
+/// When an EFI_SIMPLE_NETWORK_PROTOCOL driver initializes a\r
+/// network interface, the network interface is left in the EfiSimpleNetworkStopped state.\r
+///\r
 typedef enum {\r
   EfiSimpleNetworkStopped,\r
   EfiSimpleNetworkStarted,\r
@@ -139,24 +144,84 @@ typedef enum {
 \r
 #define MAX_MCAST_FILTER_CNT                              16\r
 typedef struct {\r
+  ///\r
+  /// Reports the current state of the network interface.\r
+  ///\r
   UINT32          State;\r
+  ///\r
+  /// The size, in bytes, of the network interface's HW address.\r
+  ///\r
   UINT32          HwAddressSize;\r
+  ///\r
+  /// The size, in bytes, of the network interface's media header.\r
+  ///\r
   UINT32          MediaHeaderSize;\r
+  ///\r
+  /// The maximum size, in bytes, of the packets supported by the network interface.\r
+  ///\r
   UINT32          MaxPacketSize;\r
+  ///\r
+  /// The size, in bytes, of the NVRAM device attached to the network interface.\r
+  ///\r
   UINT32          NvRamSize;\r
+  ///\r
+  /// The size that must be used for all NVRAM reads and writes. The\r
+  /// start address for NVRAM read and write operations and the total\r
+  /// length of those operations, must be a multiple of this value. The\r
+  /// legal values for this field are 0, 1, 2, 4, and 8.\r
+  ///\r
   UINT32          NvRamAccessSize;\r
+  ///\r
+  /// The multicast receive filter settings supported by the network interface.\r
+  ///\r
   UINT32          ReceiveFilterMask;\r
+  ///\r
+  /// The current multicast receive filter settings.\r
+  ///\r
   UINT32          ReceiveFilterSetting;\r
+  ///\r
+  /// The maximum number of multicast address receive filters supported by the driver.\r
+  ///\r
   UINT32          MaxMCastFilterCount;\r
+  ///\r
+  /// The current number of multicast address receive filters.\r
+  ///\r
   UINT32          MCastFilterCount;\r
+  ///\r
+  /// Array containing the addresses of the current multicast address receive filters.\r
+  ///\r
   EFI_MAC_ADDRESS MCastFilter[MAX_MCAST_FILTER_CNT];\r
+  ///\r
+  /// The current HW MAC address for the network interface.\r
+  ///\r
   EFI_MAC_ADDRESS CurrentAddress;\r
+  ///\r
+  /// The current HW MAC address for broadcast packets.\r
+  ///\r
   EFI_MAC_ADDRESS BroadcastAddress;\r
+  ///\r
+  /// The permanent HW MAC address for the network interface.\r
+  ///\r
   EFI_MAC_ADDRESS PermanentAddress;\r
+  ///\r
+  /// The interface type of the network interface.\r
+  ///\r
   UINT8           IfType;\r
+  ///\r
+  /// TRUE if the HW MAC address can be changed.\r
+  ///\r
   BOOLEAN         MacAddressChangeable;\r
+  ///\r
+  /// TRUE if the network interface can transmit more than one packet at a time.\r
+  ///\r
   BOOLEAN         MultipleTxSupported;\r
+  ///\r
+  /// TRUE if the presence of media can be determined; otherwise FALSE.\r
+  ///\r
   BOOLEAN         MediaPresentSupported;\r
+  ///\r
+  /// TRUE if media are connected to the network interface; otherwise FALSE.\r
+  ///\r
   BOOLEAN         MediaPresent;\r
 } EFI_SIMPLE_NETWORK_MODE;\r
 \r
@@ -179,8 +244,7 @@ typedef
 EFI_STATUS\r
 (EFIAPI *EFI_SIMPLE_NETWORK_START)(\r
   IN EFI_SIMPLE_NETWORK_PROTOCOL  *This\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Changes the state of a network interface from "started" to "stopped".\r
@@ -198,8 +262,7 @@ typedef
 EFI_STATUS\r
 (EFIAPI *EFI_SIMPLE_NETWORK_STOP)(\r
   IN EFI_SIMPLE_NETWORK_PROTOCOL  *This\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Resets a network adapter and allocates the transmit and receive buffers \r
@@ -233,8 +296,7 @@ EFI_STATUS
   IN EFI_SIMPLE_NETWORK_PROTOCOL                    *This,\r
   IN UINTN                                          ExtraRxBufferSize  OPTIONAL,\r
   IN UINTN                                          ExtraTxBufferSize  OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Resets a network adapter and re-initializes it with the parameters that were \r
@@ -257,8 +319,7 @@ EFI_STATUS
 (EFIAPI *EFI_SIMPLE_NETWORK_RESET)(\r
   IN EFI_SIMPLE_NETWORK_PROTOCOL   *This,\r
   IN BOOLEAN                       ExtendedVerification\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Resets a network adapter and leaves it in a state that is safe for \r
@@ -277,8 +338,7 @@ typedef
 EFI_STATUS\r
 (EFIAPI *EFI_SIMPLE_NETWORK_SHUTDOWN)(\r
   IN EFI_SIMPLE_NETWORK_PROTOCOL  *This\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Manages the multicast receive filters of a network interface.\r
@@ -313,8 +373,7 @@ EFI_STATUS
   IN BOOLEAN                                                 ResetMCastFilter,\r
   IN UINTN                                                   MCastFilterCnt     OPTIONAL,\r
   IN EFI_MAC_ADDRESS                                         *MCastFilter OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Modifies or resets the current station address, if supported.\r
@@ -337,8 +396,7 @@ EFI_STATUS
   IN EFI_SIMPLE_NETWORK_PROTOCOL            *This,\r
   IN BOOLEAN                                Reset,\r
   IN EFI_MAC_ADDRESS                        *New OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Resets or collects the statistics on a network interface.\r
@@ -368,8 +426,7 @@ EFI_STATUS
   IN BOOLEAN                              Reset,\r
   IN OUT UINTN                            *StatisticsSize   OPTIONAL,\r
   OUT EFI_NETWORK_STATISTICS              *StatisticsTable  OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Converts a multicast IP address to a multicast HW MAC address.\r
@@ -399,8 +456,7 @@ EFI_STATUS
   IN BOOLEAN                              IPv6,\r
   IN EFI_IP_ADDRESS                       *IP,\r
   OUT EFI_MAC_ADDRESS                     *MAC\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Performs read and write operations on the NVRAM device attached to a \r
@@ -430,8 +486,7 @@ EFI_STATUS
   IN UINTN                                Offset,\r
   IN UINTN                                BufferSize,\r
   IN OUT VOID                             *Buffer\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Reads the current interrupt status and recycled transmit buffer status from \r
@@ -464,8 +519,7 @@ EFI_STATUS
   IN EFI_SIMPLE_NETWORK_PROTOCOL          *This,\r
   OUT UINT32                              *InterruptStatus OPTIONAL,\r
   OUT VOID                                **TxBuf OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Places a packet in the transmit queue of a network interface.\r
@@ -510,8 +564,7 @@ EFI_STATUS
   IN EFI_MAC_ADDRESS                      *SrcAddr  OPTIONAL,\r
   IN EFI_MAC_ADDRESS                      *DestAddr OPTIONAL,\r
   IN UINT16                               *Protocol OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Receives a packet from a network interface.\r
@@ -555,8 +608,7 @@ EFI_STATUS
   OUT EFI_MAC_ADDRESS                     *SrcAddr    OPTIONAL,\r
   OUT EFI_MAC_ADDRESS                     *DestAddr   OPTIONAL,\r
   OUT UINT16                              *Protocol   OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 #define EFI_SIMPLE_NETWORK_PROTOCOL_REVISION  0x00010000\r
 \r
@@ -565,76 +617,18 @@ EFI_STATUS
 // \r
 #define EFI_SIMPLE_NETWORK_INTERFACE_REVISION   EFI_SIMPLE_NETWORK_PROTOCOL_REVISION\r
 \r
-/**  \r
-  @par Protocol Description:\r
-  The EFI_SIMPLE_NETWORK_PROTOCOL protocol is used to initialize access \r
-  to a network adapter. Once the network adapter initializes, \r
-  the EFI_SIMPLE_NETWORK_PROTOCOL protocol provides services that \r
-  allow packets to be transmitted and received.\r
-  \r
-  @param Revision\r
-  Revision of the EFI_SIMPLE_NETWORK_PROTOCOL. All future revisions must \r
-  be backwards compatible. If a future version is not backwards compatible \r
-  it is not the same GUID.\r
-\r
-  @param Start\r
-  Prepares the network interface for further command operations. \r
-  No other EFI_SIMPLE_NETWORK_PROTOCOL interface functions will operate \r
-  until this call is made. \r
-\r
-  @param Stop\r
-  Stops further network interface command processing. \r
-  No other EFI_SIMPLE_NETWORK_PROTOCOL interface functions will operate \r
-  after this call is made until another Start() call is made. \r
-\r
-  @param Initialize\r
-  Resets the network adapter and allocates the transmit and receive buffers. \r
-\r
-  @param Reset\r
-  Resets the network adapter and reinitializes it with the parameters \r
-  provided in the previous call to Initialize(). \r
-\r
-  @param Shutdown\r
-  Resets the network adapter and leaves it in a state safe for another driver \r
-  to initialize. The memory buffers assigned in the Initialize() call are released. \r
-  After this call, only the Initialize() or Stop() calls may be used. \r
-\r
-  @param ReceiveFilters\r
-  Enables and disables the receive filters for the network interface and, \r
-  if supported, manages the filtered multicast \r
-  HW MAC (Hardware Media Access Control) address list. \r
-\r
-  @param StationAddress\r
-  Modifies or resets the current station address, if supported. \r
-\r
-  @param Statistics\r
-  Collects statistics from the network interface and allows the statistics to be reset. \r
-\r
-  @param MCastIpToMac\r
-  Maps a multicast IP address to a multicast HW MAC address. \r
-\r
-  @param NvData\r
-  Reads and writes the contents of the NVRAM devices attached to the network interface. \r
-\r
-  @param GetStatus\r
-  Reads the current interrupt status and the list of recycled transmit \r
-  buffers from the network interface. \r
-\r
-  @param Transmit\r
-  Places a packet in the transmit queue. \r
-\r
-  @param Receive\r
-  Retrieves a packet from the receive queue, along with the status \r
-  flags that describe the packet type. \r
-\r
-  @param WaitForPacket\r
-  Event used with WaitForEvent() to wait for a packet to be received.\r
-\r
-  @param Mode\r
-  Pointer to the EFI_SIMPLE_NETWORK_MODE data for the device. \r
-\r
-**/\r
+///\r
+/// The EFI_SIMPLE_NETWORK_PROTOCOL protocol is used to initialize access \r
+/// to a network adapter. Once the network adapter initializes, \r
+/// the EFI_SIMPLE_NETWORK_PROTOCOL protocol provides services that \r
+/// allow packets to be transmitted and received.\r
+///\r
 struct _EFI_SIMPLE_NETWORK_PROTOCOL {\r
+  ///\r
+  /// Revision of the EFI_SIMPLE_NETWORK_PROTOCOL. All future revisions must \r
+  /// be backwards compatible. If a future version is not backwards compatible \r
+  /// it is not the same GUID.\r
+  ///\r
   UINT64                              Revision;\r
   EFI_SIMPLE_NETWORK_START            Start;\r
   EFI_SIMPLE_NETWORK_STOP             Stop;\r
@@ -649,7 +643,13 @@ struct _EFI_SIMPLE_NETWORK_PROTOCOL {
   EFI_SIMPLE_NETWORK_GET_STATUS       GetStatus;\r
   EFI_SIMPLE_NETWORK_TRANSMIT         Transmit;\r
   EFI_SIMPLE_NETWORK_RECEIVE          Receive;\r
+  ///\r
+  /// Event used with WaitForEvent() to wait for a packet to be received.\r
+  ///\r
   EFI_EVENT                           WaitForPacket;\r
+  ///\r
+  /// Pointer to the EFI_SIMPLE_NETWORK_MODE data for the device.\r
+  ///\r
   EFI_SIMPLE_NETWORK_MODE             *Mode;\r
 };\r
 \r