Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /*
0003  * This file is subject to the terms and conditions of the GNU General Public
0004  * License.  See the file "COPYING" in the main directory of this archive
0005  * for more details.
0006  *
0007  * Copyright (C) 1995, 96, 97, 98, 99, 2003, 05 Ralf Baechle
0008  */
0009 #ifndef _UAPI_ASM_FCNTL_H
0010 #define _UAPI_ASM_FCNTL_H
0011 
0012 #include <asm/sgidefs.h>
0013 
0014 #define O_APPEND    0x0008
0015 #define O_DSYNC     0x0010  /* used to be O_SYNC, see below */
0016 #define O_NONBLOCK  0x0080
0017 #define O_CREAT     0x0100  /* not fcntl */
0018 #define O_TRUNC     0x0200  /* not fcntl */
0019 #define O_EXCL      0x0400  /* not fcntl */
0020 #define O_NOCTTY    0x0800  /* not fcntl */
0021 #define FASYNC      0x1000  /* fcntl, for BSD compatibility */
0022 #define O_LARGEFILE 0x2000  /* allow large file opens */
0023 /*
0024  * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
0025  * the O_SYNC flag.  We continue to use the existing numerical value
0026  * for O_DSYNC semantics now, but using the correct symbolic name for it.
0027  * This new value is used to request true Posix O_SYNC semantics.  It is
0028  * defined in this strange way to make sure applications compiled against
0029  * new headers get at least O_DSYNC semantics on older kernels.
0030  *
0031  * This has the nice side-effect that we can simply test for O_DSYNC
0032  * wherever we do not care if O_DSYNC or O_SYNC is used.
0033  *
0034  * Note: __O_SYNC must never be used directly.
0035  */
0036 #define __O_SYNC    0x4000
0037 #define O_SYNC      (__O_SYNC|O_DSYNC)
0038 #define O_DIRECT    0x8000  /* direct disk access hint */
0039 
0040 #define F_GETLK     14
0041 #define F_SETLK     6
0042 #define F_SETLKW    7
0043 
0044 #define F_SETOWN    24  /*  for sockets. */
0045 #define F_GETOWN    23  /*  for sockets. */
0046 
0047 #if __BITS_PER_LONG == 32 || defined(__KERNEL__)
0048 #define F_GETLK64   33  /*  using 'struct flock64' */
0049 #define F_SETLK64   34
0050 #define F_SETLKW64  35
0051 #endif /* __BITS_PER_LONG == 32 || defined(__KERNEL__) */
0052 
0053 #if _MIPS_SIM != _MIPS_SIM_ABI64
0054 #define __ARCH_FLOCK_EXTRA_SYSID    long l_sysid;
0055 #define __ARCH_FLOCK_PAD        long pad[4];
0056 #endif
0057 
0058 #include <asm-generic/fcntl.h>
0059 
0060 #endif /* _UAPI_ASM_FCNTL_H */