fcntl.h

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
<fcntl.h>(P)							 <fcntl.h>(P)



NAME
       fcntl.h - file control options

SYNOPSIS
       #include <fcntl.h>

DESCRIPTION
       The <fcntl.h> header shall define the following requests and arguments
       for use by the functions fcntl() and open().

       Values for cmd used by fcntl() (the following values are	 unique)  are
       as follows:

       F_DUPFD
	      Duplicate file descriptor.

       F_GETFD
	      Get file descriptor flags.

       F_SETFD
	      Set file descriptor flags.

       F_GETFL
	      Get file status flags and file access modes.

       F_SETFL
	      Set file status flags.

       F_GETLK
	      Get record locking information.

       F_SETLK
	      Set record locking information.

       F_SETLKW
	      Set record locking information; wait if blocked.

       F_GETOWN
	      Get process or process group ID to receive SIGURG signals.

       F_SETOWN
	      Set process or process group ID to receive SIGURG signals.


       File descriptor flags used for fcntl() are as follows:

       FD_CLOEXEC
	      Close  the  file	descriptor  upon  execution of an exec family
	      function.


       Values for l_type used for record locking with fcntl() (the  following
       values are unique) are as follows:

       F_RDLCK
	      Shared or read lock.

       F_UNLCK
	      Unlock.

       F_WRLCK
	      Exclusive or write lock.


       The  values  used for l_whence, SEEK_SET, SEEK_CUR, and SEEK_END shall
       be defined as described in <unistd.h> .

       The following values are file creation flags and are used in the oflag
       value to open(). They shall be bitwise-distinct.

       O_CREAT
	      Create file if it does not exist.

       O_EXCL Exclusive use flag.

       O_NOCTTY
	      Do not assign controlling terminal.

       O_TRUNC
	      Truncate flag.


       File status flags used for open() and fcntl() are as follows:

       O_APPEND
	      Set append mode.

       O_DSYNC
	      Write  according to synchronized I/O data integrity completion.

       O_NONBLOCK
	      Non-blocking mode.

       O_RSYNC
	      Synchronized read I/O operations.

       O_SYNC Write according to synchronized I/O file integrity  completion.


       Mask for use with file access modes is as follows:

       O_ACCMODE
	      Mask for file access modes.


       File access modes used for open() and fcntl() are as follows:

       O_RDONLY
	      Open for reading only.

       O_RDWR Open for reading and writing.

       O_WRONLY
	      Open for writing only.


       The symbolic names for file modes for use as values of mode_t shall be
       defined as described in <sys/stat.h> .

       Values for advice used by posix_fadvise() are as follows:

       POSIX_FADV_NORMAL

	      The application has no advice to	give  on  its  behavior	 with
	      respect to the specified data. It is the default characteristic
	      if no advice is given for an open file.

       POSIX_FADV_SEQUENTIAL

	      The  application	expects	 to   access   the   specified	 data
	      sequentially from lower offsets to higher offsets.

       POSIX_FADV_RANDOM

	      The  application expects to access the specified data in a ran-
	      dom order.

       POSIX_FADV_WILLNEED

	      The application expects to access the  specified	data  in  the
	      near future.

       POSIX_FADV_DONTNEED

	      The  application	expects that it will not access the specified
	      data in the near future.

       POSIX_FADV_NOREUSE

	      The application expects to access the specified data  once  and
	      then not reuse it thereafter.


       The  structure  flock describes a file lock. It shall include the fol-
       lowing members:


	      short  l_type   Type of lock; F_RDLCK, F_WRLCK, F_UNLCK.
	      short  l_whence Flag for starting offset.
	      off_t  l_start  Relative offset in bytes.
	      off_t  l_len    Size; if 0 then until EOF.
	      pid_t  l_pid    Process ID of the process holding the lock; returned with F_GETLK.

       The mode_t, off_t, and pid_t types shall be defined  as	described  in
       <sys/types.h> .

       The  following  shall be declared as functions and may also be defined
       as macros. Function prototypes shall be provided.


	      int  creat(const char *, mode_t);
	      int  fcntl(int, int, ...);
	      int  open(const char *, int, ...);

	      int  posix_fadvise(int, off_t, size_t, int);
	      int  posix_fallocate(int, off_t, size_t);


       Inclusion of the <fcntl.h> header may also make	visible	 all  symbols
       from <sys/stat.h> and <unistd.h>.

       The following sections are informative.

APPLICATION USAGE
       None.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       <sys/stat.h> , <sys/types.h> , <unistd.h> , the System Interfaces vol-
       ume  of	IEEE Std 1003.1-2001,	creat(),   exec,   fcntl(),   open(),
       posix_fadvise(), posix_fallocate(), posix_madvise()

COPYRIGHT
       Portions	 of this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information  Technol-
       ogy  --	Portable  Operating  System Interface (POSIX), The Open Group
       Base Specifications Issue 6, Copyright (C) 2001-2003 by the  Institute
       of  Electrical  and  Electronics Engineers, Inc and The Open Group. In
       the event of any discrepancy between this  version  and	the  original
       IEEE and The Open Group Standard, the original IEEE and The Open Group
       Standard is  the	 referee  document.  The  original  Standard  can  be
       obtained online at http://www.opengroup.org/unix/online.html .



POSIX				     2003			 <fcntl.h>(P)