\r
\r
/**\r
- Connect to the socket driver\r
+ Connect to the EFI socket library\r
\r
- @param [in] ppSocketProtocol Address to receive the socket protocol address\r
+ This routine establishes a connection to the socket driver\r
+ and returns the API (::EFI_SOCKET_PROTOCOL address) to the\r
+ socket file system layer in BsdSocketLib. This routine looks for\r
+ the gEfiSocketServiceBindingProtocolGuid to locate the socket\r
+ driver. This routine then creates a child handle and locates\r
+ the gEfiSocketProtocolGuid protocol on that handle to get the\r
+ ::EFI_SOCKET_PROTOCOL structure address.\r
+\r
+ This routine is called from the ::socket routine in BsdSocketLib\r
+ to create the data structure and initialize the API for a socket.\r
+ Note that this implementation is only used by socket applications\r
+ that link directly to UseSocketDxe.\r
+\r
+ @param [in] ppSocketProtocol Address to receive the ::EFI_SOCKET_PROTOCOL\r
+ structure address\r
+\r
+ @return Value for ::errno, zero (0) indicates success.\r
\r
- @retval 0 Successfully returned the socket protocol\r
- @retval other Value for errno\r
**/\r
int\r
EslServiceGetProtocol (\r
}\r
else {\r
DEBUG (( DEBUG_ERROR,\r
- "ERROR - No socket service binding protocol, Status: %r\r\n",\r
+ "ERROR - Socket driver not loaded, Status: %r\r\n",\r
Status ));\r
RetVal = ENODEV;\r
}\r