X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=StdLib%2FBsdSocketLib%2Fsend.c;h=f3f739cb6f41d8eebf7fd35f03a5dec5d087c658;hp=e0ec64367c6b561b61d52df2eaa851582bf7b879;hb=486aace42ca6fd9bd80f80197f0bb24cec99f3b6;hpb=1e2b43f1e25fe15a54bb412e6d01fd3607f5eeae diff --git a/StdLib/BsdSocketLib/send.c b/StdLib/BsdSocketLib/send.c index e0ec64367c..f3f739cb6f 100644 --- a/StdLib/BsdSocketLib/send.c +++ b/StdLib/BsdSocketLib/send.c @@ -44,54 +44,8 @@ send ( int flags ) { - ssize_t LengthInBytes; - CONST UINT8 * pData; - struct __filedes * pDescriptor; - EFI_SOCKET_PROTOCOL * pSocketProtocol; - EFI_STATUS Status; - - // - // Assume failure - // - LengthInBytes = -1; - - // - // Locate the context for this socket - // - pSocketProtocol = BslFdToSocketProtocol ( s, - &pDescriptor, - &errno ); - if ( NULL != pSocketProtocol ) { - // - // Send the data using the socket - // - pData = buffer; - do { - errno = 0; - Status = pSocketProtocol->pfnSend ( pSocketProtocol, - flags, - length, - pData, - (size_t *)&LengthInBytes, - NULL, - 0, - &errno ); - if ( EFI_ERROR ( Status )) { - LengthInBytes = -1; - break; - } - - // - // Account for the data sent - // - pData += LengthInBytes; - length -= LengthInBytes; - // TODO: Add non-blocking check - } while (( 0 != length ) && ( EFI_NOT_READY == Status )); - } - // - // Return the number of data bytes sent, -1 for errors + // Send the data // - return (INT32)LengthInBytes; + return sendto ( s, buffer, length, flags, NULL, 0 ); }