root/include/linux/fcntl.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _FCNTL_H
   2 #define _FCNTL_H
   3 
   4 /* open/fcntl - O_SYNC isn't implemented yet */
   5 #define O_ACCMODE         0003
   6 #define O_RDONLY            00
   7 #define O_WRONLY            01
   8 #define O_RDWR              02
   9 #define O_CREAT           0100  /* not fcntl */
  10 #define O_EXCL            0200  /* not fcntl */
  11 #define O_NOCTTY          0400  /* not fcntl */
  12 #define O_TRUNC          01000  /* not fcntl */
  13 #define O_APPEND         02000
  14 #define O_NONBLOCK       04000
  15 #define O_NDELAY        O_NONBLOCK
  16 #define O_SYNC          010000
  17 
  18 /* Defines for fcntl-commands. Note that currently
  19  * locking isn't supported, and other things aren't really
  20  * tested.
  21  */
  22 #define F_DUPFD         0       /* dup */
  23 #define F_GETFD         1       /* get f_flags */
  24 #define F_SETFD         2       /* set f_flags */
  25 #define F_GETFL         3       /* more flags (cloexec) */
  26 #define F_SETFL         4
  27 #define F_GETLK         5       /* not implemented */
  28 #define F_SETLK         6
  29 #define F_SETLKW        7
  30 
  31 /* for F_[GET|SET]FL */
  32 #define FD_CLOEXEC      1       /* actually anything with low bit set goes */
  33 
  34 /* Ok, these are locking features, and aren't implemented at any
  35  * level. POSIX wants them.
  36  */
  37 #define F_RDLCK         0
  38 #define F_WRLCK         1
  39 #define F_UNLCK         2
  40 
  41 /* Once again - not implemented, but ... */
  42 struct flock {
  43         short l_type;
  44         short l_whence;
  45         off_t l_start;
  46         off_t l_len;
  47         pid_t l_pid;
  48 };
  49 
  50 #endif

/* [previous][next][first][last][top][bottom][index][help] */