| Red Hat Documentation: man pages: man2: Linux Programmer's Manual (2) |
SENDSection: Linux Programmer's Manual (2)Updated: July 1999 Index NAMEsend, sendto, sendmsg - send a message from a socketSYNOPSIS#include <sys/types.h>#include <sys/socket.h>
int send(int s, const void *msg, size_t len,
int flags);
DESCRIPTIONSend, 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, the error EMSGSIZE is returned, and the message is not transmitted. No indication of failure to deliver is implicit in a send. Locally detected errors are indicated by a return value of -1. When the message does not fit into the send buffer of the socket, send normally blocks, unless the socket has been placed in non-blocking I/O mode. In non-blocking mode it would return EAGAIN in this case. The call may be used to determine when it is possible to send more data. The flags parameter may include one or more of the following:
See for a description of the msghdr structure. You may send control information using the msg_control and msg_controllen members. The maximum control buffer length the kernel can process is limited per socket by the net.core.optmem_max sysctl; see RETURN VALUESThe calls return the number of characters sent, or -1 if an error occurred.ERRORSThese are some standard errors generated by the socket layer. Additional errors may be generated and returned from the underlying protocol modules; see their respective manual pages.
CONFORMING TO4.4BSD, SVr4, POSIX 1003.1g draft (these function calls appeared in 4.2BSD).NOTEThe prototypes given above follow the Single Unix Specification, as glibc2 also does; the flags argument was `int' in BSD 4.*, but `unsigned int' in libc4 and libc5; the len argument was `int' in BSD 4.* and libc4, but `size_t' in libc5; the tolen argument was `int' in BSD 4.* and libc4 and libc5. See alsoSEE ALSO
IndexThis document was created by using the manual pages. Time: 11:56:07 GMT, March 24, 2025 |
|
© 2001 Red Hat, Inc. All rights reserved. About Red Hat : Legal statement : Privacy statement : Y2K statement : Contact Red Hat |