Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ recvmsg(2) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                               recvmsg(2)



        _________________________________________________________________
        recvmsg                                               System Call
        Receive a message from a socket.
        _________________________________________________________________


        SYNTAX

        #include <socket.h>

        int   recvmsg  (s, msg, user_flags)
        int             s;
        struct msghdr * msg;
        int             user_flags;


        PARAMETERS

        s              File descriptor of socket to receive from.


        msg            Pointer to receive msg packet.


        user_flags     Flags for transfer.


        DESCRIPTION

        This call is identical to recv or recvfrom depending on whether
        or not the msg_namelen fields are greater than zero.  If the
        <msg_namelen> field of the msghdr structure is non-zero, this
        call is identical to recvfrom, otherwise it is identical to recv.

        The added value of this call is that it allows an IOV to be
        supplied in the msg packet for use of non-contiguous buffers (see
        readv for more information about IOV structures).


        ACCESS CONTROL

        None.


        RETURN VALUE

        These calls return the number of bytes received.


        0..<len>       Number of bytes transferred.




        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                               recvmsg(2)



        -1             An error occurred.  Errno is set to indicate the
                       error.


        EXCEPTIONS

        Errno may be set to one of the following error codes:


        EBADF          The argument <s> is not an active valid
                       descriptor.


        ENOTSOCK       The argument <s> is not a socket.


        EAGAIN         The socket is marked non-blocking and the receive
                       operation would block.


        EINTR          The receive was interrupted by delivery of a
                       signal before any data was available for the
                       receive.


        EFAULT         The data was specified to be received into a non-
                       existent or protected part of the process address
                       space.


        EMSGSIZE       Too many entries in the iovec array.


        SEE ALSO

        The related manual sections:  read(2), readv(2), recvfrom(2),
        send(2), socket(2).

















        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026