IP4_ADDR_CLASSD,
IP4_ADDR_CLASSE,
- IP4_MASK_NUM = 33,
+ IP4_MASK_NUM = 33
};
#pragma pack(1)
#define EFI_NTOHL(EfiIp) (NTOHL (EFI_IP4 ((EfiIp))))
#define EFI_IP4_EQUAL(Ip1, Ip2) (CompareMem ((Ip1), (Ip2), sizeof (EFI_IPv4_ADDRESS)) == 0)
-/**\r
- Return the length of the mask. If the mask is invalid,\r
- return the invalid length 33, which is IP4_MASK_NUM.\r
- NetMask is in the host byte order.\r
-\r
- @param NetMask The netmask to get the length from\r
-\r
- @return The length of the netmask, IP4_MASK_NUM if the mask isn't\r
- @return supported.\r
-\r
+/**
+ Return the length of the mask. If the mask is invalid,
+ return the invalid length 33, which is IP4_MASK_NUM.
+ NetMask is in the host byte order.
+
+ @param NetMask The netmask to get the length from
+
+ @return The length of the netmask, IP4_MASK_NUM if the mask isn't
+ @return supported.
+
**/
INTN
EFIAPI
IN IP4_ADDR Mask
);
-/**\r
- Return the class of the address, such as class a, b, c.\r
- Addr is in host byte order.\r
-\r
- @param Addr The address to get the class from\r
-\r
- @return IP address class, such as IP4_ADDR_CLASSA\r
-\r
+/**
+ Return the class of the address, such as class a, b, c.
+ Addr is in host byte order.
+
+ @param Addr The address to get the class from
+
+ @return IP address class, such as IP4_ADDR_CLASSA
+
**/
INTN
EFIAPI
IN IP4_ADDR Addr
);
-/**\r
- Check whether the IP is a valid unicast address according to\r
- the netmask. If NetMask is zero, use the IP address's class to\r
- get the default mask.\r
-\r
- @param Ip The IP to check againist\r
- @param NetMask The mask of the IP\r
-\r
- @return TRUE if IP is a valid unicast address on the network, otherwise FALSE\r
-\r
+/**
+ Check whether the IP is a valid unicast address according to
+ the netmask. If NetMask is zero, use the IP address's class to
+ get the default mask.
+
+ @param Ip The IP to check againist
+ @param NetMask The mask of the IP
+
+ @return TRUE if IP is a valid unicast address on the network, otherwise FALSE
+
**/
BOOLEAN
Ip4IsUnicast (
#define NET_RANDOM(Seed) ((UINT32) ((UINT32) (Seed) * 1103515245UL + 12345) % 4294967295UL)
-/**\r
- Extract a UINT32 from a byte stream, then convert it to host\r
- byte order. Use this function to avoid alignment error.\r
-\r
- @param Buf The buffer to extract the UINT32.\r
-\r
- @return The UINT32 extracted.\r
-\r
+/**
+ Extract a UINT32 from a byte stream, then convert it to host
+ byte order. Use this function to avoid alignment error.
+
+ @param Buf The buffer to extract the UINT32.
+
+ @return The UINT32 extracted.
+
**/
UINT32
EFIAPI
IN UINT8 *Buf
);
-/**\r
- Put a UINT32 to the byte stream. Convert it from host byte order\r
- to network byte order before putting.\r
-\r
- @param Buf The buffer to put the UINT32\r
- @param Data The data to put\r
-\r
- @return None\r
-\r
+/**
+ Put a UINT32 to the byte stream. Convert it from host byte order
+ to network byte order before putting.
+
+ @param Buf The buffer to put the UINT32
+ @param Data The data to put
+
+ @return None
+
**/
VOID
EFIAPI
IN UINT32 Data
);
-/**\r
- Initialize a random seed using current time.\r
-\r
- None\r
-\r
- @return The random seed initialized with current time.\r
-\r
+/**
+ Initialize a random seed using current time.
+
+ None
+
+ @return The random seed initialized with current time.
+
**/
UINT32
EFIAPI
NET_LIST_USER_STRUCT((ListHead)->BackLink, Type, Field)
-/**\r
- Remove the first entry on the list\r
-\r
- @param Head The list header\r
-\r
- @return The entry that is removed from the list, NULL if the list is empty.\r
-\r
+/**
+ Remove the first entry on the list
+
+ @param Head The list header
+
+ @return The entry that is removed from the list, NULL if the list is empty.
+
**/
LIST_ENTRY *
EFIAPI
LIST_ENTRY *Head
);
-/**\r
- Remove the last entry on the list\r
-\r
- @param Head The list head\r
-\r
- @return The entry that is removed from the list, NULL if the list is empty.\r
-\r
+/**
+ Remove the last entry on the list
+
+ @param Head The list head
+
+ @return The entry that is removed from the list, NULL if the list is empty.
+
**/
LIST_ENTRY *
EFIAPI
LIST_ENTRY *Head
);
-/**\r
- Insert the NewEntry after the PrevEntry\r
-\r
- @param PrevEntry The previous entry to insert after\r
- @param NewEntry The new entry to insert\r
-\r
- @return None\r
-\r
+/**
+ Insert the NewEntry after the PrevEntry
+
+ @param PrevEntry The previous entry to insert after
+ @param NewEntry The new entry to insert
+
+ @return None
+
**/
VOID
EFIAPI
IN LIST_ENTRY *NewEntry
);
-/**\r
- Insert the NewEntry before the PostEntry\r
-\r
- @param PostEntry The entry to insert before\r
- @param NewEntry The new entry to insert\r
-\r
- @return None\r
-\r
+/**
+ Insert the NewEntry before the PostEntry
+
+ @param PostEntry The entry to insert before
+ @param NewEntry The new entry to insert
+
+ @return None
+
**/
VOID
EFIAPI
#define NET_MAP_INCREAMENT 64
-/**\r
- Initialize the netmap. Netmap is a reposity to keep the <Key, Value> pairs.\r
-\r
- @param Map The netmap to initialize\r
-\r
- @return None\r
-\r
+/**
+ Initialize the netmap. Netmap is a reposity to keep the <Key, Value> pairs.
+
+ @param Map The netmap to initialize
+
+ @return None
+
**/
VOID
EFIAPI
IN NET_MAP *Map
);
-/**\r
- To clean up the netmap, that is, release allocated memories.\r
-\r
- @param Map The netmap to clean up.\r
-\r
- @return None\r
-\r
+/**
+ To clean up the netmap, that is, release allocated memories.
+
+ @param Map The netmap to clean up.
+
+ @return None
+
**/
VOID
EFIAPI
IN NET_MAP *Map
);
-/**\r
- Test whether the netmap is empty\r
-\r
- @param Map The net map to test\r
-\r
- @return TRUE if the netmap is empty, otherwise FALSE.\r
-\r
+/**
+ Test whether the netmap is empty
+
+ @param Map The net map to test
+
+ @return TRUE if the netmap is empty, otherwise FALSE.
+
**/
BOOLEAN
EFIAPI
IN NET_MAP *Map
);
-/**\r
- Return the number of the <Key, Value> pairs in the netmap.\r
-\r
- @param Map The netmap to get the entry number\r
-\r
- @return The entry number in the netmap.\r
-\r
+/**
+ Return the number of the <Key, Value> pairs in the netmap.
+
+ @param Map The netmap to get the entry number
+
+ @return The entry number in the netmap.
+
**/
UINTN
EFIAPI
IN NET_MAP *Map
);
-/**\r
- Allocate an item to save the <Key, Value> pair to the head of the netmap.\r
-\r
- @param Map The netmap to insert into\r
- @param Key The user's key\r
- @param Value The user's value for the key\r
-\r
- @retval EFI_OUT_OF_RESOURCES Failed to allocate the memory for the item\r
- @retval EFI_SUCCESS The item is inserted to the head\r
-\r
+/**
+ Allocate an item to save the <Key, Value> pair to the head of the netmap.
+
+ @param Map The netmap to insert into
+ @param Key The user's key
+ @param Value The user's value for the key
+
+ @retval EFI_OUT_OF_RESOURCES Failed to allocate the memory for the item
+ @retval EFI_SUCCESS The item is inserted to the head
+
**/
EFI_STATUS
EFIAPI
IN VOID *Value OPTIONAL
);
-/**\r
- Allocate an item to save the <Key, Value> pair to the tail of the netmap.\r
-\r
- @param Map The netmap to insert into\r
- @param Key The user's key\r
- @param Value The user's value for the key\r
-\r
- @retval EFI_OUT_OF_RESOURCES Failed to allocate the memory for the item\r
- @retval EFI_SUCCESS The item is inserted to the tail\r
-\r
+/**
+ Allocate an item to save the <Key, Value> pair to the tail of the netmap.
+
+ @param Map The netmap to insert into
+ @param Key The user's key
+ @param Value The user's value for the key
+
+ @retval EFI_OUT_OF_RESOURCES Failed to allocate the memory for the item
+ @retval EFI_SUCCESS The item is inserted to the tail
+
**/
EFI_STATUS
EFIAPI
IN VOID *Value OPTIONAL
);
-/**\r
- Find the key in the netmap\r
-\r
- @param Map The netmap to search within\r
- @param Key The key to search\r
-\r
- @return The point to the item contains the Key, or NULL if Key isn't in the map.\r
-\r
+/**
+ Find the key in the netmap
+
+ @param Map The netmap to search within
+ @param Key The key to search
+
+ @return The point to the item contains the Key, or NULL if Key isn't in the map.
+
**/
NET_MAP_ITEM *
EFIAPI
IN VOID *Key
);
-/**\r
- Remove the item from the netmap\r
-\r
- @param Map The netmap to remove the item from\r
- @param Item The item to remove\r
- @param Value The variable to receive the value if not NULL\r
-\r
- @return The key of the removed item.\r
-\r
+/**
+ Remove the item from the netmap
+
+ @param Map The netmap to remove the item from
+ @param Item The item to remove
+ @param Value The variable to receive the value if not NULL
+
+ @return The key of the removed item.
+
**/
VOID *
EFIAPI
OUT VOID **Value OPTIONAL
);
-/**\r
- Remove the first entry on the netmap\r
-\r
- @param Map The netmap to remove the head from\r
- @param Value The variable to receive the value if not NULL\r
-\r
- @return The key of the item removed\r
-\r
+/**
+ Remove the first entry on the netmap
+
+ @param Map The netmap to remove the head from
+ @param Value The variable to receive the value if not NULL
+
+ @return The key of the item removed
+
**/
VOID *
EFIAPI
OUT VOID **Value OPTIONAL
);
-/**\r
- Remove the last entry on the netmap\r
-\r
- @param Map The netmap to remove the tail from\r
- @param Value The variable to receive the value if not NULL\r
-\r
- @return The key of the item removed\r
-\r
+/**
+ Remove the last entry on the netmap
+
+ @param Map The netmap to remove the tail from
+ @param Value The variable to receive the value if not NULL
+
+ @return The key of the item removed
+
**/
VOID *
EFIAPI
IN VOID *Arg
);
-/**\r
- Iterate through the netmap and call CallBack for each item. It will\r
- contiue the traverse if CallBack returns EFI_SUCCESS, otherwise, break\r
- from the loop. It returns the CallBack's last return value. This\r
- function is delete safe for the current item.\r
-\r
- @param Map The Map to iterate through\r
- @param CallBack The callback function to call for each item.\r
- @param Arg The opaque parameter to the callback\r
-\r
- @return It returns the CallBack's last return value.\r
-\r
+/**
+ Iterate through the netmap and call CallBack for each item. It will
+ contiue the traverse if CallBack returns EFI_SUCCESS, otherwise, break
+ from the loop. It returns the CallBack's last return value. This
+ function is delete safe for the current item.
+
+ @param Map The Map to iterate through
+ @param CallBack The callback function to call for each item.
+ @param Arg The opaque parameter to the callback
+
+ @return It returns the CallBack's last return value.
+
**/
EFI_STATUS
EFIAPI
//
// Helper functions to implement driver binding and service binding protocols.
//
-/**\r
- Create a child of the service that is identified by ServiceBindingGuid.\r
-\r
- @param Controller The controller which has the service installed.\r
- @param Image The image handle used to open service.\r
- @param ServiceBindingGuid The service's Guid.\r
- @param ChildHandle The handle to receive the create child\r
-\r
- @retval EFI_SUCCESS The child is successfully created.\r
- @retval Others Failed to create the child.\r
-\r
+/**
+ Create a child of the service that is identified by ServiceBindingGuid.
+
+ @param Controller The controller which has the service installed.
+ @param Image The image handle used to open service.
+ @param ServiceBindingGuid The service's Guid.
+ @param ChildHandle The handle to receive the create child
+
+ @retval EFI_SUCCESS The child is successfully created.
+ @retval Others Failed to create the child.
+
**/
EFI_STATUS
EFIAPI
OUT EFI_HANDLE *ChildHandle
);
-/**\r
- Destory a child of the service that is identified by ServiceBindingGuid.\r
-\r
- @param Controller The controller which has the service installed.\r
- @param Image The image handle used to open service.\r
- @param ServiceBindingGuid The service's Guid.\r
- @param ChildHandle The child to destory\r
-\r
- @retval EFI_SUCCESS The child is successfully destoried.\r
- @retval Others Failed to destory the child.\r
-\r
+/**
+ Destory a child of the service that is identified by ServiceBindingGuid.
+
+ @param Controller The controller which has the service installed.
+ @param Image The image handle used to open service.
+ @param ServiceBindingGuid The service's Guid.
+ @param ChildHandle The child to destory
+
+ @retval EFI_SUCCESS The child is successfully destoried.
+ @retval Others Failed to destory the child.
+
**/
EFI_STATUS
EFIAPI
IN EFI_HANDLE ChildHandle
);
-/**\r
- Convert the mac address of the simple network protocol installed on\r
- SnpHandle to a unicode string. Callers are responsible for freeing the\r
- string storage.\r
-\r
- @param SnpHandle The handle where the simple network protocol is\r
- installed on.\r
- @param ImageHandle The image handle used to act as the agent handle to\r
- get the simple network protocol.\r
- @param MacString The pointer to store the address of the string\r
- representation of the mac address.\r
-\r
- @retval EFI_OUT_OF_RESOURCES There are not enough memory resource.\r
- @retval other Failed to open the simple network protocol.\r
-\r
+/**
+ Convert the mac address of the simple network protocol installed on
+ SnpHandle to a unicode string. Callers are responsible for freeing the
+ string storage.
+
+ @param SnpHandle The handle where the simple network protocol is
+ installed on.
+ @param ImageHandle The image handle used to act as the agent handle to
+ get the simple network protocol.
+ @param MacString The pointer to store the address of the string
+ representation of the mac address.
+
+ @retval EFI_OUT_OF_RESOURCES There are not enough memory resource.
+ @retval other Failed to open the simple network protocol.
+
**/
EFI_STATUS
EFIAPI
IN OUT CHAR16 **MacString
);
-/**\r
- Create an IPv4 device path node.\r
-\r
- @param Node Pointer to the IPv4 device path node.\r
- @param Controller The handle where the NIC IP4 config protocol resides.\r
- @param LocalIp The local IPv4 address.\r
- @param LocalPort The local port.\r
- @param RemoteIp The remote IPv4 address.\r
- @param RemotePort The remote port.\r
- @param Protocol The protocol type in the IP header.\r
- @param UseDefaultAddress Whether this instance is using default address or not.\r
-\r
- @retval None\r
+/**
+ Create an IPv4 device path node.
+
+ @param Node Pointer to the IPv4 device path node.
+ @param Controller The handle where the NIC IP4 config protocol resides.
+ @param LocalIp The local IPv4 address.
+ @param LocalPort The local port.
+ @param RemoteIp The remote IPv4 address.
+ @param RemotePort The remote port.
+ @param Protocol The protocol type in the IP header.
+ @param UseDefaultAddress Whether this instance is using default address or not.
+
+ @retval None
**/
VOID
EFIAPI
IN BOOLEAN UseDefaultAddress
);
-/**\r
- Find the UNDI/SNP handle from controller and protocol GUID.\r
- For example, IP will open a MNP child to transmit/receive\r
- packets, when MNP is stopped, IP should also be stopped. IP\r
- needs to find its own private data which is related the IP's\r
- service binding instance that is install on UNDI/SNP handle.\r
- Now, the controller is either a MNP or ARP child handle. But\r
- IP opens these handle BY_DRIVER, use that info, we can get the\r
- UNDI/SNP handle.\r
-\r
- @param Controller Then protocol handle to check\r
- @param ProtocolGuid The protocol that is related with the handle.\r
-\r
- @return The UNDI/SNP handle or NULL.\r
-\r
+/**
+ Find the UNDI/SNP handle from controller and protocol GUID.
+ For example, IP will open a MNP child to transmit/receive
+ packets, when MNP is stopped, IP should also be stopped. IP
+ needs to find its own private data which is related the IP's
+ service binding instance that is install on UNDI/SNP handle.
+ Now, the controller is either a MNP or ARP child handle. But
+ IP opens these handle BY_DRIVER, use that info, we can get the
+ UNDI/SNP handle.
+
+ @param Controller Then protocol handle to check
+ @param ProtocolGuid The protocol that is related with the handle.
+
+ @return The UNDI/SNP handle or NULL.
+
**/
EFI_HANDLE
EFIAPI
IN EFI_GUID *ProtocolGuid
);
-/**\r
- Add a Deferred Procedure Call to the end of the DPC queue.\r
-\r
- @DpcTpl The EFI_TPL that the DPC should be invoked.\r
- @DpcProcedure Pointer to the DPC's function.\r
- @DpcContext Pointer to the DPC's context. Passed to DpcProcedure\r
- when DpcProcedure is invoked.\r
-\r
- @retval EFI_SUCCESS The DPC was queued.\r
- @retval EFI_INVALID_PARAMETER DpcTpl is not a valid EFI_TPL.\r
- DpcProcedure is NULL.\r
- @retval EFI_OUT_OF_RESOURCES There are not enough resources available to\r
- add the DPC to the queue.\r
-\r
+/**
+ Add a Deferred Procedure Call to the end of the DPC queue.
+
+ @DpcTpl The EFI_TPL that the DPC should be invoked.
+ @DpcProcedure Pointer to the DPC's function.
+ @DpcContext Pointer to the DPC's context. Passed to DpcProcedure
+ when DpcProcedure is invoked.
+
+ @retval EFI_SUCCESS The DPC was queued.
+ @retval EFI_INVALID_PARAMETER DpcTpl is not a valid EFI_TPL.
+ DpcProcedure is NULL.
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources available to
+ add the DPC to the queue.
+
**/
EFI_STATUS
EFIAPI
IN VOID *DpcContext OPTIONAL
);
-/**\r
- Add a Deferred Procedure Call to the end of the DPC queue.\r
-\r
- @retval EFI_SUCCESS One or more DPCs were invoked.\r
- @retval EFI_NOT_FOUND No DPCs were invoked.\r
-\r
+/**
+ Add a Deferred Procedure Call to the end of the DPC queue.
+
+ @retval EFI_SUCCESS One or more DPCs were invoked.
+ @retval EFI_NOT_FOUND No DPCs were invoked.
+
**/
EFI_STATUS
EFIAPI
VOID
);
-/**\r
- The constructor function caches the pointer to DPC protocol.\r
-\r
- The constructor function locates DPC protocol from protocol database.\r
- It will ASSERT() if that operation fails and it will always return EFI_SUCCESS.\r
-\r
- @param ImageHandle The firmware allocated handle for the EFI image.\r
- @param SystemTable A pointer to the EFI System Table.\r
-\r
- @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.\r
-\r
+/**
+ The constructor function caches the pointer to DPC protocol.
+
+ The constructor function locates DPC protocol from protocol database.
+ It will ASSERT() if that operation fails and it will always return EFI_SUCCESS.
+
+ @param ImageHandle The firmware allocated handle for the EFI image.
+ @param SystemTable A pointer to the EFI System Table.
+
+ @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
+
**/
EFI_STATUS
EFIAPI
NET_PROTO_DATA = 64, // Opaque buffer for protocols
NET_BUF_HEAD = 1, // Trim or allocate space from head
NET_BUF_TAIL = 0, // Trim or allocate space from tail
- NET_VECTOR_OWN_FIRST = 0x01, // We allocated the 1st block in the vector
+ NET_VECTOR_OWN_FIRST = 0x01 // We allocated the 1st block in the vector
};
#define NET_CHECK_SIGNATURE(PData, SIGNATURE) \
#define NET_TAILSPACE(BlockOp) \
(UINTN)((BlockOp)->BlockTail - (BlockOp)->Tail)
-/**\r
- Allocate a single block NET_BUF. Upon allocation, all the\r
- free space is in the tail room.\r
-\r
- @param Len The length of the block.\r
-\r
- @retval * Pointer to the allocated NET_BUF. If NULL the\r
- allocation failed due to resource limit.\r
-\r
+/**
+ Allocate a single block NET_BUF. Upon allocation, all the
+ free space is in the tail room.
+
+ @param Len The length of the block.
+
+ @retval * Pointer to the allocated NET_BUF. If NULL the
+ allocation failed due to resource limit.
+
**/
NET_BUF *
EFIAPI
IN UINT32 Len
);
-/**\r
- Free the buffer and its associated NET_VECTOR.\r
-\r
- @param Nbuf Pointer to the NET_BUF to be freed.\r
-\r
- @return None.\r
-\r
+/**
+ Free the buffer and its associated NET_VECTOR.
+
+ @param Nbuf Pointer to the NET_BUF to be freed.
+
+ @return None.
+
**/
VOID
EFIAPI
IN NET_BUF *Nbuf
);
-/**\r
- Get the position of some byte in the net buffer. This can be used\r
- to, for example, retrieve the IP header in the packet. It also\r
- returns the fragment that contains the byte which is used mainly by\r
- the buffer implementation itself.\r
-\r
- @param Nbuf Pointer to the net buffer.\r
- @param Offset The index or offset of the byte\r
- @param Index Index of the fragment that contains the block\r
-\r
- @retval * Pointer to the nth byte of data in the net buffer.\r
- If NULL, there is no such data in the net buffer.\r
-\r
+/**
+ Get the position of some byte in the net buffer. This can be used
+ to, for example, retrieve the IP header in the packet. It also
+ returns the fragment that contains the byte which is used mainly by
+ the buffer implementation itself.
+
+ @param Nbuf Pointer to the net buffer.
+ @param Offset The index or offset of the byte
+ @param Index Index of the fragment that contains the block
+
+ @retval * Pointer to the nth byte of data in the net buffer.
+ If NULL, there is no such data in the net buffer.
+
**/
UINT8 *
EFIAPI
OUT UINT32 *Index OPTIONAL
);
-/**\r
- Create a copy of NET_BUF that share the associated NET_DATA.\r
-\r
- @param Nbuf Pointer to the net buffer to be cloned.\r
-\r
- @retval * Pointer to the cloned net buffer.\r
-\r
+/**
+ Create a copy of NET_BUF that share the associated NET_DATA.
+
+ @param Nbuf Pointer to the net buffer to be cloned.
+
+ @retval * Pointer to the cloned net buffer.
+
**/
NET_BUF *
EFIAPI
IN NET_BUF *Nbuf
);
-/**\r
- Create a duplicated copy of Nbuf, data is copied. Also leave some\r
- head space before the data.\r
-\r
- @param Nbuf Pointer to the net buffer to be cloned.\r
- @param Duplicate Pointer to the net buffer to duplicate to, if NULL\r
- a new net buffer is allocated.\r
- @param HeadSpace Length of the head space to reserve\r
-\r
- @retval * Pointer to the duplicated net buffer.\r
-\r
+/**
+ Create a duplicated copy of Nbuf, data is copied. Also leave some
+ head space before the data.
+
+ @param Nbuf Pointer to the net buffer to be cloned.
+ @param Duplicate Pointer to the net buffer to duplicate to, if NULL
+ a new net buffer is allocated.
+ @param HeadSpace Length of the head space to reserve
+
+ @retval * Pointer to the duplicated net buffer.
+
**/
NET_BUF *
EFIAPI
IN UINT32 HeadSpace
);
-/**\r
- Create a NET_BUF structure which contains Len byte data of\r
- Nbuf starting from Offset. A new NET_BUF structure will be\r
- created but the associated data in NET_VECTOR is shared.\r
- This function exists to do IP packet fragmentation.\r
-\r
- @param Nbuf Pointer to the net buffer to be cloned.\r
- @param Offset Starting point of the data to be included in new\r
- buffer.\r
- @param Len How many data to include in new data\r
- @param HeadSpace How many bytes of head space to reserve for\r
- protocol header\r
-\r
- @retval * Pointer to the cloned net buffer.\r
-\r
+/**
+ Create a NET_BUF structure which contains Len byte data of
+ Nbuf starting from Offset. A new NET_BUF structure will be
+ created but the associated data in NET_VECTOR is shared.
+ This function exists to do IP packet fragmentation.
+
+ @param Nbuf Pointer to the net buffer to be cloned.
+ @param Offset Starting point of the data to be included in new
+ buffer.
+ @param Len How many data to include in new data
+ @param HeadSpace How many bytes of head space to reserve for
+ protocol header
+
+ @retval * Pointer to the cloned net buffer.
+
**/
NET_BUF *
EFIAPI
IN UINT32 HeadSpace
);
-/**\r
- Reserve some space in the header room of the buffer.\r
- Upon allocation, all the space are in the tail room\r
- of the buffer. Call this function to move some space\r
- to the header room. This function is quite limited in\r
- that it can only reserver space from the first block\r
- of an empty NET_BUF not built from the external. But\r
- it should be enough for the network stack.\r
-\r
- @param Nbuf Pointer to the net buffer.\r
- @param Len The length of buffer to be reserverd.\r
-\r
- @return None.\r
-\r
+/**
+ Reserve some space in the header room of the buffer.
+ Upon allocation, all the space are in the tail room
+ of the buffer. Call this function to move some space
+ to the header room. This function is quite limited in
+ that it can only reserver space from the first block
+ of an empty NET_BUF not built from the external. But
+ it should be enough for the network stack.
+
+ @param Nbuf Pointer to the net buffer.
+ @param Len The length of buffer to be reserverd.
+
+ @return None.
+
**/
VOID
EFIAPI
IN UINT32 Len
);
-/**\r
- Allocate some space from the header or tail of the buffer.\r
-\r
- @param Nbuf Pointer to the net buffer.\r
- @param Len The length of the buffer to be allocated.\r
- @param FromHead The flag to indicate whether reserve the data from\r
- head or tail. TRUE for from head, and FALSE for\r
- from tail.\r
-\r
- @retval * Pointer to the first byte of the allocated buffer.\r
-\r
+/**
+ Allocate some space from the header or tail of the buffer.
+
+ @param Nbuf Pointer to the net buffer.
+ @param Len The length of the buffer to be allocated.
+ @param FromHead The flag to indicate whether reserve the data from
+ head or tail. TRUE for from head, and FALSE for
+ from tail.
+
+ @retval * Pointer to the first byte of the allocated buffer.
+
**/
UINT8 *
EFIAPI
IN BOOLEAN FromHead
);
-/**\r
- Trim some data from the header or tail of the buffer.\r
-\r
- @param Nbuf Pointer to the net buffer.\r
- @param Len The length of the data to be trimmed.\r
- @param FromHead The flag to indicate whether trim data from head or\r
- tail. TRUE for from head, and FALSE for from tail.\r
-\r
- @retval UINTN Length of the actually trimmed data.\r
-\r
+/**
+ Trim some data from the header or tail of the buffer.
+
+ @param Nbuf Pointer to the net buffer.
+ @param Len The length of the data to be trimmed.
+ @param FromHead The flag to indicate whether trim data from head or
+ tail. TRUE for from head, and FALSE for from tail.
+
+ @retval UINTN Length of the actually trimmed data.
+
**/
UINT32
EFIAPI
IN BOOLEAN FromHead
);
-/**\r
- Copy the data from the specific offset to the destination.\r
-\r
- @param Nbuf Pointer to the net buffer.\r
- @param Offset The sequence number of the first byte to copy.\r
- @param Len Length of the data to copy.\r
- @param Dest The destination of the data to copy to.\r
-\r
- @retval UINTN The length of the copied data.\r
-\r
+/**
+ Copy the data from the specific offset to the destination.
+
+ @param Nbuf Pointer to the net buffer.
+ @param Offset The sequence number of the first byte to copy.
+ @param Len Length of the data to copy.
+ @param Dest The destination of the data to copy to.
+
+ @retval UINTN The length of the copied data.
+
**/
UINT32
EFIAPI
IN UINT8 *Dest
);
-/**\r
- Build a NET_BUF from external blocks.\r
-\r
- @param ExtFragment Pointer to the data block.\r
- @param ExtNum The number of the data block.\r
- @param HeadSpace The head space to be reserved.\r
- @param HeadLen The length of the protocol header, This function\r
- will pull that number of data into a linear block.\r
- @param ExtFree Pointer to the caller provided free function.\r
- @param Arg The argument passed to ExtFree when ExtFree is\r
- called.\r
-\r
- @retval * Pointer to the net buffer built from the data\r
- blocks.\r
-\r
+/**
+ Build a NET_BUF from external blocks.
+
+ @param ExtFragment Pointer to the data block.
+ @param ExtNum The number of the data block.
+ @param HeadSpace The head space to be reserved.
+ @param HeadLen The length of the protocol header, This function
+ will pull that number of data into a linear block.
+ @param ExtFree Pointer to the caller provided free function.
+ @param Arg The argument passed to ExtFree when ExtFree is
+ called.
+
+ @retval * Pointer to the net buffer built from the data
+ blocks.
+
**/
NET_BUF *
EFIAPI
IN VOID *Arg OPTIONAL
);
-/**\r
- Build a fragment table to contain the fragments in the\r
- buffer. This is the opposite of the NetbufFromExt.\r
-\r
- @param Nbuf Point to the net buffer\r
- @param ExtFragment Pointer to the data block.\r
- @param ExtNum The number of the data block.\r
-\r
- @retval EFI_BUFFER_TOO_SMALL The number of non-empty block is bigger than ExtNum\r
- @retval EFI_SUCCESS Fragment table built.\r
-\r
+/**
+ Build a fragment table to contain the fragments in the
+ buffer. This is the opposite of the NetbufFromExt.
+
+ @param Nbuf Point to the net buffer
+ @param ExtFragment Pointer to the data block.
+ @param ExtNum The number of the data block.
+
+ @retval EFI_BUFFER_TOO_SMALL The number of non-empty block is bigger than ExtNum
+ @retval EFI_SUCCESS Fragment table built.
+
**/
EFI_STATUS
EFIAPI
IN UINT32 *ExtNum
);
-/**\r
- Build a NET_BUF from a list of NET_BUF.\r
-\r
- @param BufList A List of NET_BUF.\r
- @param HeadSpace The head space to be reserved.\r
- @param HeaderLen The length of the protocol header, This function\r
- will pull that number of data into a linear block.\r
- @param ExtFree Pointer to the caller provided free function.\r
- @param Arg The argument passed to ExtFree when ExtFree is\r
- called.\r
-\r
- @retval * Pointer to the net buffer built from the data\r
- blocks.\r
-\r
+/**
+ Build a NET_BUF from a list of NET_BUF.
+
+ @param BufList A List of NET_BUF.
+ @param HeadSpace The head space to be reserved.
+ @param HeaderLen The length of the protocol header, This function
+ will pull that number of data into a linear block.
+ @param ExtFree Pointer to the caller provided free function.
+ @param Arg The argument passed to ExtFree when ExtFree is
+ called.
+
+ @retval * Pointer to the net buffer built from the data
+ blocks.
+
**/
NET_BUF *
EFIAPI
IN VOID *Arg OPTIONAL
);
-/**\r
- Free a list of net buffers.\r
-\r
- @param Head Pointer to the head of linked net buffers.\r
-\r
- @return None.\r
-\r
+/**
+ Free a list of net buffers.
+
+ @param Head Pointer to the head of linked net buffers.
+
+ @return None.
+
**/
VOID
EFIAPI
IN LIST_ENTRY *Head
);
-/**\r
- Initiate the net buffer queue.\r
-\r
- @param NbufQue Pointer to the net buffer queue to be initiated.\r
-\r
- @return None.\r
-\r
+/**
+ Initiate the net buffer queue.
+
+ @param NbufQue Pointer to the net buffer queue to be initiated.
+
+ @return None.
+
**/
VOID
EFIAPI
IN NET_BUF_QUEUE *NbufQue
);
-/**\r
- Allocate an initialized net buffer queue.\r
-\r
- None.\r
-\r
- @retval * Pointer to the allocated net buffer queue.\r
-\r
+/**
+ Allocate an initialized net buffer queue.
+
+ None.
+
+ @retval * Pointer to the allocated net buffer queue.
+
**/
NET_BUF_QUEUE *
EFIAPI
VOID
);
-/**\r
- Free a net buffer queue.\r
-\r
- @param NbufQue Poitner to the net buffer queue to be freed.\r
-\r
- @return None.\r
-\r
+/**
+ Free a net buffer queue.
+
+ @param NbufQue Poitner to the net buffer queue to be freed.
+
+ @return None.
+
**/
VOID
EFIAPI
IN NET_BUF_QUEUE *NbufQue
);
-/**\r
- Remove a net buffer from head in the specific queue.\r
-\r
- @param NbufQue Pointer to the net buffer queue.\r
-\r
- @retval * Pointer to the net buffer removed from the specific\r
- queue.\r
-\r
+/**
+ Remove a net buffer from head in the specific queue.
+
+ @param NbufQue Pointer to the net buffer queue.
+
+ @retval * Pointer to the net buffer removed from the specific
+ queue.
+
**/
NET_BUF *
EFIAPI
IN NET_BUF_QUEUE *NbufQue
);
-/**\r
- Append a buffer to the end of the queue.\r
-\r
- @param NbufQue Pointer to the net buffer queue.\r
- @param Nbuf Pointer to the net buffer to be appended.\r
-\r
- @return None.\r
-\r
+/**
+ Append a buffer to the end of the queue.
+
+ @param NbufQue Pointer to the net buffer queue.
+ @param Nbuf Pointer to the net buffer to be appended.
+
+ @return None.
+
**/
VOID
EFIAPI
IN NET_BUF_QUEUE *NbufQue,
IN NET_BUF *Nbuf
);
-\r
-/**\r
- Copy some data from the buffer queue to the destination.\r
-\r
- @param NbufQue Pointer to the net buffer queue.\r
- @param Offset The sequence number of the first byte to copy.\r
- @param Len Length of the data to copy.\r
- @param Dest The destination of the data to copy to.\r
-\r
- @retval UINTN The length of the copied data.\r
-\r
+
+/**
+ Copy some data from the buffer queue to the destination.
+
+ @param NbufQue Pointer to the net buffer queue.
+ @param Offset The sequence number of the first byte to copy.
+ @param Len Length of the data to copy.
+ @param Dest The destination of the data to copy to.
+
+ @retval UINTN The length of the copied data.
+
**/
UINT32
EFIAPI
IN UINT32 Len,
IN UINT8 *Dest
);
-\r
-/**\r
- Copy some data from the buffer queue to the destination.\r
-\r
- @param NbufQue Pointer to the net buffer queue.\r
- @param Offset The sequence number of the first byte to copy.\r
- @param Len Length of the data to copy.\r
- @param Dest The destination of the data to copy to.\r
-\r
- @retval UINTN The length of the copied data.\r
-\r
+
+/**
+ Copy some data from the buffer queue to the destination.
+
+ @param NbufQue Pointer to the net buffer queue.
+ @param Offset The sequence number of the first byte to copy.
+ @param Len Length of the data to copy.
+ @param Dest The destination of the data to copy to.
+
+ @retval UINTN The length of the copied data.
+
**/
UINT32
EFIAPI
IN UINT32 Len
);
-\r
-/**\r
- Flush the net buffer queue.\r
-\r
- @param NbufQue Pointer to the queue to be flushed.\r
-\r
- @return None.\r
-\r
+
+/**
+ Flush the net buffer queue.
+
+ @param NbufQue Pointer to the queue to be flushed.
+
+ @return None.
+
**/
VOID
EFIAPI
NetbufQueFlush (
IN NET_BUF_QUEUE *NbufQue
);
-\r
-/**\r
- Compute checksum for a bulk of data.\r
-\r
- @param Bulk Pointer to the data.\r
- @param Len Length of the data, in bytes.\r
-\r
- @retval UINT16 The computed checksum.\r
-\r
+
+/**
+ Compute checksum for a bulk of data.
+
+ @param Bulk Pointer to the data.
+ @param Len Length of the data, in bytes.
+
+ @retval UINT16 The computed checksum.
+
**/
UINT16
EFIAPI
IN UINT32 Len
);
-/**\r
- Add two checksums.\r
-\r
- @param Checksum1 The first checksum to be added.\r
- @param Checksum2 The second checksum to be added.\r
-\r
- @retval UINT16 The new checksum.\r
-\r
-**/\r
+/**
+ Add two checksums.
+
+ @param Checksum1 The first checksum to be added.
+ @param Checksum2 The second checksum to be added.
+
+ @retval UINT16 The new checksum.
+
+**/
UINT16
EFIAPI
NetAddChecksum (
IN UINT16 Checksum2
);
-/**\r
- Compute the checksum for a NET_BUF.\r
-\r
- @param Nbuf Pointer to the net buffer.\r
-\r
- @retval UINT16 The computed checksum.\r
-\r
+/**
+ Compute the checksum for a NET_BUF.
+
+ @param Nbuf Pointer to the net buffer.
+
+ @retval UINT16 The computed checksum.
+
**/
UINT16
EFIAPI
IN NET_BUF *Nbuf
);
-/**\r
- Compute the checksum for TCP/UDP pseudo header.\r
- Src, Dst are in network byte order. and Len is\r
- in host byte order.\r
-\r
- @param Src The source address of the packet.\r
- @param Dst The destination address of the packet.\r
- @param Proto The protocol type of the packet.\r
- @param Len The length of the packet.\r
-\r
- @retval UINT16 The computed checksum.\r
-\r
+/**
+ Compute the checksum for TCP/UDP pseudo header.
+ Src, Dst are in network byte order. and Len is
+ in host byte order.
+
+ @param Src The source address of the packet.
+ @param Dst The destination address of the packet.
+ @param Proto The protocol type of the packet.
+ @param Len The length of the packet.
+
+ @retval UINT16 The computed checksum.
+
**/
UINT16
EFIAPI