FCNTL(2)	    UNIX Programmer's Manual		 FCNTL(2)


NAME
     fcntl - file control

SYNOPSIS
     #include <fcntl.h>

     res = fcntl(fd, cmd, arg)
     int res;
     int fd, cmd, arg;

DESCRIPTION
     Fcntl provides for control over descriptors.  The argument
     fd is a descriptor to be operated on by cmd as follows:

     F_DUPFD	    Return a new descriptor as follows:

		    Lowest numbered available descriptor greater
		    than or equal to arg.

		    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 execv(2) system calls.

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

     F_SETFD	    Set the close-on-exec flag associated with fd
		    to the low order bit of arg (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 11/26/99	  Nov 30, 1994				1


FCNTL(2)	    UNIX Programmer's Manual		 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 arg as negative, oth-
		    erwise arg is interpreted as a process ID.

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

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

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

     O_ASYNC	    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.

RETURN VALUE
     Upon successful completion, the value returned depends on
     cmd 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 errno is set to
     indicate the error.

ERRORS
     Fcntl will fail if one or more of the following are true:

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

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

     [EINVAL]	    Cmd is F_DUPFD and arg is negative or greater
		    than the maximum allowable number (see
		    getdtablesize(2)).

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

SEE ALSO
     close(2), execve(2), getdtablesize(2), open(2), sigvec(2)


Printed 11/26/99	  Nov 30, 1994				2


FCNTL(2)	    UNIX Programmer's Manual		 FCNTL(2)


BUGS
     The asynchronous I/O facilities of O_NONBLOCK and O_ASYNC
     are currently available only for tty and socket operations.


Printed 11/26/99	  Nov 30, 1994				3


 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1696
Valid CSS Valid XHTML 1.0 Strict