fcntl.h
001: 
002: 
003: 
004: 
005: 
006: 
007: 
008: 
009: 
010: 
011: 
012: 
013: 
014: 
015: 
016: 
017: 
018: 
019: 
020: 
021: 
022: 
023: 
024: #ifndef _FCNTL_H
025: #define _FCNTL_H        1
026: 
027: #include <features.h>
028: 
029: 
030: __BEGIN_DECLS
031: 
032: 
033: 
034: #include <bits/fcntl.h>
035: 
036: 
037: #if defined __USE_XOPEN || defined __USE_XOPEN2K8
038: # include <bits/types.h>         
039: # define __need_timespec
040: # include <time.h>
041: # include <bits/stat.h>
042: 
043: # define S_IFMT         __S_IFMT
044: # define S_IFDIR        __S_IFDIR
045: # define S_IFCHR        __S_IFCHR
046: # define S_IFBLK        __S_IFBLK
047: # define S_IFREG        __S_IFREG
048: # ifdef __S_IFIFO
049: #  define S_IFIFO       __S_IFIFO
050: # endif
051: # ifdef __S_IFLNK
052: #  define S_IFLNK       __S_IFLNK
053: # endif
054: # if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) && defined __S_IFSOCK
055: #  define S_IFSOCK      __S_IFSOCK
056: # endif
057: 
058: 
059: 
060: # define S_ISUID        __S_ISUID       
061: # define S_ISGID        __S_ISGID       
062: 
063: # if defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN
064: 
065: #  define S_ISVTX       __S_ISVTX
066: # endif
067: 
068: # define S_IRUSR        __S_IREAD       
069: # define S_IWUSR        __S_IWRITE      
070: # define S_IXUSR        __S_IEXEC       
071: 
072: # define S_IRWXU        (__S_IREAD|__S_IWRITE|__S_IEXEC)
073: 
074: # define S_IRGRP        (S_IRUSR >> 3)  
075: # define S_IWGRP        (S_IWUSR >> 3)  
076: # define S_IXGRP        (S_IXUSR >> 3)  
077: 
078: # define S_IRWXG        (S_IRWXU >> 3)
079: 
080: # define S_IROTH        (S_IRGRP >> 3)  
081: # define S_IWOTH        (S_IWGRP >> 3)  
082: # define S_IXOTH        (S_IXGRP >> 3)  
083: 
084: # define S_IRWXO        (S_IRWXG >> 3)
085: #endif
086: 
087: #ifdef  __USE_MISC
088: # ifndef R_OK                   
089: 
090: 
091: #  define R_OK  4               
092: #  define W_OK  2               
093: #  define X_OK  1               
094: #  define F_OK  0               
095: # endif
096: #endif 
097: 
098: 
099: #if defined __USE_XOPEN || defined __USE_XOPEN2K8
100: # define SEEK_SET       0       
101: # define SEEK_CUR       1       
102: # define SEEK_END       2       
103: #endif  
104: 
105: 
106: 
107: 
108: 
109: 
110: extern int fcntl (int __fd, int __cmd, ...);
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: #ifndef __USE_FILE_OFFSET64
119: extern int open (__const char *__file, int __oflag, ...) __nonnull ((1));
120: #else
121: # ifdef __REDIRECT
122: extern int __REDIRECT (open, (__const char *__file, int __oflag, ...), open64)
123:      __nonnull ((1));
124: # else
125: #  define open open64
126: # endif
127: #endif
128: #ifdef __USE_LARGEFILE64
129: extern int open64 (__const char *__file, int __oflag, ...) __nonnull ((1));
130: #endif
131: 
132: #ifdef __USE_ATFILE
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: # ifndef __USE_FILE_OFFSET64
143: extern int openat (int __fd, __const char *__file, int __oflag, ...)
144:      __nonnull ((2));
145: # else
146: #  ifdef __REDIRECT
147: extern int __REDIRECT (openat, (int __fd, __const char *__file, int __oflag,
148:                                 ...), openat64) __nonnull ((2));
149: #  else
150: #   define openat openat64
151: #  endif
152: # endif
153: # ifdef __USE_LARGEFILE64
154: extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
155:      __nonnull ((2));
156: # endif
157: #endif
158: 
159: 
160: 
161: 
162: 
163: 
164: #ifndef __USE_FILE_OFFSET64
165: extern int creat (__const char *__file, __mode_t __mode) __nonnull ((1));
166: #else
167: # ifdef __REDIRECT
168: extern int __REDIRECT (creat, (__const char *__file, __mode_t __mode),
169:                        creat64) __nonnull ((1));
170: # else
171: #  define creat creat64
172: # endif
173: #endif
174: #ifdef __USE_LARGEFILE64
175: extern int creat64 (__const char *__file, __mode_t __mode) __nonnull ((1));
176: #endif
177: 
178: #if !defined F_LOCK && (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
179:                                                && !defined __USE_POSIX))
180: 
181: 
182: 
183: 
184: 
185: 
186: 
187: 
188: # define F_ULOCK 0      
189: # define F_LOCK  1      
190: # define F_TLOCK 2      
191: # define F_TEST  3      
192: 
193: # ifndef __USE_FILE_OFFSET64
194: extern int lockf (int __fd, int __cmd, __off_t __len);
195: # else
196: #  ifdef __REDIRECT
197: extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), lockf64);
198: #  else
199: #   define lockf lockf64
200: #  endif
201: # endif
202: # ifdef __USE_LARGEFILE64
203: extern int lockf64 (int __fd, int __cmd, __off64_t __len);
204: # endif
205: #endif
206: 
207: #ifdef __USE_XOPEN2K
208: 
209: 
210: # ifndef __USE_FILE_OFFSET64
211: extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len,
212:                           int __advise) __THROW;
213: # else
214:  # ifdef __REDIRECT_NTH
215: extern int __REDIRECT_NTH (posix_fadvise, (int __fd, __off64_t __offset,
216:                                            __off64_t __len, int __advise),
217:                            posix_fadvise64);
218: #  else
219: #   define posix_fadvise posix_fadvise64
220: #  endif
221: # endif
222: # ifdef __USE_LARGEFILE64
223: extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len,
224:                             int __advise) __THROW;
225: # endif
226: 
227: 
228: 
229: 
230: 
231: 
232: # ifndef __USE_FILE_OFFSET64
233: extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len);
234: # else
235:  # ifdef __REDIRECT
236: extern int __REDIRECT (posix_fallocate, (int __fd, __off64_t __offset,
237:                                          __off64_t __len),
238:                        posix_fallocate64);
239: #  else
240: #   define posix_fallocate posix_fallocate64
241: #  endif
242: # endif
243: # ifdef __USE_LARGEFILE64
244: extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
245: # endif
246: #endif
247: 
248: 
249: 
250: #if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline \
251:     && defined __va_arg_pack_len
252: # include <bits/fcntl2.h>
253: #endif
254: 
255: __END_DECLS
256: 
257: #endif 
258: 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved