Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
fcntl.h(3HEAD)			    Headers			fcntl.h(3HEAD)

NAME
       fcntl.h,	fcntl -	file control options

SYNOPSIS
       #include	<fcntl.h>

DESCRIPTION
       The  <fcntl.h>  header defines the following requests and arguments for
       use by the functions fcntl(2), open(2), and openat(2).

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

       F_DUPFD	       Duplicate file descriptor.

       F_DUP2FD	       Similar to F_DUPFD, but always returns arg.

       F_GETFD	       Get file	descriptor flags.

       F_SETFD	       Set file	descriptor flags.

       F_GETFL	       Get file	status flags.

       F_SETFL	       Set file	status flags.

       F_GETOWN	       Get process or process group ID to receive SIGURG  sig-
		       nals.

       F_SETOWN	       Set  process or process group ID	to receive SIGURG sig-
		       nals.

       F_FREESP	       Free storage space associated with a section of the or-
		       dinary file fildes.

       F_GETLK	       Get record locking information.

       F_GETLK64       Equivalent to F_GETLK, but takes	a struct flock64 argu-
		       ment rather than	a struct flock argument.

       F_SETLK	       Set record locking information.

       F_SETLK64       Equivalent to F_SETLK, but takes	a struct flock64 argu-
		       ment rather than	a struct flock argument.

       F_SETLKW	       Set record locking information; wait if blocked.

       F_SETLKW64      Equivalent  to F_SETLKW,	but takes a struct flock64 ar-
		       gument rather than a struct flock argument.

       F_SHARE	       Set share reservation.

       F_UNSHARE       Remove share reservation.

       File descriptor flags used for fcntl():

       FD_CLOEXEC      Close the file descriptor upon  execution  of  an  exec
		       function	(see exec(2)).

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

       F_RDLCK	       Shared or read lock.

       F_UNLCK	       Unlock.

       F_WRLCK	       Exclusive or write lock.

       Values for f_access used	for share reservations with fcntl() (the  fol-
       lowing values are unique):

       F_RDACC	       Read-only share reservation.

       F_WRACC	       Write-only share	reservation.

       F_RWACC	       Read and	write share reservation.

       Values for f_deny used for share	reservations with fcntl() (the follow-
       ing values are unique):

       F_COMPAT	       Compatibility mode share	reservation.

       F_RDDNY	       Deny other read access share reservations.

       F_WRDNY	       Deny other write	access share reservations.

       F_RWDNY	       Deny other read or write	access share reservations.

       F_NODNY	       Do not deny other read or write access  share  reserva-
		       tions.

       File  creation  and  assignment flags are used in the oflag argument by
       open() and openat(). All	of these values	are bitwise distinct:

       O_CREAT	       Create file if it does not exist.

       O_EXCL	       Exclusive use flag.

       O_NOCTTY	       Do not assign controlling tty.

       O_TRUNC	       Truncate	flag.

       O_XATTR	       When opening a file, this flag affects the way in which
		       relative	 paths	are  resolved  by open() and openat().
		       With this flag set, the path argument is	resolved as an
		       extended	 attribute  reference  on  either  the current
		       working directory (if open) or of the  file  referenced
		       by the file descriptor argument of openat().

       File status flags used for fcntl(), open(), and open():

       O_APPEND	       Set append mode.

       O_NDELAY	       Non-blocking mode.

       O_NONBLOCK      Non-blocking mode (POSIX; see standards(5)).

       O_DSYNC	       Write I/O operations on the file	descriptor complete as
		       defined by synchronized I/O data	integrity completion.

       O_RSYNC	       Read I/O	operations on the file descriptor complete  at
		       the same	level of integrity as specified	by the O_DSYNC
		       and  O_SYNC flags. If both  O_DSYNC and O_RSYNC are set
		       in  oflag,  all	I/O  operations	on the file descriptor
		       complete	as defined by synchronized I/O data  integrity
		       completion.   If	 both	O_SYNC	and O_RSYNC are	set in
		       oflag, all I/O operations on the	file  descriptor  com-
		       plete  as  defined  by  synchronized I/O	file integrity
		       completion.

       O_SYNC	       When opening a regular file, this flag  affects	subse-
		       quent  writes. If set, each write(2) will wait for both
		       the file	data and file status to	be physically updated.
		       Write I/O operations on the file	descriptor complete as
		       defined by synchronized I/O file	integrity completion.

       Mask for	use with file access modes:

       O_ACCMODE       Mask for	file access modes.

       File access modes used for fcntl(), open(), and openat():

       O_RDONLY	       Open for	reading	only.

       O_RDWR	       Open for	reading	and writing.

       O_WRONLY	       Open for	writing	only.

       The following constants are used	by system calls	capable	 of  resolving
       paths relative to a provided open file descriptor:

       AT_FDCWD		       Special	value  to  pass	in place of a file de-
			       scriptor	to inform the called routine that rel-
			       ative  path  arguments  should be resolved from
			       the current working directory.

       AT_SYMLINK_NOFOLLOW     Flag passed to fstatat(2)  and  fchownat(2)  to
			       change  the  bahavior  of  these	functions when
			       they are	given a	file as	an argument that is  a
			       symbolic	link. In this case the functions oper-
			       ate on the symbolic link	file rather  than  the
			       file the	link references.

       AT_REMOVEDIR	       Flag passed to unlinkat(2) to tell it to	assume
			       that its	path argument refers  to  a  directory
			       and to attempt to remove	this directory.

       The  flock  structure  describes	a file lock. It	includes the following
       members:

       short   l_type;	 /* Type of lock */
       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 */
       long    l_sysid;	 /* Returned with F_GETLK */
       pid_t   l_pid;	 /* Returned with F_GETLK */

       The structure fshare describes a	file share  reservation.  It  includes
       the following members:

       short   f_access; /* Type of reservation	*/
       short   f_deny;	 /* Type of reservations to deny */
       long    f_id;	 /* Process unique identifier */

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       creat(2),   exec(2),   fcntl(2),	 open(2),  fdatasync(3RT),  fsync(3C),
       fsattr(5), attributes(5), standards(5)

