#define DEBUG_OPTION 0x00080000 ///< Display option messages\r
\r
#define MAX_PENDING_CONNECTIONS 1 ///< Maximum connection FIFO depth\r
-#define MAX_RX_DATA 65536 ///< Maximum receive data size\r
+#define MAX_RX_DATA 0x01000000 ///< Maximum receive data size\r
#define MAX_TX_DATA ( MAX_RX_DATA * 2 ) ///< Maximum buffered transmit data in bytes\r
-#define RX_PACKET_DATA 16384 ///< Maximum number of bytes in a RX packet\r
+#define RX_PACKET_DATA 0x00100000 ///< Maximum number of bytes in a RX packet\r
#define MAX_UDP_RETRANSMIT 16 ///< UDP retransmit attempts to handle address not mapped\r
\r
#define ESL_STRUCTURE_ALIGNMENT_BYTES 15 ///< Number of bytes for structure alignment\r
**/\r
typedef\r
EFI_STATUS\r
-(* PFN_NET_CONFIGURE) (\r
+(EFIAPI * PFN_NET_CONFIGURE) (\r
IN VOID * pProtocol,\r
IN VOID * pConfigData\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(* PFN_NET_IO_START) (\r
+(EFIAPI * PFN_NET_IO_START) (\r
IN VOID * pProtocol,\r
IN VOID * pToken\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(* PFN_NET_POLL) (\r
+(EFIAPI * PFN_NET_POLL) (\r
IN VOID * pProtocol\r
);\r
\r
IN ESL_IO_MGMT * pIo\r
);\r
\r
+/**\r
+ Verify the adapter's IP address\r
+\r
+ This support routine is called by EslSocketBindTest.\r
+\r
+ @param [in] pPort Address of an ::ESL_PORT structure.\r
+ @param [in] pConfigData Address of the configuration data\r
+\r
+ @retval EFI_SUCCESS - The IP address is valid\r
+ @retval EFI_NOT_STARTED - The IP address is invalid\r
+\r
+ **/\r
+typedef\r
+EFI_STATUS\r
+(* PFN_API_VERIFY_LOCAL_IP_ADDRESS) (\r
+ IN ESL_PORT * pPort,\r
+ IN VOID * pConfigData\r
+ );\r
+\r
/**\r
Socket type control structure\r
\r
PFN_API_TRANSMIT pfnTransmit; ///< Attempt to buffer a packet for transmit\r
PFN_API_TX_COMPLETE pfnTxComplete; ///< TX completion for normal data\r
PFN_API_TX_COMPLETE pfnTxOobComplete; ///< TX completion for urgent data\r
+ PFN_API_VERIFY_LOCAL_IP_ADDRESS pfnVerifyLocalIpAddress; ///< Verify the local IP address\r
} ESL_PROTOCOL_API;\r
\r
\r
OUT size_t * pDataLength\r
);\r
\r
+/**\r
+ Free the socket.\r
+\r
+ This routine frees the socket structure and handle resources.\r
+\r
+ The ::close routine calls EslServiceFreeProtocol which then calls\r
+ this routine to free the socket context structure and close the\r
+ handle.\r
+\r
+ @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.\r
+ \r
+ @param [out] pErrno Address to receive the errno value upon completion.\r
+\r
+ @retval EFI_SUCCESS The socket resources were returned successfully.\r
+\r
+ **/\r
+EFI_STATUS\r
+EslSocketFree (\r
+ IN EFI_SOCKET_PROTOCOL * pSocketProtocol,\r
+ IN int * pErrno\r
+ );\r
+\r
/**\r
Free the ESL_IO_MGMT event and structure\r
\r