1 /** @file 2 Implement the send API. 3 4 Copyright (c) 2011, Intel Corporation 5 All rights reserved. This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #include <SocketInternals.h> 16 17 18 /** 19 Send data using a network connection. 20 21 The send routine queues data to the network for transmission. 22 This routine is typically used for SOCK_STREAM sockets where the target 23 system was specified in the ::connect call. 24 25 The 26 <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/send.html">POSIX</a> 27 documentation is available online. 28 29 @param [in] s Socket file descriptor returned from ::socket. 30 31 @param [in] buffer Address of a buffer containing the data to send. 32 33 @param [in] length Length of the buffer in bytes. 34 35 @param [in] flags Message control flags 36 37 @return This routine returns the number of data bytes that were 38 sent and -1 when an error occurs. In the case of 39 an error, ::errno contains more details. 40 41 **/ 42 ssize_t 43 send ( 44 int s, 45 CONST void * buffer, 46 size_t length, 47 int flags 48 ) 49 { 50 // 51 // Send the data 52 // 53 return sendto ( s, buffer, length, flags, NULL, 0 ); 54 } 55