*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> send (2)              



NAME    [Toc]    [Back]

       send - Send messages on a socket

SYNOPSIS    [Toc]    [Back]

       #include <sys/socket.h>

       ssize_t send(
                 int socket,
               const void *buffer,
               size_t length,
               int flags );

       [Tru64 UNIX]  The following definition of the send() function
 does not conform to current  standards  and  is  supported
 only for backward compatibility (see standards(5)):
       int send(
               int socket,
               char *message,
               int length,
               int flags );

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       send(): XNS4.0, XNS5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies the unique name for the socket.  Points  to  the
       buffer  containing  the  message  to  send.  Specifies the
       length of the message in bytes.  Allows the sender to control
  the transmission of the message. The flags parameter
       to send a call is formed by  logically  ORing  the  values
       shown  in  the following list, defined in the sys/socket.h
       header file: Sends out-of-band data on sockets  that  support
 out-of-band communication.  Sends without using routing
 tables.   (Not  recommended,  for  debugging  purposes

DESCRIPTION    [Toc]    [Back]

       The  send()  function sends a message only when the socket
       is connected (this includes when the peer of a connectionless
  socket  has  been  set  with  a connect() call). The
       sendto() and sendmsg() functions can be used  with  unconnected
 or connected sockets.

       Specify  the length of the message with the length parameter.
 If the message is too long to pass through the underlying
  protocol,  the system returns an error and does not
       transmit the message.

       No indication of failure to deliver is implied in a send()
       function.  A  return  value  of  -1 indicates only locally
       detected errors.

       If no space for  messages  is  available  at  the  sending
       socket  to  hold the message to be transmitted, the send()
       function blocks unless the socket is in a nonblocking  I/O
       mode.  Use  the  select() function to determine when it is
       possible to send more data.

       The socket in use may also require that the  calling  process
 have appropriate privileges.

NOTES    [Toc]    [Back]

       [Tru64  UNIX]    The  send()  function is identical to the
       sendto() function with a zero-valued  dest_len  parameter,
       and to the write() function if no flags are used. For that
       reason, the send() function is disabled when 4.4BSD behavior
  is  enabled (that is, when the _SOCKADDR_LEN compiletime
 option is defined).

RETURN VALUES    [Toc]    [Back]

       Upon successful completion, the  send()  function  returns
       the number of characters sent. Otherwise, a value of -1 is
       returned and errno is set to indicate the error.

ERRORS    [Toc]    [Back]

       If the send() function fails, errno may be set to  one  of
       the following values: The calling proces does not have the
       appropriate privileges.  The message cannot  be  delivered
       because  of  information  label  float  restrictions.  The
       socket parameter is not valid.  A connection was  forcibly
       closed  by  a peer.  The socket is not connection-oriented
       and no peer address is set.  The buffer  parameter  cannot
       be accessed.

              [Tru64  UNIX]  The  message  parameter  is not in a
              readable or  writable  part  of  the  user  address
              space.   A  signal interrupted send before any data
              was transmitted.  An I/O error occurred while reading
  from  or writing to the file system.  The message
 is too large to be sent all at  once,  as  the
              socket  requires.   The local network connection is
              not  operational.   The  destination   network   is
              unreachable.  Insufficient resources were available
              in the system to complete the call.  The  available
              STREAMS  resources were insufficient for the operation
 to complete.  The socket is not  connected  or
              otherwise  has  not had the peer prespecified.  The
              socket parameter refers to a file,  not  a  socket.
              The  socket  argument  is  associated with a socket
              that does not support one or more of the values set
              in  flags.  The socket is shut down for writing, or
              the socket is connection-oriented and the  peer  is
              closed  or  shut  down  for  reading. In the latter
              case, and if the socket is of type SOCK_STREAM, the
              SIGPIPE signal is generated to the calling process.
              The socket is marked nonblocking, and no  space  is
              available for the send() function.

SEE ALSO    [Toc]    [Back]

       Functions:  connect(2),  getsockopt(2),  poll(2), recv(2),
       recvfrom(2), recvmsg(2), select(2), sendmsg(2), sendto(2),
       setsockopt(2), shutdown(2), socket(2),

       Standards: standards(5)

       Network Programmer's Guide

[ Back ]
 Similar pages
Name OS Title
sendto Tru64 Send messages through a socket
writesrv Tru64 Lets users send messages to and receive messages from a remote system
send IRIX send a message from a socket
sendto HP-UX send a message from a socket
sendmsg HP-UX send a message from a socket
send OpenBSD send a message from a socket
send IRIX send a message from a socket
sendmsg OpenBSD send a message from a socket
sendto OpenBSD send a message from a socket
sendto FreeBSD send a message from a socket
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service