linux-old/include/asm-parisc/fcntl.h
<<
>>
Prefs
   1#ifndef _PARISC_FCNTL_H
   2#define _PARISC_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       00000003
   7#define O_RDONLY        00000000
   8#define O_WRONLY        00000001
   9#define O_RDWR          00000002
  10#define O_APPEND        00000010
  11#define O_BLKSEEK       00000100 /* HPUX only */
  12#define O_CREAT         00000400 /* not fcntl */
  13#define O_TRUNC         00001000 /* not fcntl */
  14#define O_EXCL          00002000 /* not fcntl */
  15#define O_LARGEFILE     00004000
  16#define O_SYNC          00100000
  17#define O_NONBLOCK      00200004 /* HPUX has separate NDELAY & NONBLOCK */
  18#define O_NDELAY        O_NONBLOCK
  19#define O_NOCTTY        00400000 /* not fcntl */
  20#define O_DSYNC         01000000 /* HPUX only */
  21#define O_RSYNC         02000000 /* HPUX only */
  22
  23#define FASYNC          00020000 /* fcntl, for BSD compatibility */
  24#define O_DIRECT        00040000 /* direct disk access hint - currently ignored */
  25#define O_DIRECTORY     00010000 /* must be a directory */
  26#define O_NOFOLLOW      00000200 /* don't follow links */
  27#define O_INVISIBLE     04000000 /* invisible I/O, for DMAPI/XDSM */
  28
  29#define F_DUPFD         0       /* dup */
  30#define F_GETFD         1       /* get f_flags */
  31#define F_SETFD         2       /* set f_flags */
  32#define F_GETFL         3       /* more flags (cloexec) */
  33#define F_SETFL         4
  34#define F_GETLK         5
  35#define F_SETLK         6
  36#define F_SETLKW        7
  37#define F_GETLK64       8
  38#define F_SETLK64       9
  39#define F_SETLKW64      10
  40
  41#define F_GETOWN        11      /*  for sockets. */
  42#define F_SETOWN        12      /*  for sockets. */
  43#define F_SETSIG        13      /*  for sockets. */
  44#define F_GETSIG        14      /*  for sockets. */
  45
  46/* for F_[GET|SET]FL */
  47#define FD_CLOEXEC      1       /* actually anything with low bit set goes */
  48
  49/* for posix fcntl() and lockf() */
  50#define F_RDLCK         01
  51#define F_WRLCK         02
  52#define F_UNLCK         03
  53
  54/* for old implementation of bsd flock () */
  55#define F_EXLCK         4       /* or 3 */
  56#define F_SHLCK         8       /* or 4 */
  57
  58/* for leases */
  59#define F_INPROGRESS    16
  60
  61/* operations for bsd flock(), also used by the kernel implementation */
  62#define LOCK_SH         1       /* shared lock */
  63#define LOCK_EX         2       /* exclusive lock */
  64#define LOCK_NB         4       /* or'd with one of the above to prevent
  65                                   blocking */
  66#define LOCK_UN         8       /* remove lock */
  67
  68#define LOCK_MAND       32      /* This is a mandatory flock */
  69#define LOCK_READ       64      /* ... Which allows concurrent read operations */
  70#define LOCK_WRITE      128     /* ... Which allows concurrent write operations */
  71#define LOCK_RW         192     /* ... Which allows concurrent read & write ops */
  72
  73struct flock {
  74        short l_type;
  75        short l_whence;
  76        off_t l_start;
  77        off_t l_len;
  78        pid_t l_pid;
  79};
  80
  81struct flock64 {
  82        short l_type;
  83        short l_whence;
  84        loff_t l_start;
  85        loff_t l_len;
  86        pid_t l_pid;
  87};
  88
  89#define F_LINUX_SPECIFIC_BASE  1024
  90
  91#endif
  92
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.