111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _ASM_GENERIC_FCNTL_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _ASM_GENERIC_FCNTL_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_ACCMODE 00000003
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_RDONLY 00000000
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_WRONLY 00000001
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_RDWR 00000002
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_CREAT
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_CREAT 00000100
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_EXCL
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_EXCL 00000200
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_NOCTTY
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_NOCTTY 00000400
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_TRUNC
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_TRUNC 00001000
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_APPEND
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_APPEND 00002000
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_NONBLOCK
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_NONBLOCK 00004000
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_SYNC
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_SYNC 00010000
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef FASYNC
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FASYNC 00020000
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_DIRECT
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_DIRECT 00040000
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_LARGEFILE
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_LARGEFILE 00100000
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_DIRECTORY
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_DIRECTORY 00200000
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_NOFOLLOW
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_NOFOLLOW 00400000
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_NOATIME
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_NOATIME 01000000
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef O_NDELAY
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define O_NDELAY O_NONBLOCK
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_DUPFD 0
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_GETFD 1
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETFD 2
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_GETFL 3
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETFL 4
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef F_GETLK
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_GETLK 5
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETLK 6
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETLKW 7
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef F_SETOWN
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETOWN 8
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_GETOWN 9
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef F_SETSIG
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETSIG 10
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_GETSIG 11
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_CLOEXEC 1
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef F_RDLCK
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_RDLCK 0
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_WRLCK 1
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_UNLCK 2
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef F_EXLCK
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_EXLCK 4
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SHLCK 8
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef F_INPROGRESS
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_INPROGRESS 16
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_SH 1
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_EX 2
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_NB 4
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_UN 8
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_MAND 32
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_READ 64
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_WRITE 128
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCK_RW 192
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_LINUX_SPECIFIC_BASE 1024
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef HAVE_ARCH_STRUCT_FLOCK
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __ARCH_FLOCK_PAD
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __ARCH_FLOCK_PAD
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct flock {
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short l_type;
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short l_whence;
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert off_t l_start;
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert off_t l_len;
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert pid_t l_pid;
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __ARCH_FLOCK_PAD
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef F_GETLK64
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_GETLK64 12
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETLK64 13
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define F_SETLKW64 14
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef HAVE_ARCH_STRUCT_FLOCK64
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __ARCH_FLOCK64_PAD
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __ARCH_FLOCK64_PAD
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct flock64 {
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short l_type;
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short l_whence;
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert loff_t l_start;
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert loff_t l_len;
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert pid_t l_pid;
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __ARCH_FLOCK64_PAD
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
149