Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ writev(2) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                writev(2)



        _________________________________________________________________
        writev                                                System Call
        Write on a file.
        _________________________________________________________________


        SYNTAX

        #include <sys/types.h>
        #include <sys/uio.h>

        int   writev  (fildes, iov, iovent)
        int             fildes;
        struct iovec    iov[];
        int             iovent;


        PARAMETERS

        fildes         An active, valid file descriptor.


        iov            An array of extents.


        iovent         The number of extents given.


        DESCRIPTION

        Writev transfers data from the <iovlen> buffers specified by
        members of the <iov> array: iov[0], iov[1], ..., iov[iovlen-1]
        into the object associated with <fildes>.

        For writev, the iovec structure is defined as:
        struct iovec {
        caddr_t  iov_base;
        int      iov_len;
        };

        Each <iov> member specifies the base address and length of an
        area in memory where data is located. Writev uses an area
        completely before proceeding to the next.

        <Iovent> must be a positive number less than or equal to a
        system-imposed limit guaranteed to be at least 16.  The length of
        each extent (iov_len) in <iov[]> must be non-negative and the sum
        of these lengths must not overflow a `long'.

        Except for the disposition of the data, writev is equivalent to
        write.



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





                                                                writev(2)



        ACCESS CONTROL

        <Fildes> must be open for writing.


        RETURN VALUE

        0..nbyte       Completed successfully.  The number of bytes
                       actually written is returned.  Here, nbyte is the
                       sum of lengths of the <iovent> extents given in
                       <iov[]>.


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


        EXCEPTIONS

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


        EBADF          <Fildes> is not a valid file descriptor open for
                       writing.


        EPIPE and SIGPIPE signal
                       An attempt is made to write to a pipe not open for
                       writing or a socket of type SOCK_STREAM that is
                       not connected to a peer socket.


        EFBIG          An attempt was made to write a file that exceeds
                       the process's file size limit or the maximum file
                       size.


        EINTR          A signal was caught during the system call.


        EFAULT         <Iov> points outside the allocated address space.


        EFAULT         One or more of the <iov[]> members point outside
                       the allocated address space.


        EINVAL         <Iovent> was invalid.


        EINVAL         One or more of the iov_len values in <iov[]> was



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





                                                                writev(2)



                       negative.


        EINVAL         The sum of the iov_len values in <iov[]>
                       overflowed a `long'.


        SEE ALSO

        The related manual sections:  creat(2), dup(2), dup2(2),
        fcntl(2), ioctl(2), lseek(2), open(2), pipe(2), select(2),
        socket(2), socketpair(2), ulimit(2), write(2).










































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



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