4.3BSD-Reno/share/man/cat2/fcntl.0

Compare this file to the similar file:
Show the results in this format:




FCNTL(2)		      1990			 FCNTL(2)



NNAAMMEE
     fcntl - file control

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<ffccnnttll..hh>>

     rreess == ffccnnttll((ffdd,, ccmmdd,, aarrgg))
     iinntt rreess;;
     iinntt ffdd,, ccmmdd,, aarrgg;;

DDEESSCCRRIIPPTTIIOONN
     _F_c_n_t_l provides for control over descriptors.  The argument
     _f_d is a descriptor to be operated on by _c_m_d as follows:

     F_DUPFD	    Return a new descriptor as follows:

		    Lowest numbered available descriptor greater
		    than or equal to _a_r_g.

		    Same object references as the original
		    descriptor.

		    New descriptor shares the same file pointer
		    if the object was a file.

		    Same access mode (read, write or read/write).

		    Same file status flags (i.e., both file
		    descriptors share the same file status
		    flags).

		    The close-on-exec flag associated with the
		    new file descriptor is set to remain open
		    across _e_x_e_c_v(2) system calls.

     F_GETFD	    Get the close-on-exec flag associated with
		    the file descriptor _f_d.  If the low-order bit
		    is 0, the file will remain open across _e_x_e_c,
		    otherwise the file will be closed upon execu-
		    tion of _e_x_e_c.

     F_SETFD	    Set the close-on-exec flag associated with _f_d
		    to the low order bit of _a_r_g (0 or 1 as
		    above).

     F_GETFL	    Get descriptor status flags, as described
		    below.

     F_SETFL	    Set descriptor status flags.

     F_GETOWN	    Get the process ID or process group currently
		    receiving SIGIO and SIGURG signals; process



Printed 7/27/90               June				1






FCNTL(2)		      1990			 FCNTL(2)



		    groups are returned as negative values.

     F_SETOWN	    Set the process or process group to receive
		    SIGIO and SIGURG signals; process groups are
		    specified by supplying _a_r_g as negative, oth-
		    erwise _a_r_g is interpreted as a process ID.

     The flags for the F_GETFL and F_SETFL flags are as follows:

     FNDELAY	    Non-blocking I/O; if no data is available to
		    a _r_e_a_d call, or if a write operation would
		    block, the call returns -1 with the error
		    EWOULDBLOCK.

     FAPPEND	    Force each write to append at the end of
		    file; corresponds to the O_APPEND flag of
		    _o_p_e_n(2).

     FASYNC	    Enable the SIGIO signal to be sent to the
		    process group when I/O is possible, e.g.,
		    upon availability of data to be read.

RREETTUURRNN VVAALLUUEE
     Upon successful completion, the value returned depends on
     _c_m_d as follows:
       F_DUPFD	 A new file descriptor.
       F_GETFD	 Value of flag (only the low-order bit is defined).
       F_GETFL	 Value of flags.
       F_GETOWN  Value of file descriptor owner.
       other	 Value other than -1.
     Otherwise, a value of -1 is returned and _e_r_r_n_o is set to
     indicate the error.

EERRRROORRSS
     _F_c_n_t_l will fail if one or more of the following are true:

     [EBADF]	    _F_i_l_d_e_s is not a valid open file descriptor.

     [EMFILE]	    _C_m_d is F_DUPFD and the maximum allowed number
		    of file descriptors are currently open.

     [EINVAL]	    _C_m_d is F_DUPFD and _a_r_g is negative or greater
		    than the maximum allowable number (see
		    _g_e_t_d_t_a_b_l_e_s_i_z_e(2)).

     [ESRCH]	    _C_m_d is F_SETOWN and the process ID given as
		    argument is not in use.

SSEEEE AALLSSOO
     close(2), execve(2), getdtablesize(2), open(2), sigvec(2)





Printed 7/27/90               June				2






FCNTL(2)		      1990			 FCNTL(2)



BBUUGGSS
     The asynchronous I/O facilities of FNDELAY and FASYNC are
     currently available only for tty and socket operations.




















































Printed 7/27/90               June				3