SYNOPSIS
#include <sys/socket.h>
int sendto(int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen);
DESCRIPTION
The
If the socket protocol supports broadcast and the specified address
is a broadcast address for the socket protocol,
The to argument
specifies the address of the target. The len argument
specifies the length of the message. If the message is too long
to pass through the underlying protocol,
Successful completion of
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,
flags may be used to influence the behavior of the function invocation beyond the options specified for the associated socket. That is, the semantics of this function are determined by the socket options and the flags parameter. The latter is constructed by or-ing any of the following values:
- MSG_DONTROUTE
-
Specifies that the data should not be subject to routing.
- MSG_OOB
-
Send out-of-band data (stream-style socket such as SOCK_STREAM only).
PARAMETERS
- s
-
Specifies a socket descriptor.
- msg
-
Points to a buffer containing the data to be transmitted.
- len
-
Specifies the number of bytes to be sent.
- flags
-
Lets the sender control the way data is sent.
- to
-
Specifies the destination address.
- tolen
-
Specifies the destination address size.
RETURN VALUES
If successful,
- EADDRNOTAVAIL
-
The specified address is not available from the local machine.
- EBADF
-
s is an invalid descriptor.
- ECONNABORTED
-
Connection was aborted due to timeout or other failure.
- ECONNRESET
-
Connection was forcibly reset by the peer.
- EDESTADDRREQ
-
A destination address is required.
- EFAULT
-
msg points to an unreadable location.
- EHOSTUNREACH
-
The remote host cannot be reached from this host at this time.
- EINVAL
-
An unknown flag was specified, or MSG_OOB was specified for a socket with SO_OOBINLINE enabled.
- EINTR
-
A signal interrupted the call.
- ENETDOWN
-
The network subsystem has failed.
- ENOBUFS
-
No buffer space is available.
- ENOTCONN
-
The socket is not connected. (connection oriented sockets only.)
- ENOTSOCK
-
s is not a socket descriptor.
- EMSGSIZE
-
Message size is too big to be sent atomically.
- EOPNOTSUPP
-
MSG_OOB was specified, but the socket is not stream style such as type SOCK_STREAM, out-of-band data is not supported in the communication domain associated with this socket, or the socket is unidirectional and supports only receive operations.
- ESHUTDOWN
-
The socket has been shutdown; it is not possible to
sendto() on a socket aftershutdown() has been invoked with how set to SD_SEND or SD_BOTH. - ETIMEDOUT
-
Connection has been dropped, because of a network failure or because the system on the other end went down without notice.
- EWOULDBLOCK
-
s is nonblocking and
sendto() would block.
CONFORMANCE
UNIX 98, with exceptions.
MULTITHREAD SAFETY LEVEL
MT-Safe.
PORTING ISSUES
The NuTCRACKER Platform supports all the address families that WinSock 2.0 supports.
AVAILABILITY
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition
SEE ALSO
- Functions:
bind() ,connect() ,getsockopt() ,recv() ,recvfrom() ,recvmsg() ,select() ,send() ,sendmsg() ,setsockopt() ,shutdown() ,socket()
PTC MKS Toolkit 10.4 Documentation Build 39.