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

  man pages->IRIX man pages -> send (3n)              


send(3N)							      send(3N)

NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>

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

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

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

DESCRIPTION    [Toc]    [Back]

     s is a socket created with	socket.	 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:

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

	       The SO_DONTROUTE	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    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

     The calls fail if:

									Page 1

send(3N)							      send(3N)

     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    [Toc]    [Back]

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

NOTES    [Toc]    [Back]

     The type of address structure passed to accept depends on the address
     family.  UNIX domain sockets (address family AF_UNIX) require a
     socketaddr_un structure as	defined	in sys/un.h; Internet domain sockets
     (address family AF_INET) require a	sockaddr_in structure as defined in
     netinet/in.h.  Other address families may require other structures.  Use
     the structure appropriate to the address family; cast the structure
     address to	a generic caddr_t in the call to send and pass the size	of the
     structure in the tolen argument.

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
sendmsg Tru64 Send a message from a socket using a message structure
send Tru64 Send messages on a socket
sendfile FreeBSD send a file to a socket
sendto Tru64 Send messages through a socket
sendfile HP-UX send the contents of a file through a socket
sendfile Tru64 Send the contents of a file through a socket
shutdown Tru64 Shut down socket send and receive operations
sendfile64 HP-UX send the contents of a Large File through a socket
recvmsg Tru64 Receive a message from a socket using a message structure
send Tru64 send a message (only available within the message handling system, mh)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service