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

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



NAME    [Toc]    [Back]

       sendto - Send messages through a socket

SYNOPSIS    [Toc]    [Back]

       #include <sys/socket.h>

       ssize_t sendto(
               int socket,
               const void *message,
               size_t length,
               int flags,
               const struct sockaddr *dest_addr,
               socklen_t dest_len );

       [XNS4.0]    The  definition  of  the  sendto() function in
       XNS4.0 uses a size_t data type for the dest_len  parameter
       instead  of  a  socklen_t data type as specified in XNS5.0
       (the previous definition).

       [Tru64 UNIX]   The following definition  of  the  sendto()
       function does not conform to current standards and is supported
 only for backward compatibility (see standards(5)):
       #include <sys/socket.h>

       int sendto(
               int socket,
               char *message_addr,
               int length,
               int flags,
               struct sockaddr *dest_addr,
               int dest_len );

STANDARDS    [Toc]    [Back]

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

       sendto(): 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  file descriptor for the socket.  Points to
       the address containing the message to be sent.   Specifies
       the  size  of  the message in bytes.  Allows the sender to
       control the message transmission. The flags value to  send
       a  call is formed by logically ORing the following values,
       defined in the sys/socket.h file: Terminates a record  (if
       supported by the protocol).  Processes out-of-band data on
       sockets   that   support   out-of-band    data.     [Tru64
       UNIX]  Sends  without  using  routing  tables. (Not recommended;
 for debugging purposes only.)  Points to  a  sockaddr
  structure,  the format of which is determined by the
       domain and by the behavior requested for the  socket.  The
       sockaddr  structure is an overlay for a sockaddr_in, sockaddr_un,
  sockaddr_in6,  or  sockaddr_storage   structure,
       depending  on  which  of the supported address families is

              [Tru64 UNIX]   If the  compile-time  option  _SOCKADDR_LEN
  is defined before the sys/socket.h header
              file is  included,  the  sockaddr  structure  takes
              4.4BSD  behavior,  with  a field for specifying the
              length  of  the  socket  address.  Otherwise,   the
              default 4.3BSD sockaddr structure is used, with the
              length of the socket address assumed to be 14 bytes
              or less.

              If  _SOCKADDR_LEN  is  defined, the 4.3BSD sockaddr
              structure  is  defined  with  the  name  osockaddr.
              Specifies  the  length  of  the  sockaddr structure
              pointed to by the dest_addr parameter.

DESCRIPTION    [Toc]    [Back]

       The sendto() function allows  an  application  program  to
       send  messages through an unconnected socket by specifying
       a destination address.

       To broadcast on a socket, issue  a  setsockopt()  function
       using  the  SO_BROADCAST  option to gain broadcast permissions.

       Use the dest_addr parameter to provide the address of  the
       target.  Specify the length of the message with the length

       If the sending socket has no space to hold the message  to
       be  transmitted,  the  sendto() function blocks unless the
       socket is in a nonblocking I/O mode.

       Use the select() and poll() functions to determine when to
       send more data.

RETURN VALUES    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

       If the sendto() function fails, errno may be set to one of
       the following values: Search permission is  denied  for  a
       component of the path prefix; or write access to the named
       socket is denied.  Addresses in the specified address family
 cannot be used with this socket.  The socket parameter
       is not valid.  A connection was forcibly closed by a peer.
       You  did not specify a destination address for the connectionless
 socket that also did not have  its  peer  address
       set.   The  message  or  dest_addr  parameter  is not in a
       writable part of the user address space.  The  destination
       host is not reachable.  A signal interrupted sendto before
       any data was transmitted.  The dest_len parameter is not a
       valid  size  for  the  specified  address  family.  For an
       AF_UNIX socket, an I/O error occurred while  reading  from
       or  writing  to  the file system.  The connection-oriented
       socket for which a destination address  was  specified  is
       already  connected.   For an AF_UNIX socket, too many symbolic
 links were encountered in translating  the  pathname
       in  the  socket  address.   The message is too large to be
       sent all at once, as the socket requires.  For an  AF_UNIX
       socket,  a  component  of  the  pathname exceeded NAME_MAX
       characters, or an entire pathname exceeded PATH_MAX  characters.
   The local network connection is not operational.
       The  destination  network  is  unreachable.   Insufficient
       resources  are  available  in  the  system to complete the

              [Tru64 UNIX]  The interface driver's send queue  is
              full.  If  the problem persists, you might increase
              the value for the ifqmaxlen system attribute in the
              net subsystem. See sys_attrs_net(5) for more information.
  For an AF_UNIX socket, a component of  the
              pathname  does  not  name  an  existing file or the
              pathname is an empty string.  The  system  did  not
              have sufficient memory to fulfill the request.  The
              available STREAMS resources were  insufficient  for
              the  operation  to complete.  The socket is connection-oriented
 but is not connected.  For an AF_UNIX
              socket, a component of the path prefix of the pathname
 in address is not  a  directory.   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 sendto() function.

SEE ALSO    [Toc]    [Back]

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

       Standards: standards(5).

       Network Programmer's Guide

[ Back ]
 Similar pages
Name OS Title
send Tru64 Send messages on 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