diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man3p/sendto.3p | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/archlinux/man3p/sendto.3p')
-rw-r--r-- | upstream/archlinux/man3p/sendto.3p | 316 |
1 files changed, 316 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/sendto.3p b/upstream/archlinux/man3p/sendto.3p new file mode 100644 index 00000000..4c0340dd --- /dev/null +++ b/upstream/archlinux/man3p/sendto.3p @@ -0,0 +1,316 @@ +'\" et +.TH SENDTO "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. +.\" +.SH NAME +sendto +\(em send a message on a socket +.SH SYNOPSIS +.LP +.nf +#include <sys/socket.h> +.P +ssize_t sendto(int \fIsocket\fP, const void *\fImessage\fP, size_t \fIlength\fP, + int \fIflags\fP, const struct sockaddr *\fIdest_addr\fP, + socklen_t \fIdest_len\fP); +.fi +.SH DESCRIPTION +The +\fIsendto\fR() +function shall send a message through a connection-mode or +connectionless-mode socket. +.P +If the socket is a connectionless-mode socket, the message shall be sent +to the address specified by +.IR dest_addr +if no pre-specified peer address has been set. If a peer address has +been pre-specified, either the message shall be sent to the address +specified by +.IR dest_addr +(overriding the pre-specified peer address), or the function shall +return \-1 and set +.IR errno +to +.BR [EISCONN] . +.P +If the socket is connection-mode, +.IR dest_addr +shall be ignored. +.P +The +\fIsendto\fR() +function takes the following arguments: +.IP "\fIsocket\fR" 12 +Specifies the socket file descriptor. +.IP "\fImessage\fR" 12 +Points to a buffer containing the message to be sent. +.IP "\fIlength\fR" 12 +Specifies the size of the message in bytes. +.IP "\fIflags\fR" 12 +Specifies the type of message transmission. Values of this argument +are formed by logically OR'ing zero or more of the following flags: +.RS 12 +.IP MSG_EOR 14 +Terminates a record (if supported by the protocol). +.IP MSG_OOB 14 +Sends out-of-band data on sockets that support out-of-band data. The +significance and semantics of out-of-band data are protocol-specific. +.IP MSG_NOSIGNAL 14 +Requests not to send the SIGPIPE signal if an attempt to send is made +on a stream-oriented socket that is no longer connected. The +.BR [EPIPE] +error shall still be returned. +.RE +.IP "\fIdest_addr\fR" 12 +Points to a +.BR sockaddr +structure containing the destination address. The length and format of +the address depend on the address family of the socket. +.IP "\fIdest_len\fR" 12 +Specifies the length of the +.BR sockaddr +structure pointed to by the +.IR dest_addr +argument. +.P +If the socket protocol supports broadcast and the specified address is +a broadcast address for the socket protocol, +\fIsendto\fR() +shall fail if the SO_BROADCAST option is not set for the socket. +.P +The +.IR dest_addr +argument specifies the address of the target. +.P +The +.IR length +argument specifies the length of the message. +.P +Successful completion of a call to +\fIsendto\fR() +does not guarantee delivery of the message. A return value of \-1 +indicates only locally-detected errors. +.P +If space is not available at the sending socket to hold the message to +be transmitted and the socket file descriptor does not have O_NONBLOCK +set, +\fIsendto\fR() +shall block until space is available. If space is not available at the +sending socket to hold the message to be transmitted and the socket +file descriptor does have O_NONBLOCK set, +\fIsendto\fR() +shall fail. +.br +.P +The socket in use may require the process to have appropriate +privileges to use the +\fIsendto\fR() +function. +.SH "RETURN VALUE" +Upon successful completion, +\fIsendto\fR() +shall return the number of bytes sent. Otherwise, \-1 shall be +returned and +.IR errno +set to indicate the error. +.SH ERRORS +The +\fIsendto\fR() +function shall fail if: +.TP +.BR EAFNOSUPPORT +.br +Addresses in the specified address family cannot be used with this +socket. +.TP +.BR EAGAIN " or " EWOULDBLOCK +.br +The socket's file descriptor is marked O_NONBLOCK and the requested +operation would block. +.TP +.BR EBADF +The +.IR socket +argument is not a valid file descriptor. +.TP +.BR ECONNRESET +A connection was forcibly closed by a peer. +.TP +.BR EINTR +A signal interrupted +\fIsendto\fR() +before any data was transmitted. +.TP +.BR EMSGSIZE +The message is too large to be sent all at once, as the socket +requires. +.TP +.BR ENOTCONN +The socket is connection-mode but is not connected. +.TP +.BR ENOTSOCK +The +.IR socket +argument does not refer to a socket. +.TP +.BR EOPNOTSUPP +The +.IR socket +argument is associated with a socket that does not support one or more +of the values set in +.IR flags . +.TP +.BR EPIPE +The socket is shut down for writing, or the socket is connection-mode +and is no longer connected. In the latter case, and if the socket is of +type SOCK_STREAM or SOCK_SEQPACKET and the MSG_NOSIGNAL flag is not set, +the SIGPIPE signal is generated to the calling thread. +.P +If the address family of the socket is AF_UNIX, then +\fIsendto\fR() +shall fail if: +.TP +.BR EIO +An I/O error occurred while reading from or writing to the file +system. +.TP +.BR ELOOP +A loop exists in symbolic links encountered during resolution of the +pathname in the socket address. +.TP +.BR ENAMETOOLONG +.br +The length of a component of a pathname is longer than +{NAME_MAX}. +.TP +.BR ENOENT +A component of the pathname does not name an existing file or the +pathname is an empty string. +.TP +.BR ENOTDIR +A component of the path prefix of the pathname in the socket address +names an existing file that is neither a directory nor a symbolic link +to a directory, or the pathname in the socket address contains at +least one non-\c +<slash> +character and ends with one or more trailing +<slash> +characters and the last pathname component names an existing file that +is neither a directory nor a symbolic link to a directory. +.br +.P +The +\fIsendto\fR() +function may fail if: +.TP +.BR EACCES +Search permission is denied for a component of the path prefix; or +write access to the named socket is denied. +.TP +.BR EDESTADDRREQ +.br +The socket is not connection-mode and does not have its peer address +set, and no destination address was specified. +.TP +.BR EHOSTUNREACH +.br +The destination host cannot be reached (probably because the host is +down or a remote router cannot reach it). +.TP +.BR EINVAL +The +.IR dest_len +argument is not a valid length for the address family. +.TP +.BR EIO +An I/O error occurred while reading from or writing to the file +system. +.TP +.BR EISCONN +A destination address was specified and the socket is already +connected. +.TP +.BR ENETDOWN +The local network interface used to reach the destination is down. +.TP +.BR ENETUNREACH +.br +No route to the network is present. +.TP +.BR ENOBUFS +Insufficient resources were available in the system to perform the +operation. +.TP +.BR ENOMEM +Insufficient memory was available to fulfill the request. +.P +If the address family of the socket is AF_UNIX, then +\fIsendto\fR() +may fail if: +.TP +.BR ELOOP +More than +{SYMLOOP_MAX} +symbolic links were encountered during resolution of the pathname in +the socket address. +.TP +.BR ENAMETOOLONG +.br +The length of a pathname exceeds +{PATH_MAX}, +or pathname resolution of a symbolic link produced an intermediate +result with a length that exceeds +{PATH_MAX}. +.LP +.IR "The following sections are informative." +.SH "EXAMPLES" +None. +.SH "APPLICATION USAGE" +The +\fIselect\fR() +and +\fIpoll\fR() +functions can be used to determine when it is possible to send more +data. +.SH "RATIONALE" +None. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "\fIgetsockopt\fR\^(\|)", +.IR "\fIpoll\fR\^(\|)", +.IR "\fIpselect\fR\^(\|)", +.IR "\fIrecv\fR\^(\|)", +.IR "\fIrecvfrom\fR\^(\|)", +.IR "\fIrecvmsg\fR\^(\|)", +.IR "\fIsend\fR\^(\|)", +.IR "\fIsendmsg\fR\^(\|)", +.IR "\fIsetsockopt\fR\^(\|)", +.IR "\fIshutdown\fR\^(\|)", +.IR "\fIsocket\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2017, +.IR "\fB<sys_socket.h>\fP" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +In the event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . +.PP +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |