Annotation of linux/include/fcntl.h, revision 1.1.1.2

1.1       root        1: #ifndef _FCNTL_H
                      2: #define _FCNTL_H
                      3: 
                      4: #include <sys/types.h>
                      5: 
                      6: /* open/fcntl - NOCTTY, NDELAY isn't implemented yet */
                      7: #define O_ACCMODE      00003
                      8: #define O_RDONLY          00
                      9: #define O_WRONLY          01
                     10: #define O_RDWR            02
                     11: #define O_CREAT                00100   /* not fcntl */
                     12: #define O_EXCL         00200   /* not fcntl */
                     13: #define O_NOCTTY       00400   /* not fcntl */
                     14: #define O_TRUNC                01000   /* not fcntl */
                     15: #define O_APPEND       02000
                     16: #define O_NONBLOCK     04000   /* not fcntl */
                     17: #define O_NDELAY       O_NONBLOCK
                     18: 
                     19: /* Defines for fcntl-commands. Note that currently
                     20:  * locking isn't supported, and other things aren't really
                     21:  * tested.
                     22:  */
                     23: #define F_DUPFD                0       /* dup */
                     24: #define F_GETFD                1       /* get f_flags */
                     25: #define F_SETFD                2       /* set f_flags */
                     26: #define F_GETFL                3       /* more flags (cloexec) */
                     27: #define F_SETFL                4
                     28: #define F_GETLK                5       /* not implemented */
                     29: #define F_SETLK                6
                     30: #define F_SETLKW       7
1.1.1.2 ! root       31: #define F_GETLK64      12
        !            32: #define F_SETLK64      13
        !            33: #define F_SETLKW64     14
1.1       root       34: 
                     35: /* for F_[GET|SET]FL */
                     36: #define FD_CLOEXEC     1       /* actually anything with low bit set goes */
                     37: 
                     38: /* Ok, these are locking features, and aren't implemented at any
                     39:  * level. POSIX wants them.
                     40:  */
                     41: #define F_RDLCK                0
                     42: #define F_WRLCK                1
                     43: #define F_UNLCK                2
                     44: 
                     45: /* Once again - not implemented, but ... */
                     46: struct flock {
                     47:        short l_type;
                     48:        short l_whence;
                     49:        off_t l_start;
                     50:        off_t l_len;
                     51:        pid_t l_pid;
                     52: };
                     53: 
                     54: extern int creat(const char * filename,mode_t mode);
                     55: extern int fcntl(int fildes,int cmd, ...);
                     56: extern int open(const char * filename, int flags, ...);
                     57: 
                     58: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.