/** @file\r
Common head file for TCP socket.\r
\r
- Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>\r
\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include <Library/UefiLib.h>\r
#include <Library/DpcLib.h>\r
\r
-#define SOCK_SND_BUF 0\r
-#define SOCK_RCV_BUF 1\r
+#define SOCK_SND_BUF 0\r
+#define SOCK_RCV_BUF 1\r
\r
-#define SOCK_BUFF_LOW_WATER (2 * 1024)\r
-#define SOCK_RCV_BUFF_SIZE (8 * 1024)\r
-#define SOCK_SND_BUFF_SIZE (8 * 1024)\r
-#define SOCK_BACKLOG 5\r
+#define SOCK_BUFF_LOW_WATER (2 * 1024)\r
+#define SOCK_RCV_BUFF_SIZE (8 * 1024)\r
+#define SOCK_SND_BUFF_SIZE (8 * 1024)\r
+#define SOCK_BACKLOG 5\r
\r
#define PROTO_RESERVED_LEN 20\r
\r
-#define SO_NO_MORE_DATA 0x0001\r
+#define SO_NO_MORE_DATA 0x0001\r
\r
//\r
//\r
///\r
/// Socket state\r
///\r
-#define SO_CLOSED 0\r
-#define SO_LISTENING 1\r
-#define SO_CONNECTING 2\r
-#define SO_CONNECTED 3\r
-#define SO_DISCONNECTING 4\r
+#define SO_CLOSED 0\r
+#define SO_LISTENING 1\r
+#define SO_CONNECTING 2\r
+#define SO_CONNECTED 3\r
+#define SO_DISCONNECTING 4\r
\r
///\r
/// Socket configure state\r
@param[in] Sock Pointer to the socket\r
\r
**/\r
-#define SOCK_NO_MORE_DATA(Sock) ((Sock)->Flag |= SO_NO_MORE_DATA)\r
+#define SOCK_NO_MORE_DATA(Sock) ((Sock)->Flag |= SO_NO_MORE_DATA)\r
\r
/**\r
Check whether the socket is unconfigured.\r
\r
@param[in] Sock Pointer to the socket.\r
\r
- @retval TRUE The socket is unconfigued.\r
- @retval FALSE The socket is not unconfigued.\r
+ @retval TRUE The socket is unconfigured.\r
+ @retval FALSE The socket is not unconfigured.\r
\r
**/\r
#define SOCK_IS_UNCONFIGURED(Sock) ((Sock)->ConfigureState == SO_UNCONFIGURED)\r
\r
@param[in] Sock Pointer to the socket\r
\r
- @retval TRUE The socket is configued\r
- @retval FALSE The socket is not configued\r
+ @retval TRUE The socket is configured\r
+ @retval FALSE The socket is not configured\r
\r
**/\r
#define SOCK_IS_CONFIGURED(Sock) \\r
\r
@param[in] Sock Pointer to the socket.\r
\r
- @retval TRUE The socket is configued to active mode.\r
- @retval FALSE The socket is not configued to active mode.\r
+ @retval TRUE The socket is configured to active mode.\r
+ @retval FALSE The socket is not configured to active mode.\r
\r
**/\r
-#define SOCK_IS_CONFIGURED_ACTIVE(Sock) ((Sock)->ConfigureState == SO_CONFIGURED_ACTIVE)\r
+#define SOCK_IS_CONFIGURED_ACTIVE(Sock) ((Sock)->ConfigureState == SO_CONFIGURED_ACTIVE)\r
\r
/**\r
Check whether the socket is configured to passive mode.\r
\r
@param[in] Sock Pointer to the socket.\r
\r
- @retval TRUE The socket is configued to passive mode.\r
- @retval FALSE The socket is not configued to passive mode.\r
+ @retval TRUE The socket is configured to passive mode.\r
+ @retval FALSE The socket is not configured to passive mode.\r
\r
**/\r
-#define SOCK_IS_CONNECTED_PASSIVE(Sock) ((Sock)->ConfigureState == SO_CONFIGURED_PASSIVE)\r
+#define SOCK_IS_CONNECTED_PASSIVE(Sock) ((Sock)->ConfigureState == SO_CONFIGURED_PASSIVE)\r
\r
/**\r
Check whether the socket is mapped.\r
@retval FALSE The socket is not closed.\r
\r
**/\r
-#define SOCK_IS_CLOSED(Sock) ((Sock)->State == SO_CLOSED)\r
+#define SOCK_IS_CLOSED(Sock) ((Sock)->State == SO_CLOSED)\r
\r
/**\r
Check whether the socket is listening.\r
@retval FALSE The socket is not listening.\r
\r
**/\r
-#define SOCK_IS_LISTENING(Sock) ((Sock)->State == SO_LISTENING)\r
+#define SOCK_IS_LISTENING(Sock) ((Sock)->State == SO_LISTENING)\r
\r
/**\r
Check whether the socket is connecting.\r
@retval FALSE The socket is not connecting.\r
\r
**/\r
-#define SOCK_IS_CONNECTING(Sock) ((Sock)->State == SO_CONNECTING)\r
+#define SOCK_IS_CONNECTING(Sock) ((Sock)->State == SO_CONNECTING)\r
\r
/**\r
Check whether the socket has connected.\r
@retval FALSE The socket has not connected.\r
\r
**/\r
-#define SOCK_IS_CONNECTED(Sock) ((Sock)->State == SO_CONNECTED)\r
+#define SOCK_IS_CONNECTED(Sock) ((Sock)->State == SO_CONNECTED)\r
\r
/**\r
Check whether the socket is disconnecting.\r
@retval FALSE The socket is not disconnecting.\r
\r
**/\r
-#define SOCK_IS_DISCONNECTING(Sock) ((Sock)->State == SO_DISCONNECTING)\r
+#define SOCK_IS_DISCONNECTING(Sock) ((Sock)->State == SO_DISCONNECTING)\r
\r
/**\r
Check whether the socket is no more data.\r
@retval FALSE The socket still has data.\r
\r
**/\r
-#define SOCK_IS_NO_MORE_DATA(Sock) (0 != ((Sock)->Flag & SO_NO_MORE_DATA))\r
+#define SOCK_IS_NO_MORE_DATA(Sock) (0 != ((Sock)->Flag & SO_NO_MORE_DATA))\r
\r
/**\r
Set the size of the receive buffer.\r
@return The receive buffer size.\r
\r
**/\r
-#define GET_RCV_BUFFSIZE(Sock) ((Sock)->RcvBuffer.HighWater)\r
+#define GET_RCV_BUFFSIZE(Sock) ((Sock)->RcvBuffer.HighWater)\r
\r
/**\r
Get the size of the receive data.\r
@return The received data size.\r
\r
**/\r
-#define GET_RCV_DATASIZE(Sock) (((Sock)->RcvBuffer.DataQueue)->BufSize)\r
+#define GET_RCV_DATASIZE(Sock) (((Sock)->RcvBuffer.DataQueue)->BufSize)\r
\r
/**\r
Set the size of the send buffer.\r
@return The send buffer size.\r
\r
**/\r
-#define GET_SND_BUFFSIZE(Sock) ((Sock)->SndBuffer.HighWater)\r
+#define GET_SND_BUFFSIZE(Sock) ((Sock)->SndBuffer.HighWater)\r
\r
/**\r
Get the size of the send data.\r
@return The send data size.\r
\r
**/\r
-#define GET_SND_DATASIZE(Sock) (((Sock)->SndBuffer.DataQueue)->BufSize)\r
+#define GET_SND_DATASIZE(Sock) (((Sock)->SndBuffer.DataQueue)->BufSize)\r
\r
/**\r
Set the backlog value of the socket.\r
@param[in] Value The value to set.\r
\r
**/\r
-#define SET_BACKLOG(Sock, Value) ((Sock)->BackLog = (Value))\r
+#define SET_BACKLOG(Sock, Value) ((Sock)->BackLog = (Value))\r
\r
/**\r
Get the backlog value of the socket.\r
@return The backlog value.\r
\r
**/\r
-#define GET_BACKLOG(Sock) ((Sock)->BackLog)\r
+#define GET_BACKLOG(Sock) ((Sock)->BackLog)\r
\r
/**\r
Set the socket with error state.\r
@param[in] Error The error state.\r
\r
**/\r
-#define SOCK_ERROR(Sock, Error) ((Sock)->SockError = (Error))\r
+#define SOCK_ERROR(Sock, Error) ((Sock)->SockError = (Error))\r
\r
-#define SOCK_SIGNATURE SIGNATURE_32 ('S', 'O', 'C', 'K')\r
+#define SOCK_SIGNATURE SIGNATURE_32 ('S', 'O', 'C', 'K')\r
\r
-#define SOCK_FROM_THIS(a) CR ((a), SOCKET, NetProtocol, SOCK_SIGNATURE)\r
+#define SOCK_FROM_THIS(a) CR ((a), SOCKET, NetProtocol, SOCK_SIGNATURE)\r
\r
-#define SOCK_FROM_TOKEN(Token) (((SOCK_TOKEN *) (Token))->Sock)\r
+#define SOCK_FROM_TOKEN(Token) (((SOCK_TOKEN *) (Token))->Sock)\r
\r
#define PROTO_TOKEN_FORM_SOCK(SockToken, Type) ((Type *) (((SOCK_TOKEN *) (SockToken))->Token))\r
\r
/// Socket completion token\r
///\r
typedef struct _SOCK_COMPLETION_TOKEN {\r
- EFI_EVENT Event; ///< The event to be issued\r
- EFI_STATUS Status; ///< The status to be issued\r
+ EFI_EVENT Event; ///< The event to be issued\r
+ EFI_STATUS Status; ///< The status to be issued\r
} SOCK_COMPLETION_TOKEN;\r
\r
typedef union {\r
- VOID *RxData;\r
- VOID *TxData;\r
+ VOID *RxData;\r
+ VOID *TxData;\r
} SOCK_IO_DATA;\r
\r
///\r
/// The application token with data packet\r
///\r
typedef struct _SOCK_IO_TOKEN {\r
- SOCK_COMPLETION_TOKEN Token;\r
- SOCK_IO_DATA Packet;\r
+ SOCK_COMPLETION_TOKEN Token;\r
+ SOCK_IO_DATA Packet;\r
} SOCK_IO_TOKEN;\r
\r
///\r
/// The buffer structure of rcvd data and send data used by socket.\r
///\r
typedef struct _SOCK_BUFFER {\r
- UINT32 HighWater; ///< The buffersize upper limit of sock_buffer\r
- UINT32 LowWater; ///< The low warter mark of sock_buffer\r
- NET_BUF_QUEUE *DataQueue; ///< The queue to buffer data\r
+ UINT32 HighWater; ///< The buffersize upper limit of sock_buffer\r
+ UINT32 LowWater; ///< The low water mark of sock_buffer\r
+ NET_BUF_QUEUE *DataQueue; ///< The queue to buffer data\r
} SOCK_BUFFER;\r
\r
/**\r
typedef\r
EFI_STATUS\r
(*SOCK_PROTO_HANDLER) (\r
- IN SOCKET *Socket,\r
- IN UINT8 Request,\r
- IN VOID *RequestData\r
+ IN SOCKET *Socket,\r
+ IN UINT8 Request,\r
+ IN VOID *RequestData\r
);\r
\r
/**\r
- The Callback funtion called after the TCP socket is created.\r
+ The Callback function called after the TCP socket is created.\r
\r
@param[in] This Pointer to the socket just created.\r
@param[in] Context Context of the socket.\r
\r
@retval EFI_SUCCESS This protocol installed successfully.\r
- @retval other Some error occured.\r
+ @retval other Some error occurred.\r
\r
**/\r
typedef\r
/// The initialize data for create a new socket.\r
///\r
typedef struct _SOCK_INIT_DATA {\r
- SOCK_TYPE Type;\r
- UINT8 State;\r
-\r
- SOCKET *Parent; ///< The parent of this socket\r
- UINT32 BackLog; ///< The connection limit for listening socket\r
- UINT32 SndBufferSize; ///< The high warter mark of send buffer\r
- UINT32 RcvBufferSize; ///< The high warter mark of receive buffer\r
- UINT8 IpVersion;\r
- VOID *Protocol; ///< The pointer to protocol function template\r
+ SOCK_TYPE Type;\r
+ UINT8 State;\r
+\r
+ SOCKET *Parent; ///< The parent of this socket\r
+ UINT32 BackLog; ///< The connection limit for listening socket\r
+ UINT32 SndBufferSize; ///< The high water mark of send buffer\r
+ UINT32 RcvBufferSize; ///< The high water mark of receive buffer\r
+ UINT8 IpVersion;\r
+ VOID *Protocol; ///< The pointer to protocol function template\r
///< wanted to install on socket\r
\r
//\r
// Callbacks after socket is created and before socket is to be destroyed.\r
//\r
- SOCK_CREATE_CALLBACK CreateCallback; ///< Callback after created\r
- SOCK_DESTROY_CALLBACK DestroyCallback; ///< Callback before destroied\r
- VOID *Context; ///< The context of the callback\r
+ SOCK_CREATE_CALLBACK CreateCallback; ///< Callback after created\r
+ SOCK_DESTROY_CALLBACK DestroyCallback; ///< Callback before destroyed\r
+ VOID *Context; ///< The context of the callback\r
\r
//\r
// Opaque protocol data.\r
//\r
- VOID *ProtoData;\r
- UINT32 DataSize;\r
+ VOID *ProtoData;\r
+ UINT32 DataSize;\r
\r
- SOCK_PROTO_HANDLER ProtoHandler; ///< The handler of protocol for socket request\r
+ SOCK_PROTO_HANDLER ProtoHandler; ///< The handler of protocol for socket request\r
\r
- EFI_HANDLE DriverBinding; ///< The driver binding handle\r
+ EFI_HANDLE DriverBinding; ///< The driver binding handle\r
} SOCK_INIT_DATA;\r
\r
///\r
-/// The union type of TCP and UDP protocol.\r
+/// The union type of TCP4 and TCP6 protocol.\r
///\r
typedef union _NET_PROTOCOL {\r
- EFI_TCP4_PROTOCOL Tcp4Protocol; ///< Tcp4 protocol\r
- EFI_TCP6_PROTOCOL Tcp6Protocol; ///< Tcp6 protocol\r
+ EFI_TCP4_PROTOCOL Tcp4Protocol; ///< Tcp4 protocol\r
+ EFI_TCP6_PROTOCOL Tcp6Protocol; ///< Tcp6 protocol\r
} NET_PROTOCOL;\r
///\r
/// The socket structure representing a network service access point.\r
//\r
// Socket description information\r
//\r
- UINT32 Signature; ///< Signature of the socket\r
- EFI_HANDLE SockHandle; ///< The virtual handle of the socket\r
- EFI_HANDLE DriverBinding; ///< Socket's driver binding protocol\r
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- LIST_ENTRY Link;\r
- UINT8 ConfigureState;\r
- SOCK_TYPE Type;\r
- UINT8 State;\r
- UINT16 Flag;\r
- EFI_LOCK Lock; ///< The lock of socket\r
- SOCK_BUFFER SndBuffer; ///< Send buffer of application's data\r
- SOCK_BUFFER RcvBuffer; ///< Receive buffer of received data\r
- EFI_STATUS SockError; ///< The error returned by low layer protocol\r
- BOOLEAN InDestroy;\r
+ UINT32 Signature; ///< Signature of the socket\r
+ EFI_HANDLE SockHandle; ///< The virtual handle of the socket\r
+ EFI_HANDLE DriverBinding; ///< Socket's driver binding protocol\r
+ EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ LIST_ENTRY Link;\r
+ UINT8 ConfigureState;\r
+ SOCK_TYPE Type;\r
+ UINT8 State;\r
+ UINT16 Flag;\r
+ EFI_LOCK Lock; ///< The lock of socket\r
+ SOCK_BUFFER SndBuffer; ///< Send buffer of application's data\r
+ SOCK_BUFFER RcvBuffer; ///< Receive buffer of received data\r
+ EFI_STATUS SockError; ///< The error returned by low layer protocol\r
+ BOOLEAN InDestroy;\r
\r
//\r
// Fields used to manage the connection request\r
//\r
- UINT32 BackLog; ///< the limit of connection to this socket\r
- UINT32 ConnCnt; ///< the current count of connections to it\r
- SOCKET *Parent; ///< listening parent that accept the connection\r
- LIST_ENTRY ConnectionList; ///< the connections maintained by this socket\r
+ UINT32 BackLog; ///< the limit of connection to this socket\r
+ UINT32 ConnCnt; ///< the current count of connections to it\r
+ SOCKET *Parent; ///< listening parent that accept the connection\r
+ LIST_ENTRY ConnectionList; ///< the connections maintained by this socket\r
//\r
// The queue to buffer application's asynchronous token\r
//\r
- LIST_ENTRY ListenTokenList;\r
- LIST_ENTRY RcvTokenList;\r
- LIST_ENTRY SndTokenList;\r
- LIST_ENTRY ProcessingSndTokenList;\r
+ LIST_ENTRY ListenTokenList;\r
+ LIST_ENTRY RcvTokenList;\r
+ LIST_ENTRY SndTokenList;\r
+ LIST_ENTRY ProcessingSndTokenList;\r
\r
- SOCK_COMPLETION_TOKEN *ConnectionToken; ///< app's token to signal if connected\r
- SOCK_COMPLETION_TOKEN *CloseToken; ///< app's token to signal if closed\r
+ SOCK_COMPLETION_TOKEN *ConnectionToken; ///< app's token to signal if connected\r
+ SOCK_COMPLETION_TOKEN *CloseToken; ///< app's token to signal if closed\r
//\r
// Interface for low level protocol\r
//\r
- SOCK_PROTO_HANDLER ProtoHandler; ///< The request handler of protocol\r
- UINT8 ProtoReserved[PROTO_RESERVED_LEN]; ///< Data fields reserved for protocol\r
- UINT8 IpVersion;\r
- NET_PROTOCOL NetProtocol; ///< TCP or UDP protocol socket used\r
+ SOCK_PROTO_HANDLER ProtoHandler; ///< The request handler of protocol\r
+ UINT8 ProtoReserved[PROTO_RESERVED_LEN]; ///< Data fields reserved for protocol\r
+ UINT8 IpVersion;\r
+ NET_PROTOCOL NetProtocol; ///< TCP4 or TCP6 protocol socket used\r
//\r
// Callbacks after socket is created and before socket is to be destroyed.\r
//\r
- SOCK_CREATE_CALLBACK CreateCallback; ///< Callback after created\r
- SOCK_DESTROY_CALLBACK DestroyCallback; ///< Callback before destroied\r
- VOID *Context; ///< The context of the callback\r
+ SOCK_CREATE_CALLBACK CreateCallback; ///< Callback after created\r
+ SOCK_DESTROY_CALLBACK DestroyCallback; ///< Callback before destroyed\r
+ VOID *Context; ///< The context of the callback\r
};\r
\r
///\r
/// The token structure buffered in socket layer.\r
///\r
typedef struct _SOCK_TOKEN {\r
- LIST_ENTRY TokenList; ///< The entry to add in the token list\r
- SOCK_COMPLETION_TOKEN *Token; ///< The application's token\r
- UINT32 RemainDataLen; ///< Unprocessed data length\r
- SOCKET *Sock; ///< The poninter to the socket this token\r
- ///< belongs to\r
+ LIST_ENTRY TokenList; ///< The entry to add in the token list\r
+ SOCK_COMPLETION_TOKEN *Token; ///< The application's token\r
+ UINT32 RemainDataLen; ///< Unprocessed data length\r
+ SOCKET *Sock; ///< The pointer to the socket this token\r
+ ///< belongs to\r
} SOCK_TOKEN;\r
\r
///\r
/// Reserved data to access the NET_BUF delivered by TCP driver.\r
///\r
typedef struct _TCP_RSV_DATA {\r
- UINT32 UrgLen;\r
+ UINT32 UrgLen;\r
} TCP_RSV_DATA;\r
\r
//\r
-// Socket provided oprerations for low layer protocol implemented in SockImpl.c\r
+// Socket provided operations for low layer protocol implemented in SockImpl.c\r
//\r
\r
/**\r
**/\r
VOID\r
SockSetState (\r
- IN OUT SOCKET *Sock,\r
- IN UINT8 State\r
+ IN OUT SOCKET *Sock,\r
+ IN UINT8 State\r
);\r
\r
/**\r
**/\r
SOCKET *\r
SockClone (\r
- IN SOCKET *Sock\r
+ IN SOCKET *Sock\r
);\r
\r
/**\r
**/\r
VOID\r
SockConnEstablished (\r
- IN OUT SOCKET *Sock\r
+ IN OUT SOCKET *Sock\r
);\r
\r
/**\r
**/\r
VOID\r
SockConnClosed (\r
- IN OUT SOCKET *Sock\r
+ IN OUT SOCKET *Sock\r
);\r
\r
/**\r
**/\r
VOID\r
SockDataSent (\r
- IN OUT SOCKET *Sock,\r
- IN UINT32 Count\r
+ IN OUT SOCKET *Sock,\r
+ IN UINT32 Count\r
);\r
\r
/**\r
**/\r
UINT32\r
SockGetDataToSend (\r
- IN SOCKET *Sock,\r
- IN UINT32 Offset,\r
- IN UINT32 Len,\r
- OUT UINT8 *Dest\r
+ IN SOCKET *Sock,\r
+ IN UINT32 Offset,\r
+ IN UINT32 Len,\r
+ OUT UINT8 *Dest\r
);\r
\r
/**\r
**/\r
VOID\r
SockDataRcvd (\r
- IN OUT SOCKET *Sock,\r
- IN OUT NET_BUF *NetBuffer,\r
- IN UINT32 UrgLen\r
+ IN OUT SOCKET *Sock,\r
+ IN OUT NET_BUF *NetBuffer,\r
+ IN UINT32 UrgLen\r
);\r
\r
/**\r
**/\r
VOID\r
SockNoMoreData (\r
- IN OUT SOCKET *Sock\r
+ IN OUT SOCKET *Sock\r
);\r
\r
//\r
\r
/**\r
Create a socket and its associated protocol control block\r
- with the intial data SockInitData and protocol specific\r
+ with the initial data SockInitData and protocol specific\r
data ProtoData.\r
\r
- @param[in] SockInitData Inital data to setting the socket.\r
+ @param[in] SockInitData Initial data to setting the socket.\r
\r
- @return Pointer to the newly created socket. If NULL, an error condition occured.\r
+ @return Pointer to the newly created socket. If NULL, an error condition occurred.\r
\r
**/\r
SOCKET *\r
SockCreateChild (\r
- IN SOCK_INIT_DATA *SockInitData\r
+ IN SOCK_INIT_DATA *SockInitData\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockDestroyChild (\r
- IN OUT SOCKET *Sock\r
+ IN OUT SOCKET *Sock\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockConfigure (\r
- IN SOCKET *Sock,\r
- IN VOID *ConfigData\r
+ IN SOCKET *Sock,\r
+ IN VOID *ConfigData\r
);\r
\r
/**\r
Initiate a connection establishment process.\r
\r
- @param[in] Sock Pointer to the socket to initiate the initate the\r
+ @param[in] Sock Pointer to the socket to initiate the\r
connection.\r
@param[in] Token Pointer to the token used for the connection\r
operation.\r
**/\r
EFI_STATUS\r
SockConnect (\r
- IN SOCKET *Sock,\r
- IN VOID *Token\r
+ IN SOCKET *Sock,\r
+ IN VOID *Token\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockAccept (\r
- IN SOCKET *Sock,\r
- IN VOID *Token\r
+ IN SOCKET *Sock,\r
+ IN VOID *Token\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockSend (\r
- IN SOCKET *Sock,\r
- IN VOID *Token\r
+ IN SOCKET *Sock,\r
+ IN VOID *Token\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockRcv (\r
- IN SOCKET *Sock,\r
- IN VOID *Token\r
+ IN SOCKET *Sock,\r
+ IN VOID *Token\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockFlush (\r
- IN OUT SOCKET *Sock\r
+ IN OUT SOCKET *Sock\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockClose (\r
- IN OUT SOCKET *Sock,\r
- IN VOID *Token,\r
- IN BOOLEAN OnAbort\r
+ IN OUT SOCKET *Sock,\r
+ IN VOID *Token,\r
+ IN BOOLEAN OnAbort\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockGetMode (\r
- IN SOCKET *Sock,\r
- IN OUT VOID *Mode\r
- );\r
-\r
-/**\r
- Configure the low level protocol to join a multicast group for\r
- this socket's connection.\r
-\r
- @param[in] Sock Pointer to the socket of the connection to join the\r
- specific multicast group.\r
- @param[in] GroupInfo Pointer to the multicast group information.\r
-\r
- @retval EFI_SUCCESS The configuration completed successfully.\r
- @retval EFI_ACCESS_DENIED Failed to get the lock to access the socket.\r
- @retval EFI_NOT_STARTED The socket is not configured.\r
-\r
-**/\r
-EFI_STATUS\r
-SockGroup (\r
- IN SOCKET *Sock,\r
- IN VOID *GroupInfo\r
+ IN SOCKET *Sock,\r
+ IN OUT VOID *Mode\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
SockRoute (\r
- IN SOCKET *Sock,\r
- IN VOID *RouteInfo\r
+ IN SOCKET *Sock,\r
+ IN VOID *RouteInfo\r
);\r
\r
#endif\r