root/include/asm-i386/fcntl.h

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

INCLUDED FROM


   1 #ifndef _I386_FCNTL_H
   2 #define _I386_FCNTL_H
   3 
   4 /* open/fcntl - O_SYNC is only implemented on blocks devices and on files
   5    located on an ext2 file system */
   6 #define O_ACCMODE         0003
   7 #define O_RDONLY            00
   8 #define O_WRONLY            01
   9 #define O_RDWR              02
  10 #define O_CREAT           0100  /* not fcntl */
  11 #define O_EXCL            0200  /* not fcntl */
  12 #define O_NOCTTY          0400  /* not fcntl */
  13 #define O_TRUNC          01000  /* not fcntl */
  14 #define O_APPEND         02000
  15 #define O_NONBLOCK       04000
  16 #define O_NDELAY        O_NONBLOCK
  17 #define O_SYNC          010000
  18 #define FASYNC          020000  /* fcntl, for BSD compatibility */
  19 
  20 #define F_DUPFD         0       /* dup */
  21 #define F_GETFD         1       /* get f_flags */
  22 #define F_SETFD         2       /* set f_flags */
  23 #define F_GETFL         3       /* more flags (cloexec) */
  24 #define F_SETFL         4
  25 #define F_GETLK         5
  26 #define F_SETLK         6
  27 #define F_SETLKW        7
  28 
  29 #define F_SETOWN        8       /*  for sockets. */
  30 #define F_GETOWN        9       /*  for sockets. */
  31 
  32 /* for F_[GET|SET]FL */
  33 #define FD_CLOEXEC      1       /* actually anything with low bit set goes */
  34 
  35 /* for posix fcntl() and lockf() */
  36 #define F_RDLCK         0
  37 #define F_WRLCK         1
  38 #define F_UNLCK         2
  39 
  40 /* for old implementation of bsd flock () */
  41 #define F_EXLCK         4       /* or 3 */
  42 #define F_SHLCK         8       /* or 4 */
  43 
  44 /* operations for bsd flock(), also used by the kernel implementation */
  45 #define LOCK_SH         1       /* shared lock */
  46 #define LOCK_EX         2       /* exclusive lock */
  47 #define LOCK_NB         4       /* or'd with one of the above to prevent
  48                                    blocking */
  49 #define LOCK_UN         8       /* remove lock */
  50 
  51 #ifdef __KERNEL__
  52 #define F_POSIX         1
  53 #define F_FLOCK         2
  54 #endif /* __KERNEL__ */
  55 
  56 struct flock {
  57         short l_type;
  58         short l_whence;
  59         off_t l_start;
  60         off_t l_len;
  61         pid_t l_pid;
  62 };
  63 
  64 #endif

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