NOTES
       Data is successfully  transferred for a write operation	to  a  regular
       file  when  the system ensures that all data written is readable	on any
       subsequent open of the file (even one that follows a  system  or	 power
       failure)	in the absence of a failure of the physical storage medium.

       Data  is	successfully transferred for a read operation when an image of
       the data	on the physical	storage	medium is available to the  requesting
       process.

       Synchronized I/O	data integrity completion (see fdatasync(3RT)):

	 o  For	reads, the operation has been completed	or diagnosed if	unsuc-
	    cessful. The read is complete only when an image of	the  data  has
	    been  successfully transferred to the requesting process. If there
	    were any pending write requests affecting the data to be  read  at
	    the	time that the synchronized read	operation was requested, these
	    write requests will	be successfully	transferred prior  to  reading
	    the	data.

	 o  For	 writes,  the operation	has been completed or diagnosed	if un-
	    successful.	The write is complete only when	the data specified  in
	    the	write request is successfully transferred, and all file	system
	    information	required to retrieve the data is  successfully	trans-
	    ferred.

       File attributes that are	not necessary for data retrieval (access time,
       modification time, status change	time) need not be successfully	trans-
       ferred prior to returning to the	calling	process.

       Synchronized I/O	file integrity completion (see fsync(3C)):

	 o  Identical to a synchronized	I/O data integrity completion with the
	    addition that all file attributes relative to  the	I/O  operation
	    (including	access	time,  modification  time, status change time)
	    will be successfully transferred prior to returning	to the calling
	    process.

SunOS 5.10			  30 Aug 2002			fcntl.h(3HEAD)

NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fcntl.h&sektion=3head&manpath=SunOS+5.10>

home | help