Pristine Ack-5.5
[Ack-5.5.git] / include / _tail_cc / fcntl.h
1 /* $Id: fcntl.h,v 1.2 1994/06/24 11:05:16 ceriel Exp $ */
2
3 /* Copied from Minix, with some changes */
4 /* The <fcntl.h> header is needed by the open() and fcntl() system calls,
5  * which  have a variety of parameters and flags.  They are described here.  
6  * The formats of the calls to each of these are:
7  *
8  *      open(path, oflag [,mode])       open a file
9  *      fcntl(fd, cmd [,arg])           get or set file attributes
10  * 
11  */
12
13 #ifdef __BSD4_2
14 #ifndef _FCNTL_H
15 #define _FCNTL_H
16
17 /* These values are used for cmd in fcntl().  POSIX Table 6-1.  */
18 #define F_DUPFD            0    /* duplicate file descriptor */
19 #define F_GETFD            1    /* get file descriptor flags */
20 #define F_SETFD            2    /* set file descriptor flags */
21 #define F_GETFL            3    /* get file status flags */
22 #define F_SETFL            4    /* set file status flags */
23 #define F_GETLK            7    /* get record locking information */
24 #define F_SETLK            8    /* set record locking information */
25 #define F_SETLKW           9    /* set record locking info; wait if blocked */
26
27 /* File descriptor flags used for fcntl().  POSIX Table 6-2. */
28 #define FD_CLOEXEC         1    /* close on exec flag for third arg of fcntl */
29
30 /* L_type values for record locking with fcntl().  POSIX Table 6-3. */
31 #define F_RDLCK            1    /* shared or read lock */
32 #define F_WRLCK            2    /* exclusive or write lock */
33 #define F_UNLCK            3    /* unlock */
34
35 /* Oflag values for open().  POSIX Table 6-4. */
36 #define O_CREAT      0001000    /* creat file if it doesn't exist */
37 #define O_EXCL       0004000    /* exclusive use flag */
38 #define O_NOCTTY     0100000    /* do not assign a controlling terminal */
39 #define O_TRUNC      0002000    /* truncate flag */
40
41 /* File status flags for open() and fcntl().  POSIX Table 6-5. */
42 #define O_APPEND     0000010    /* set append mode */
43 #define O_NONBLOCK   0040000    /* no delay */
44 #define O_NDELAY     0000004    /* no delay (BSD) */
45
46 /* File access modes for open() and fcntl().  POSIX Table 6-6. */
47 #define O_RDONLY           0    /* open(name, O_RDONLY) opens read only */
48 #define O_WRONLY           1    /* open(name, O_WRONLY) opens write only */
49 #define O_RDWR             2    /* open(name, O_RDWR) opens read/write */
50
51 /* Mask for use with file access modes.  POSIX Table 6-7. */
52 #define O_ACCMODE         03    /* mask for file access modes */
53
54 #endif /* _FCNTL_H */
55 #endif /* __BSD4_2 */