linux-user: Sync fcntl.h bits with the kernel
For each target, only define the bits that appear in arch/target/include/asm/fcntl.h. Mirror the kernel's asm-generic layout by handling anything undefined afterward. Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
6e06d515d4
commit
4eeea4f3f1
@ -2046,135 +2046,125 @@ struct target_statfs64 {
|
||||
#define TARGET_F_DUPFD_CLOEXEC (TARGET_F_LINUX_SPECIFIC_BASE + 6)
|
||||
#define TARGET_F_NOTIFY (TARGET_F_LINUX_SPECIFIC_BASE+2)
|
||||
|
||||
#if defined (TARGET_ARM)
|
||||
#define TARGET_O_ACCMODE 0003
|
||||
#define TARGET_O_RDONLY 00
|
||||
#define TARGET_O_WRONLY 01
|
||||
#define TARGET_O_RDWR 02
|
||||
#define TARGET_O_CREAT 0100 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0200 /* not fcntl */
|
||||
#define TARGET_O_NOCTTY 0400 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 01000 /* not fcntl */
|
||||
#define TARGET_O_APPEND 02000
|
||||
#define TARGET_O_NONBLOCK 04000
|
||||
#define TARGET_O_NDELAY TARGET_O_NONBLOCK
|
||||
#define TARGET_O_SYNC 010000
|
||||
#define TARGET_FASYNC 020000 /* fcntl, for BSD compatibility */
|
||||
#if defined(TARGET_ALPHA)
|
||||
#define TARGET_O_NONBLOCK 04
|
||||
#define TARGET_O_APPEND 010
|
||||
#define TARGET_O_CREAT 01000 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 02000 /* not fcntl */
|
||||
#define TARGET_O_EXCL 04000 /* not fcntl */
|
||||
#define TARGET_O_NOCTTY 010000 /* not fcntl */
|
||||
#define TARGET_O_DSYNC 040000
|
||||
#define TARGET_O_LARGEFILE 0 /* not necessary, always 64-bit */
|
||||
#define TARGET_O_DIRECTORY 0100000 /* must be a directory */
|
||||
#define TARGET_O_NOFOLLOW 0200000 /* don't follow links */
|
||||
#define TARGET_O_DIRECT 02000000 /* direct disk access hint */
|
||||
#define TARGET_O_NOATIME 04000000
|
||||
#define TARGET_O_CLOEXEC 010000000
|
||||
#define TARGET___O_SYNC 020000000
|
||||
#define TARGET_O_PATH 040000000
|
||||
#elif defined(TARGET_ARM) || defined(TARGET_M68K)
|
||||
#define TARGET_O_DIRECTORY 040000 /* must be a directory */
|
||||
#define TARGET_O_NOFOLLOW 0100000 /* don't follow links */
|
||||
#define TARGET_O_DIRECT 0200000 /* direct disk access hint */
|
||||
#define TARGET_O_LARGEFILE 0400000
|
||||
#elif defined(TARGET_MIPS)
|
||||
#define TARGET_O_APPEND 0x0008
|
||||
#define TARGET_O_DSYNC 0x0010
|
||||
#define TARGET_O_NONBLOCK 0x0080
|
||||
#define TARGET_O_CREAT 0x0100 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 0x0200 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0x0400 /* not fcntl */
|
||||
#define TARGET_O_NOCTTY 0x0800 /* not fcntl */
|
||||
#define TARGET_FASYNC 0x1000 /* fcntl, for BSD compatibility */
|
||||
#define TARGET_O_LARGEFILE 0x2000 /* allow large file opens */
|
||||
#define TARGET___O_SYNC 0x4000
|
||||
#define TARGET_O_DIRECT 0x8000 /* direct disk access hint */
|
||||
#elif defined (TARGET_PPC)
|
||||
#define TARGET_O_ACCMODE 0003
|
||||
#define TARGET_O_RDONLY 00
|
||||
#define TARGET_O_WRONLY 01
|
||||
#define TARGET_O_RDWR 02
|
||||
#define TARGET_O_CREAT 0100 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0200 /* not fcntl */
|
||||
#define TARGET_O_NOCTTY 0400 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 01000 /* not fcntl */
|
||||
#define TARGET_O_APPEND 02000
|
||||
#define TARGET_O_NONBLOCK 04000
|
||||
#define TARGET_O_NDELAY TARGET_O_NONBLOCK
|
||||
#define TARGET_O_SYNC 010000
|
||||
#define TARGET_FASYNC 020000 /* fcntl, for BSD compatibility */
|
||||
#define TARGET_O_DIRECTORY 040000 /* must be a directory */
|
||||
#define TARGET_O_NOFOLLOW 0100000 /* don't follow links */
|
||||
#define TARGET_O_LARGEFILE 0200000
|
||||
#define TARGET_O_DIRECT 0400000 /* direct disk access hint */
|
||||
#elif defined (TARGET_MICROBLAZE)
|
||||
#define TARGET_O_ACCMODE 0003
|
||||
#define TARGET_O_RDONLY 00
|
||||
#define TARGET_O_WRONLY 01
|
||||
#define TARGET_O_RDWR 02
|
||||
#define TARGET_O_CREAT 0100 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0200 /* not fcntl */
|
||||
#define TARGET_O_NOCTTY 0400 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 01000 /* not fcntl */
|
||||
#define TARGET_O_APPEND 02000
|
||||
#define TARGET_O_NONBLOCK 04000
|
||||
#define TARGET_O_NDELAY TARGET_O_NONBLOCK
|
||||
#define TARGET_O_SYNC 010000
|
||||
#define TARGET_FASYNC 020000 /* fcntl, for BSD compatibility */
|
||||
#define TARGET_O_DIRECTORY 040000 /* must be a directory */
|
||||
#define TARGET_O_NOFOLLOW 0100000 /* don't follow links */
|
||||
#define TARGET_O_LARGEFILE 0200000
|
||||
#define TARGET_O_DIRECT 0400000 /* direct disk access hint */
|
||||
#elif defined (TARGET_SPARC)
|
||||
#define TARGET_O_RDONLY 0x0000
|
||||
#define TARGET_O_WRONLY 0x0001
|
||||
#define TARGET_O_RDWR 0x0002
|
||||
#define TARGET_O_ACCMODE 0x0003
|
||||
#define TARGET_O_APPEND 0x0008
|
||||
#define TARGET_FASYNC 0x0040 /* fcntl, for BSD compatibility */
|
||||
#define TARGET_O_CREAT 0x0200 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 0x0400 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0x0800 /* not fcntl */
|
||||
#define TARGET_O_SYNC 0x2000
|
||||
#define TARGET_O_NONBLOCK 0x4000
|
||||
#define TARGET_O_NDELAY (0x0004 | TARGET_O_NONBLOCK)
|
||||
#define TARGET_O_NOCTTY 0x8000 /* not fcntl */
|
||||
#define TARGET_O_DIRECTORY 0x10000 /* must be a directory */
|
||||
#define TARGET_O_NOFOLLOW 0x20000 /* don't follow links */
|
||||
#define TARGET_O_APPEND 0x0008
|
||||
#define TARGET_FASYNC 0x0040 /* fcntl, for BSD compatibility */
|
||||
#define TARGET_O_CREAT 0x0200 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 0x0400 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0x0800 /* not fcntl */
|
||||
#define TARGET_O_DSYNC 0x2000
|
||||
#define TARGET_O_NONBLOCK 0x4000
|
||||
# ifdef TARGET_SPARC64
|
||||
# define TARGET_O_NDELAY 0x0004
|
||||
# else
|
||||
# define TARGET_O_NDELAY (0x0004 | TARGET_O_NONBLOCK)
|
||||
# endif
|
||||
#define TARGET_O_NOCTTY 0x8000 /* not fcntl */
|
||||
#define TARGET_O_LARGEFILE 0x40000
|
||||
#define TARGET_O_DIRECT 0x100000 /* direct disk access hint */
|
||||
#elif defined(TARGET_MIPS)
|
||||
#define TARGET_O_ACCMODE 0x0003
|
||||
#define TARGET_O_RDONLY 0x0000
|
||||
#define TARGET_O_WRONLY 0x0001
|
||||
#define TARGET_O_RDWR 0x0002
|
||||
#define TARGET_O_APPEND 0x0008
|
||||
#define TARGET_O_SYNC 0x0010
|
||||
#define TARGET_O_NONBLOCK 0x0080
|
||||
#define TARGET_O_CREAT 0x0100 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 0x0200 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0x0400 /* not fcntl */
|
||||
#define TARGET_O_NOCTTY 0x0800 /* not fcntl */
|
||||
#define TARGET_FASYNC 0x1000 /* fcntl, for BSD compatibility */
|
||||
#define TARGET_O_LARGEFILE 0x2000 /* allow large file opens */
|
||||
#define TARGET_O_DIRECT 0x8000 /* direct disk access hint */
|
||||
#define TARGET_O_DIRECTORY 0x10000 /* must be a directory */
|
||||
#define TARGET_O_NOFOLLOW 0x20000 /* don't follow links */
|
||||
#define TARGET_O_NOATIME 0x40000
|
||||
#define TARGET_O_NDELAY TARGET_O_NONBLOCK
|
||||
#elif defined(TARGET_ALPHA)
|
||||
#define TARGET_O_ACCMODE 0x0003
|
||||
#define TARGET_O_RDONLY 0x0000
|
||||
#define TARGET_O_WRONLY 0x0001
|
||||
#define TARGET_O_RDWR 0x0002
|
||||
#define TARGET_O_APPEND 0x0008
|
||||
#define TARGET_O_SYNC 0x4000
|
||||
#define TARGET_O_NONBLOCK 0x0004
|
||||
#define TARGET_O_CREAT 0x0200 /* not fcntl */
|
||||
#define TARGET_O_TRUNC 0x0400 /* not fcntl */
|
||||
#define TARGET_O_EXCL 0x0800 /* not fcntl */
|
||||
#define TARGET_O_NOCTTY 0x1000 /* not fcntl */
|
||||
#define TARGET_FASYNC 0x2000 /* fcntl, for BSD compatibility */
|
||||
#define TARGET_O_LARGEFILE 0x0000 /* not necessary, always 64-bit */
|
||||
#define TARGET_O_DIRECT 0x80000 /* direct disk access hint */
|
||||
#define TARGET_O_DIRECTORY 0x8000 /* must be a directory */
|
||||
#define TARGET_O_NOFOLLOW 0x10000 /* don't follow links */
|
||||
#define TARGET_O_NOATIME 0x100000
|
||||
#define TARGET_O_NDELAY TARGET_O_NONBLOCK
|
||||
#else
|
||||
#define TARGET_O_DIRECT 0x100000 /* direct disk access hint */
|
||||
#define TARGET_O_NOATIME 0x200000
|
||||
#define TARGET_O_CLOEXEC 0x400000
|
||||
#define TARGET___O_SYNC 0x800000
|
||||
#define TARGET_O_PATH 0x1000000
|
||||
#endif
|
||||
|
||||
/* <asm-generic/fcntl.h> values follow. */
|
||||
#define TARGET_O_ACCMODE 0003
|
||||
#define TARGET_O_RDONLY 00
|
||||
#define TARGET_O_WRONLY 01
|
||||
#define TARGET_O_RDWR 02
|
||||
#ifndef TARGET_O_CREAT
|
||||
#define TARGET_O_CREAT 0100 /* not fcntl */
|
||||
#endif
|
||||
#ifndef TARGET_O_EXCL
|
||||
#define TARGET_O_EXCL 0200 /* not fcntl */
|
||||
#endif
|
||||
#ifndef TARGET_O_NOCTTY
|
||||
#define TARGET_O_NOCTTY 0400 /* not fcntl */
|
||||
#endif
|
||||
#ifndef TARGET_O_TRUNC
|
||||
#define TARGET_O_TRUNC 01000 /* not fcntl */
|
||||
#endif
|
||||
#ifndef TARGET_O_APPEND
|
||||
#define TARGET_O_APPEND 02000
|
||||
#endif
|
||||
#ifndef TARGET_O_NONBLOCK
|
||||
#define TARGET_O_NONBLOCK 04000
|
||||
#define TARGET_O_NDELAY TARGET_O_NONBLOCK
|
||||
#define TARGET_O_SYNC 010000
|
||||
#endif
|
||||
#ifndef TARGET_O_DSYNC
|
||||
#define TARGET_O_DSYNC 010000
|
||||
#endif
|
||||
#ifndef TARGET_FASYNC
|
||||
#define TARGET_FASYNC 020000 /* fcntl, for BSD compatibility */
|
||||
#endif
|
||||
#ifndef TARGET_O_DIRECT
|
||||
#define TARGET_O_DIRECT 040000 /* direct disk access hint */
|
||||
#endif
|
||||
#ifndef TARGET_O_LARGEFILE
|
||||
#define TARGET_O_LARGEFILE 0100000
|
||||
#endif
|
||||
#ifndef TARGET_O_DIRECTORY
|
||||
#define TARGET_O_DIRECTORY 0200000 /* must be a directory */
|
||||
#endif
|
||||
#ifndef TARGET_O_NOFOLLOW
|
||||
#define TARGET_O_NOFOLLOW 0400000 /* don't follow links */
|
||||
#endif
|
||||
#ifndef TARGET_O_NOATIME
|
||||
#define TARGET_O_NOATIME 01000000
|
||||
#endif
|
||||
#ifndef TARGET_O_CLOEXEC
|
||||
#define TARGET_O_CLOEXEC 02000000
|
||||
#endif
|
||||
#ifndef TARGET___O_SYNC
|
||||
#define TARGET___O_SYNC 04000000
|
||||
#endif
|
||||
#ifndef TARGET_O_PATH
|
||||
#define TARGET_O_PATH 010000000
|
||||
#endif
|
||||
#ifndef TARGET_O_NDELAY
|
||||
#define TARGET_O_NDELAY TARGET_O_NONBLOCK
|
||||
#endif
|
||||
#ifndef TARGET_O_SYNC
|
||||
#define TARGET_O_SYNC (TARGET___O_SYNC | TARGET_O_DSYNC)
|
||||
#endif
|
||||
|
||||
struct target_flock {
|
||||
short l_type;
|
||||
|
Loading…
Reference in New Issue
Block a user