Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 100696 | Differences between
and this patch

Collapse All | Expand All

(-)sysdeps/unix/sysv/linux/sh/bits/fcntl.h~ (-14 / +38 lines)
Lines 43-60 Link Here
43
#define O_ASYNC		 020000
43
#define O_ASYNC		 020000
44
44
45
#ifdef __USE_GNU
45
#ifdef __USE_GNU
46
# define O_DIRECT	 040000	/* Direct disk access.  */
46
# define O_DIRECT	 040000	/* Direct disk access.	*/
47
# define O_DIRECTORY	0200000	/* Must be a directory.  */
47
# define O_DIRECTORY	0200000	/* Must be a directory.	 */
48
# define O_NOFOLLOW	0400000	/* Do not follow links.  */
48
# define O_NOFOLLOW	0400000	/* Do not follow links.	 */
49
# define O_NOATIME     01000000 /* Do not set atime.  */
49
# define O_NOATIME     01000000 /* Do not set atime.  */
50
#endif
50
#endif
51
51
52
/* For now Linux has synchronisity options for data and read operations.
52
/* For now Linux has synchronisity options for data and read operations.
53
   We define the symbols here but let them do the same as O_SYNC since
53
   We define the symbols here but let them do the same as O_SYNC since
54
   this is a superset.  */
54
   this is a superset.	*/
55
#if defined __USE_POSIX199309 || defined __USE_UNIX98
55
#if defined __USE_POSIX199309 || defined __USE_UNIX98
56
# define O_DSYNC	O_SYNC	/* Synchronize data.  */
56
# define O_DSYNC	O_SYNC	/* Synchronize data.  */
57
# define O_RSYNC	O_SYNC	/* Synchronize read operations.  */
57
# define O_RSYNC	O_SYNC	/* Synchronize read operations.	 */
58
#endif
58
#endif
59
59
60
#ifdef __USE_LARGEFILE64
60
#ifdef __USE_LARGEFILE64
Lines 70-84 Link Here
70
#ifndef __USE_FILE_OFFSET64
70
#ifndef __USE_FILE_OFFSET64
71
# define F_GETLK	5	/* Get record locking info.  */
71
# define F_GETLK	5	/* Get record locking info.  */
72
# define F_SETLK	6	/* Set record locking info (non-blocking).  */
72
# define F_SETLK	6	/* Set record locking info (non-blocking).  */
73
# define F_SETLKW	7	/* Set record locking info (blocking).  */
73
# define F_SETLKW	7	/* Set record locking info (blocking).	*/
74
#else
74
#else
75
# define F_GETLK	F_GETLK64  /* Get record locking info.  */
75
# define F_GETLK	F_GETLK64  /* Get record locking info.	*/
76
# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
76
# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
77
# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
77
# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
78
#endif
78
#endif
79
#define F_GETLK64	12	/* Get record locking info.  */
79
#define F_GETLK64	12	/* Get record locking info.  */
80
#define F_SETLK64	13	/* Set record locking info (non-blocking).  */
80
#define F_SETLK64	13	/* Set record locking info (non-blocking).  */
81
#define F_SETLKW64	14	/* Set record locking info (blocking).  */
81
#define F_SETLKW64	14	/* Set record locking info (blocking).	*/
82
82
83
#if defined __USE_BSD || defined __USE_UNIX98
83
#if defined __USE_BSD || defined __USE_UNIX98
84
# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
84
# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
Lines 90-109 Link Here
90
# define F_GETSIG	11	/* Get number of signal to be sent.  */
90
# define F_GETSIG	11	/* Get number of signal to be sent.  */
91
#endif
91
#endif
92
92
93
#ifdef __USE_GNU
94
# define F_SETLEASE	1024	/* Set a lease.	 */
95
# define F_GETLEASE	1025	/* Enquire what lease is active.  */
96
# define F_NOTIFY	1026	/* Request notfications on a directory.	 */
97
#endif
98
93
/* For F_[GET|SET]FL.  */
99
/* For F_[GET|SET]FL.  */
94
#define FD_CLOEXEC	1	/* actually anything with low bit set goes */
100
#define FD_CLOEXEC	1	/* actually anything with low bit set goes */
95
101
96
/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
102
/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
97
#define F_RDLCK		0	/* Read lock.  */
103
#define F_RDLCK		0	/* Read lock.  */
98
#define F_WRLCK		1	/* Write lock.  */
104
#define F_WRLCK		1	/* Write lock.	*/
99
#define F_UNLCK		2	/* Remove lock.  */
105
#define F_UNLCK		2	/* Remove lock.	 */
100
106
101
/* For old implementation of bsd flock().  */
107
/* For old implementation of bsd flock().  */
102
#define F_EXLCK		4	/* or 3 */
108
#define F_EXLCK		4	/* or 3 */
103
#define F_SHLCK		8	/* or 4 */
109
#define F_SHLCK		8	/* or 4 */
104
110
105
#ifdef __USE_BSD
111
#ifdef __USE_BSD
106
/* Operations for bsd flock(), also used by the kernel implementation.  */
112
/* Operations for bsd flock(), also used by the kernel implementation.	*/
107
# define LOCK_SH	1	/* shared lock */
113
# define LOCK_SH	1	/* shared lock */
108
# define LOCK_EX	2	/* exclusive lock */
114
# define LOCK_EX	2	/* exclusive lock */
109
# define LOCK_NB	4	/* or'd with one of the above to prevent
115
# define LOCK_NB	4	/* or'd with one of the above to prevent
Lines 111-119 Link Here
111
# define LOCK_UN	8	/* remove lock */
117
# define LOCK_UN	8	/* remove lock */
112
#endif
118
#endif
113
119
120
#ifdef __USE_GNU
121
# define LOCK_MAND	32	/* This is a mandatory flock:	*/
122
# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
123
# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
124
# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
125
#endif
126
127
#ifdef __USE_GNU
128
/* Types of directory notifications that may be requested with F_NOTIFY.  */
129
# define DN_ACCESS	0x00000001	/* File accessed.  */
130
# define DN_MODIFY	0x00000002	/* File modified.  */
131
# define DN_CREATE	0x00000004	/* File created.  */
132
# define DN_DELETE	0x00000008	/* File removed.  */
133
# define DN_RENAME	0x00000010	/* File renamed.  */
134
# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */
135
# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
136
#endif
137
114
struct flock
138
struct flock
115
  {
139
  {
116
    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
140
    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
117
    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
141
    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
118
#ifndef __USE_FILE_OFFSET64
142
#ifndef __USE_FILE_OFFSET64
119
    __off_t l_start;	/* Offset where the lock begins.  */
143
    __off_t l_start;	/* Offset where the lock begins.  */
Lines 128-134 Link Here
128
#ifdef __USE_LARGEFILE64
152
#ifdef __USE_LARGEFILE64
129
struct flock64
153
struct flock64
130
  {
154
  {
131
    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
155
    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
132
    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
156
    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
133
    __off64_t l_start;	/* Offset where the lock begins.  */
157
    __off64_t l_start;	/* Offset where the lock begins.  */
134
    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
158
    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
Lines 150-156 Link Here
150
#ifdef __USE_XOPEN2K
174
#ifdef __USE_XOPEN2K
151
# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */
175
# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */
152
# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */
176
# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */
153
# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.  */
177
# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */
154
# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */
178
# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */
155
# define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
179
# define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
156
# define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
180
# define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */

Return to bug 100696