blob: a5c6e4b6a20e4413df305a5b73c6c63838c88891 [file] [log] [blame]
Chris Zankel9a8fd552005-06-23 22:01:26 -07001/*
2 * include/asm-xtensa/fcntl.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 1995, 1996, 1997, 1998 by Ralf Baechle
9 * Copyright (C) 2001 - 2005 Tensilica Inc.
10 */
11
12#ifndef _XTENSA_FCNTL_H
13#define _XTENSA_FCNTL_H
14
15/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
16 located on an ext2 file system */
Chris Zankel9a8fd552005-06-23 22:01:26 -070017#define O_APPEND 0x0008
18#define O_SYNC 0x0010
19#define O_NONBLOCK 0x0080
20#define O_CREAT 0x0100 /* not fcntl */
21#define O_TRUNC 0x0200 /* not fcntl */
22#define O_EXCL 0x0400 /* not fcntl */
23#define O_NOCTTY 0x0800 /* not fcntl */
24#define FASYNC 0x1000 /* fcntl, for BSD compatibility */
25#define O_LARGEFILE 0x2000 /* allow large file opens - currently ignored */
26#define O_DIRECT 0x8000 /* direct disk access hint - currently ignored*/
27#define O_DIRECTORY 0x10000 /* must be a directory */
28#define O_NOFOLLOW 0x20000 /* don't follow links */
29#define O_NOATIME 0x100000
30
31#define O_NDELAY O_NONBLOCK
32
Chris Zankel9a8fd552005-06-23 22:01:26 -070033#define F_GETLK 14
34#define F_GETLK64 15
35#define F_SETLK 6
36#define F_SETLKW 7
37#define F_SETLK64 16
38#define F_SETLKW64 17
39
40#define F_SETOWN 24 /* for sockets. */
41#define F_GETOWN 23 /* for sockets. */
42#define F_SETSIG 10 /* for sockets. */
43#define F_GETSIG 11 /* for sockets. */
44
Chris Zankel9a8fd552005-06-23 22:01:26 -070045/* for posix fcntl() and lockf() */
46#define F_RDLCK 0
47#define F_WRLCK 1
48#define F_UNLCK 2
49
50/* for old implementation of bsd flock () */
51#define F_EXLCK 4 /* or 3 */
52#define F_SHLCK 8 /* or 4 */
53
54/* for leases */
55#define F_INPROGRESS 16
56
Chris Zankel9a8fd552005-06-23 22:01:26 -070057typedef struct flock {
58 short l_type;
59 short l_whence;
60 __kernel_off_t l_start;
61 __kernel_off_t l_len;
62 long l_sysid;
63 __kernel_pid_t l_pid;
64 long pad[4];
65} flock_t;
66
67struct flock64 {
68 short l_type;
69 short l_whence;
70 __kernel_off_t l_start;
71 __kernel_off_t l_len;
72 pid_t l_pid;
73};
74
Stephen Rothwell93172592005-09-06 15:17:57 -070075#include <asm-generic/fcntl.h>
Chris Zankel9a8fd552005-06-23 22:01:26 -070076
77#endif /* _XTENSA_FCNTL_H */