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

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
        !            31: 
        !            32: /* for F_[GET|SET]FL */
        !            33: #define FD_CLOEXEC     1       /* actually anything with low bit set goes */
        !            34: 
        !            35: /* Ok, these are locking features, and aren't implemented at any
        !            36:  * level. POSIX wants them.
        !            37:  */
        !            38: #define F_RDLCK                0
        !            39: #define F_WRLCK                1
        !            40: #define F_UNLCK                2
        !            41: 
        !            42: /* Once again - not implemented, but ... */
        !            43: struct flock {
        !            44:        short l_type;
        !            45:        short l_whence;
        !            46:        off_t l_start;
        !            47:        off_t l_len;
        !            48:        pid_t l_pid;
        !            49: };
        !            50: 
        !            51: extern int creat(const char * filename,mode_t mode);
        !            52: extern int fcntl(int fildes,int cmd, ...);
        !            53: extern int open(const char * filename, int flags, ...);
        !            54: 
        !            55: #endif

unix.superglobalmegacorp.com

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