diff options
Diffstat (limited to 'libc/sysdeps/linux')
| -rw-r--r-- | libc/sysdeps/linux/cris/bits/fcntl.h | 96 | 
1 files changed, 67 insertions, 29 deletions
| diff --git a/libc/sysdeps/linux/cris/bits/fcntl.h b/libc/sysdeps/linux/cris/bits/fcntl.h index 783bd3610..7cce16904 100644 --- a/libc/sysdeps/linux/cris/bits/fcntl.h +++ b/libc/sysdeps/linux/cris/bits/fcntl.h @@ -1,21 +1,21 @@  /* O_*, F_*, FD_* bit values for Linux. -   Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +   Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   You should have received a copy of the GNU Lesser General Public +   License along with the GNU C Library; if not, write to the Free +   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +   02111-1307 USA.  */  #ifndef	_FCNTL_H  # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." @@ -42,18 +42,18 @@  #define O_ASYNC		 020000  #ifdef __USE_GNU -# define O_DIRECT	 040000	/* Direct disk access.  */ -# define O_DIRECTORY	0200000	/* Must be a directory.  */ -# define O_NOFOLLOW	0400000	/* Do not follow links.  */ +# define O_DIRECT	 040000	/* Direct disk access.	*/ +# define O_DIRECTORY	0200000	/* Must be a directory.	 */ +# define O_NOFOLLOW	0400000	/* Do not follow links.	 */  # define O_STREAMING	04000000/* streaming access */  #endif  /* For now Linux has synchronisity options for data and read operations.     We define the symbols here but let them do the same as O_SYNC since -   this is a superset.  */ +   this is a superset.	*/  #if defined __USE_POSIX199309 || defined __USE_UNIX98  # define O_DSYNC	O_SYNC	/* Synchronize data.  */ -# define O_RSYNC	O_SYNC	/* Synchronize read operations.  */ +# define O_RSYNC	O_SYNC	/* Synchronize read operations.	 */  #endif  #ifdef __USE_LARGEFILE64 @@ -66,16 +66,20 @@  #define F_SETFD		2	/* Set file descriptor flags.  */  #define F_GETFL		3	/* Get file status flags.  */  #define F_SETFL		4	/* Set file status flags.  */ -#define F_GETLK		5	/* Get record locking info.  */ -#define F_SETLK		6	/* Set record locking info (non-blocking).  */ -#define F_SETLKW	7	/* Set record locking info (blocking).  */ - -/* XXX missing */ -#define F_GETLK64	5	/* Get record locking info.  */ -#define F_SETLK64	6	/* Set record locking info (non-blocking).  */ -#define F_SETLKW64	7	/* Set record locking info (blocking).  */ +#ifndef __USE_FILE_OFFSET64 +# define F_GETLK	5	/* Get record locking info.  */ +# define F_SETLK	6	/* Set record locking info (non-blocking).  */ +# define F_SETLKW	7	/* Set record locking info (blocking).	*/ +#else +# define F_GETLK	F_GETLK64  /* Get record locking info.	*/ +# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/ +# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */ +#endif +#define F_GETLK64	12	/* Get record locking info.  */ +#define F_SETLK64	13	/* Set record locking info (non-blocking).  */ +#define F_SETLKW64	14	/* Set record locking info (blocking).	*/ -#ifdef __USE_BSD +#if defined __USE_BSD || defined __USE_XOPEN2K  # define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */  # define F_GETOWN	9	/* Set owner of socket (receiver of SIGIO).  */  #endif @@ -85,20 +89,26 @@  # define F_GETSIG	11	/* Get number of signal to be sent.  */  #endif +#ifdef __USE_GNU +# define F_SETLEASE	1024	/* Set a lease.	 */ +# define F_GETLEASE	1025	/* Enquire what lease is active.  */ +# define F_NOTIFY	1026	/* Request notfications on a directory.	 */ +#endif +  /* For F_[GET|SET]FL.  */  #define FD_CLOEXEC	1	/* actually anything with low bit set goes */  /* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */  #define F_RDLCK		0	/* Read lock.  */ -#define F_WRLCK		1	/* Write lock.  */ -#define F_UNLCK		2	/* Remove lock.  */ +#define F_WRLCK		1	/* Write lock.	*/ +#define F_UNLCK		2	/* Remove lock.	 */ -/* for old implementation of bsd flock () */ +/* For old implementation of bsd flock().  */  #define F_EXLCK		4	/* or 3 */  #define F_SHLCK		8	/* or 4 */  #ifdef __USE_BSD -/* operations for bsd flock(), also used by the kernel implementation */ +/* Operations for bsd flock(), also used by the kernel implementation.	*/  # define LOCK_SH	1	/* shared lock */  # define LOCK_EX	2	/* exclusive lock */  # define LOCK_NB	4	/* or'd with one of the above to prevent @@ -106,9 +116,27 @@  # define LOCK_UN	8	/* remove lock */  #endif +#ifdef __USE_GNU +# define LOCK_MAND	32	/* This is a mandatory flock:	*/ +# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */ +# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */ +# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */ +#endif + +#ifdef __USE_GNU +/* Types of directory notifications that may be requested with F_NOTIFY.  */ +# define DN_ACCESS	0x00000001	/* File accessed.  */ +# define DN_MODIFY	0x00000002	/* File modified.  */ +# define DN_CREATE	0x00000004	/* File created.  */ +# define DN_DELETE	0x00000008	/* File removed.  */ +# define DN_RENAME	0x00000010	/* File renamed.  */ +# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */ +# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */ +#endif +  struct flock    { -    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */ +    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/      short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */  #ifndef __USE_FILE_OFFSET64      __off_t l_start;	/* Offset where the lock begins.  */ @@ -123,7 +151,7 @@ struct flock  #ifdef __USE_LARGEFILE64  struct flock64    { -    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */ +    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/      short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */      __off64_t l_start;	/* Offset where the lock begins.  */      __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */ @@ -140,3 +168,13 @@ struct flock64  # define FNONBLOCK	O_NONBLOCK  # define FNDELAY	O_NDELAY  #endif /* Use BSD.  */ + +/* Advise to `posix_fadvise'.  */ +#ifdef __USE_XOPEN2K +# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */ +# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */ +# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */ +# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */ +# define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */ +# define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */ +#endif | 
