2005-04-16 15:20:36 -07:00
/*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*
* Copyright ( C ) 1995 , 96 , 97 , 98 , 99 , 2003 Ralf Baechle
*/
# ifndef _ASM_FCNTL_H
# define _ASM_FCNTL_H
# define O_APPEND 0x0008
# define O_SYNC 0x0010
# define O_NONBLOCK 0x0080
# define O_CREAT 0x0100 /* not fcntl */
# define O_EXCL 0x0400 /* not fcntl */
# define O_NOCTTY 0x0800 /* not fcntl */
# define FASYNC 0x1000 /* fcntl, for BSD compatibility */
# define O_LARGEFILE 0x2000 /* allow large file opens */
# define O_DIRECT 0x8000 /* direct disk access hint */
# define F_GETLK 14
# define F_SETLK 6
# define F_SETLKW 7
# define F_SETOWN 24 /* for sockets. */
# define F_GETOWN 23 /* for sockets. */
# define F_SETSIG 10 /* for sockets. */
# define F_GETSIG 11 /* for sockets. */
# ifndef __mips64
# define F_GETLK64 33 /* using 'struct flock64' */
# define F_SETLK64 34
# define F_SETLKW64 35
# endif
/*
* The flavours of struct flock . " struct flock " is the ABI compliant
* variant . Finally struct flock64 is the LFS variant of struct flock . As
* a historic accident and inconsistence with the ABI definition it doesn ' t
* contain all the same fields as struct flock .
*/
# ifndef __mips64
2005-09-06 15:17:57 -07:00
struct flock {
2005-04-16 15:20:36 -07:00
short l_type ;
short l_whence ;
__kernel_off_t l_start ;
__kernel_off_t l_len ;
long l_sysid ;
__kernel_pid_t l_pid ;
long pad [ 4 ] ;
2005-09-06 15:18:00 -07:00
} ;
2005-04-16 15:20:36 -07:00
2005-09-06 15:18:00 -07:00
# define HAVE_ARCH_STRUCT_FLOCK
2005-04-16 15:20:36 -07:00
# endif
2005-09-06 15:17:57 -07:00
# include <asm-generic/fcntl.h>
2005-04-16 15:20:36 -07:00
2005-09-06 15:18:00 -07:00
typedef struct flock flock_t ;
2005-09-06 15:18:01 -07:00
# ifndef __mips64
typedef struct flock64 flock64_t ;
# endif
2005-09-06 15:18:00 -07:00
2005-04-16 15:20:36 -07:00
# endif /* _ASM_FCNTL_H */