Originální popis anglicky:
fcntl.h - file control options
Návod, kniha: POSIX Programmer's Manual
#include <fcntl.h>
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 random 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 following
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.
None.
None.
None.
<sys/stat.h> ,
<sys/types.h> ,
<unistd.h>
, the System Interfaces volume of IEEE Std 1003.1-2001,
creat(),
exec,
fcntl(),
open(),
posix_fadvise(),
posix_fallocate(),
posix_madvise()
Portions of this text are reprinted and reproduced in electronic form from IEEE
Std 1003.1, 2003 Edition, Standard for Information Technology -- 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
.