home *** CD-ROM | disk | FTP | other *** search
-
- WRITE(2) UNIX Programmer's Manual WRITE(2)
-
- NNAAMMEE
- wwrriittee, wwrriitteevv - write output
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<uunniissttdd..hh>>
- ##iinncclluuddee <<ssyyss//ttyyppeess..hh>>
- ##iinncclluuddee <<ssyyss//uuiioo..hh>>
-
- _s_s_i_z_e___t
- wwrriittee(_i_n_t _d, _c_o_n_s_t _c_h_a_r _*_b_u_f, _s_i_z_e___t _n_b_y_t_e_s)
-
- _i_n_t
- wwrriitteevv(_i_n_t _d, _s_t_r_u_c_t _i_o_v_e_c _*_i_o_v, _i_n_t _i_o_v_c_n_t)
-
- DDEESSCCRRIIPPTTIIOONN
- WWrriittee() attempts to write _n_b_y_t_e_s of data to the object referenced by the
- descriptor _d from the buffer pointed to by _b_u_f. WWrriitteevv() performs the
- same action, but gathers the output data from the _i_o_v_c_n_t buffers speci
- fied by the members of the _i_o_v array: iov[0], iov[1], ..., iov[iovcnt1].
-
- For wwrriitteevv(), the _i_o_v_e_c structure is defined as:
- struct iovec {
- caddr_t iov_base;
- int iov_len;
- };
-
- Each _i_o_v_e_c entry specifies the base address and length of an area in mem
- ory from which data should be written. WWrriitteevv() will always write a com
- plete area before proceeding to the next.
-
- On objects capable of seeking, the wwrriittee() starts at a position given by
- the pointer associated with _d, see lseek(2). Upon return from wwrriittee(),
- the pointer is incremented by the number of bytes which were written.
-
- Objects that are not capable of seeking always write from the current po
- sition. The value of the pointer associated with such an object is unde
- fined.
-
- If the real user is not the superuser, then wwrriittee() clears the setuser
- id bit on a file. This prevents penetration of system security by a user
- who ``captures'' a writable setuserid file owned by the superuser.
-
- When using nonblocking I/O on objects such as sockets that are subject
- to flow control, wwrriittee() and wwrriitteevv() may write fewer bytes than request
- ed; the return value must be noted, and the remainder of the operation
- should be retried when possible.
-
- RREETTUURRNN VVAALLUUEESS
- Upon successful completion the number of bytes which were written is re
- turned. Otherwise a 1 is returned and the global variable _e_r_r_n_o is set
- to indicate the error.
-
- EERRRROORRSS
- WWrriittee() and wwrriitteevv() will fail and the file pointer will remain unchanged
- if:
-
- [EBADF] _D is not a valid descriptor open for writing.
-
- [EPIPE] An attempt is made to write to a pipe that is not open for
- reading by any process.
-
- [EPIPE] An attempt is made to write to a socket of type that is not
-
- connected to a peer socket.
-
- [EFBIG] An attempt was made to write a file that exceeds the pro
- cess's file size limit or the maximum file size.
-
- [EFAULT] Part of _i_o_v or data to be written to the file points out
- side the process's allocated address space.
-
- [EINVAL] The pointer associated with _d was negative.
-
- [ENOSPC] There is no free space remaining on the file system con
- taining the file.
-
- [EDQUOT] The user's quota of disk blocks on the file system contain
- ing the file has been exhausted.
-
- [EIO] An I/O error occurred while reading from or writing to the
- file system.
-
- [EWOULDBLOCK]
- The file was marked for nonblocking I/O, and no data could
- be written immediately.
-
- In addition, wwrriitteevv() may return one of the following errors:
-
- [EINVAL] _I_o_v_c_n_t was less than or equal to 0, or greater than 16.
-
- [EINVAL] One of the _i_o_v___l_e_n values in the _i_o_v array was negative.
-
- [EINVAL] The sum of the _i_o_v___l_e_n values in the _i_o_v array overflowed a
- 32bit integer.
-
- SSEEEE AALLSSOO
- fcntl(2), lseek(2), open(2), pipe(2), select(2)
-
- SSTTAANNDDAARRDDSS
- WWrriittee() is expected to conform to IEEE Std 1003.11988 (``POSIX'').
-
- HHIISSTTOORRYY
- The wwrriitteevv() function call appeared in 4.2BSD. A wwrriittee function call ap
- peared in Version 6 AT&T UNIX.
-
- 4th Berkeley Distribution March 10, 1991 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-