Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ send(3) — Atari System V 1.1-06

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

connect(3N)

fcntl(2)

getsockopt(3N)

recv(3N)

socket(3N)

write(2)





   send(3N)                                                           send(3N)


   NAME
         send, sendto, sendmsg - send a message from a socket

   SYNOPSIS
         #include <sys/types.h>
         #include <sys/socket.h>

         int send(s, msg, len, flags)
         int s;
         char *msg;
         int len, flags;

         int sendto(s, msg, len, flags, to, tolen)
         int s;
         char *msg;
         int len, flags;
         struct sockaddr *to;
         int tolen;

         int sendmsg(s, msg, flags)
         int s;
         struct msghdr *msg;
         int flags;

   DESCRIPTION
         s is a socket created with socket(3N).  send(), sendto(), and
         sendmsg() are used to transmit a message to another socket.  send()
         may be used only when the socket is in a connected state, while
         sendto() and sendmsg() may be used at any time.

         The address of the target is given by to with tolen specifying its
         size.  The length of the message is given by len.  If the message is
         too long to pass atomically through the underlying protocol, then the
         error EMSGSIZE is returned, and the message is not transmitted.

         No indication of failure to deliver is implicit in a send().  Return
         values of -1 indicate some locally detected errors.

         If no buffer space is available at the socket to hold the message to
         be transmitted, then send() normally blocks, unless the socket has
         been placed in non-blocking I/O mode (see fcntl(2)).  The select()
         call may be used to determine when it is possible to send more data.

         The flags parameter is formed by ORing one or more of the following:

         MSGOOB   Send out-of-band data on sockets that support this notion.
                   The underlying protocol must also support out-of-band data.
                   Currently, only SOCKSTREAM sockets created in the AFINET
                   address family support out-of-band data.




   8/91                                                                 Page 1









   send(3N)                                                           send(3N)


         MSGDONTROUTE
                   The SODONTROUTE option is turned on for the duration of
                   the operation.  It is used only by diagnostic or routing
                   programs.

         See recv(3N) for a description of the msghdr structure.

   RETURN VALUE
         These calls return the number of bytes sent, or -1 if an error
         occurred.

   ERRORS
         The calls fail if:

         EBADF               s is an invalid descriptor.

         ENOTSOCK            s is a descriptor for a file, not a socket.

         EINVAL              tolen is not the size of a valid address for the
                             specified address family.

         EINTR               The operation was interrupted by delivery of a
                             signal before any data could be buffered to be
                             sent.

         EMSGSIZE            The socket requires that message be sent
                             atomically, and the message was too long.

         EWOULDBLOCK         The socket is marked non-blocking and the
                             requested operation would block.

         ENOMEM              There was insufficient user memory available for
                             the operation to complete.

         ENOSR               There were insufficient STREAMS resources
                             available for the operation to complete.

   SEE ALSO
         connect(3N), fcntl(2), getsockopt(3N), recv(3N), socket(3N),
         write(2).













   Page 2                                                                 8/91





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026