Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

System Functions (r) recvfrom(2)
To use this function in a 32-bit threaded application that uses the POSIX User Thread Model
library on systems running H06.24 or later RVUs or J06.13 or later RVUs, perform the same
tasks (described above) used to enable the function on systems running H06.21/J06.10 or later
RVUs.
To use this function in a 64-bit threaded application that uses the POSIX User Thread Model
library on systems running H06.24 or later RVUs or J06.13 or later RVUs, you must perform all
of the following tasks:
Compile the application using the _PUT_MODEL_ feature test macro or equivalent
compiler command option.
Compile the application using the -Wlp64 compiler command option.
Link the application to the yputdll library (/G/system/zdllnnn/yputdll).
For detailed information about writing multi-threaded and 64-bit applications for the Open Sys-
tem Services environment, see the Open System Services Programmer’s Guide.
RETURN VALUES
Upon successful completion, the recvfrom() function returns the length of the received message
in bytes. If no data is available and the peer socket has performed an orderly shutdown, then 0
(zero) is returned.
If the recvfrom() function call fails, the value -1 is returned and errno is set to indicate the
error.
ERRORS
If any of the following conditions occurs, the recvfrom() function sets errno to the correspond-
ing value:
[EBADF] The socket parameter is not a valid file descriptor.
This error is also returned if the recvfrom() function is thread-aware and the
socket becomes invalid (is closed by another thread).
[ECONNRESET]
One of the following conditions occurred:
The transport-provider process for this socket is no longer available.
The TCP/IP subsystem for this socket is no longer available.
The connection was forcibly closed by the peer socket.
The socket can only be closed.
[EFAULT] A user-supplied memory buffer cannot be accessed or written.
[EINTR] A signal interrupted the function before any data was available.
This error is also returned if the recvfrom() function is thread-aware and a sig-
nal received from the pthread_kill() function is not blocked, ignored, or han-
dled.
[EINVAL] The MSG_OOB value is specified in the flags parameter and no out-of-band
data is available.
527186-023 Hewlett-Packard Company 629