root/include/linux/fcntl.h

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

INCLUDED FROM


   1 #ifndef _LINUX_FCNTL_H
   2 #define _LINUX_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 #define F_SETOWN        8       /*  for sockets. */
  32 #define F_GETOWN        9       /*  for sockets. */
  33 
  34 /* for F_[GET|SET]FL */
  35 #define FD_CLOEXEC      1       /* actually anything with low bit set goes */
  36 
  37 /* Ok, these are locking features, and aren't implemented at any
  38  * level. POSIX wants them.
  39  */
  40 #define F_RDLCK         0
  41 #define F_WRLCK         1
  42 #define F_UNLCK         2
  43 
  44 /* Once again - not implemented, but ... */
  45 struct flock {
  46         short l_type;
  47         short l_whence;
  48         off_t l_start;
  49         off_t l_len;
  50         pid_t l_pid;
  51 };
  52 
  53 #endif

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