linux/arch/mips/include/uapi/asm/fcntl.h
<<
>>
Prefs
   1/*
   2 * This file is subject to the terms and conditions of the GNU General Public
   3 * License.  See the file "COPYING" in the main directory of this archive
   4 * for more details.
   5 *
   6 * Copyright (C) 1995, 96, 97, 98, 99, 2003, 05 Ralf Baechle
   7 */
   8#ifndef _UAPI_ASM_FCNTL_H
   9#define _UAPI_ASM_FCNTL_H
  10
  11#include <asm/sgidefs.h>
  12
  13#define O_APPEND        0x0008
  14#define O_DSYNC         0x0010  /* used to be O_SYNC, see below */
  15#define O_NONBLOCK      0x0080
  16#define O_CREAT         0x0100  /* not fcntl */
  17#define O_TRUNC         0x0200  /* not fcntl */
  18#define O_EXCL          0x0400  /* not fcntl */
  19#define O_NOCTTY        0x0800  /* not fcntl */
  20#define FASYNC          0x1000  /* fcntl, for BSD compatibility */
  21#define O_LARGEFILE     0x2000  /* allow large file opens */
  22/*
  23 * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
  24 * the O_SYNC flag.  We continue to use the existing numerical value
  25 * for O_DSYNC semantics now, but using the correct symbolic name for it.
  26 * This new value is used to request true Posix O_SYNC semantics.  It is
  27 * defined in this strange way to make sure applications compiled against
  28 * new headers get at least O_DSYNC semantics on older kernels.
  29 *
  30 * This has the nice side-effect that we can simply test for O_DSYNC
  31 * wherever we do not care if O_DSYNC or O_SYNC is used.
  32 *
  33 * Note: __O_SYNC must never be used directly.
  34 */
  35#define __O_SYNC        0x4000
  36#define O_SYNC          (__O_SYNC|O_DSYNC)
  37#define O_DIRECT        0x8000  /* direct disk access hint */
  38
  39#define F_GETLK         14
  40#define F_SETLK         6
  41#define F_SETLKW        7
  42
  43#define F_SETOWN        24      /*  for sockets. */
  44#define F_GETOWN        23      /*  for sockets. */
  45
  46#ifndef __mips64
  47#define F_GETLK64       33      /*  using 'struct flock64' */
  48#define F_SETLK64       34
  49#define F_SETLKW64      35
  50#endif
  51
  52/*
  53 * The flavours of struct flock.  "struct flock" is the ABI compliant
  54 * variant.  Finally struct flock64 is the LFS variant of struct flock.  As
  55 * a historic accident and inconsistence with the ABI definition it doesn't
  56 * contain all the same fields as struct flock.
  57 */
  58
  59#if _MIPS_SIM != _MIPS_SIM_ABI64
  60
  61#include <linux/types.h>
  62
  63struct flock {
  64        short   l_type;
  65        short   l_whence;
  66        __kernel_off_t  l_start;
  67        __kernel_off_t  l_len;
  68        long    l_sysid;
  69        __kernel_pid_t l_pid;
  70        long    pad[4];
  71};
  72
  73#define HAVE_ARCH_STRUCT_FLOCK
  74
  75#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
  76
  77#include <asm-generic/fcntl.h>
  78
  79#endif /* _UAPI_ASM_FCNTL_H */
  80