Annotation of coherent/f/usr/include/fcntl.h, revision 1.1.1.1

1.1       root        1: /* (-lgl
                      2:  *     COHERENT Version 4.0
                      3:  *     Copyright (c) 1982, 1993 by Mark Williams Company.
                      4:  *     All rights reserved. May not be copied without permission.
                      5:  -lgl) */
                      6: /*
                      7:  * /usr/include/fcntl.h
                      8:  * Cf. Intel iBCS2, pp. 6-35, 6-36.
                      9:  */
                     10: 
                     11: #ifndef        __FCNTL_H__
                     12: #define        __FCNTL_H__
                     13: 
                     14: #include <common/feature.h>
                     15: #include <common/ccompat.h>
                     16: #include <common/_uid.h>
                     17: 
                     18: /*
                     19:  * Flag values accessible to open () and fcntl ()
                     20:  * The first three can only be set by open ().
                     21:  */
                     22: 
                     23: #define        O_RDONLY        0x00
                     24: #define        O_WRONLY        0x01
                     25: #define        O_RDWR          0x02
                     26: #define        O_NDELAY        0x04    /* non-blocking i/o                     */
                     27: #define        O_APPEND        0x08    /* append (writes guaranteed at the end */
                     28: 
                     29: #if    _I386
                     30: 
                     31: #define O_SYNC         0x10    /* sync on every write                  */
                     32: #define        O_NONBLOCK      0x80    /* non-blocking i/o                     */
                     33: 
                     34: /* Flag values accessible only to 3 argument open (). */
                     35: 
                     36: #define        O_CREAT         0x100   /* open with file create (third open arg) */
                     37: #define        O_TRUNC         0x200   /* open with truncation                 */
                     38: #define        O_EXCL          0x400   /* exclusive open                       */
                     39: #define O_NOCTTY       0x800   /* don't assign a controlling tty       */
                     40: 
                     41: #endif /* _I386 */
                     42: 
                     43: 
                     44: /* fcntl () requests. */
                     45: 
                     46: #define        F_DUPFD         0       /* duplicate file desriptor             */
                     47: #define        F_GETFD         1       /* get file descriptor flags            */
                     48: #define        F_SETFD         2       /* set file descriptor flags            */
                     49: #define        F_GETFL         3       /* get file flags                       */
                     50: #define        F_SETFL         4       /* set file flags                       */
                     51: #define        F_GETLK         5       /* return blocking lock                 */
                     52: #define        F_SETLK         6       /* set or remove lock, return if blocked */
                     53: #define        F_SETLKW        7       /* set or remove lock, sleep if blocked */
                     54: 
                     55: 
                     56: /* Locking command/return structure. */
                     57: 
                     58: struct flock {
                     59:        short           l_type;         /* F_RDLCK, F_WRLCK, or F_UNLCK */
                     60:        short           l_whence;       /* SEEK_SET, SEEK_CUR, SEEK_END */
                     61:        long            l_start;        /* location                     */
                     62:        long            l_len;          /* 0 is through EOF             */
                     63:        short           __NON_POSIX (l_sysid);
                     64:                                        /* system id of lock (GETLK) ?  */
                     65:        short           l_pid;          /* process id of owner (GETLK)  */
                     66: };
                     67: 
                     68: #if    ! _POSIX_SOURCE
                     69: 
                     70: typedef        struct flock    flock_t;
                     71: 
                     72: #endif
                     73: 
                     74: 
                     75: /* lock () command types. */
                     76: 
                     77: #define        F_RDLCK 1               /* read lock; more than 1 allowed       */
                     78: #define        F_WRLCK 2               /* write lock; blocks any lock          */
                     79: #define        F_UNLCK 3               /* unlock                               */
                     80: 
                     81: 
                     82: /* Close on exec bit */
                     83: 
                     84: #define        FD_CLOEXEC      1       /* close fd on exec                     */
                     85: 
                     86: 
                     87: __EXTERN_C_BEGIN__
                     88: 
                     89: int            creat           __PROTO ((__CONST__ char * _path,
                     90:                                          __mode_t _mode));
                     91: int            fcntl           __PROTO ((int _fildes, int _cmd, ...));
                     92: int            open            __PROTO ((__CONST__ char * _path, int _oflag,
                     93:                                          ...));
                     94: 
                     95: __EXTERN_C_END__
                     96: 
                     97: #endif /* ! defined (__FCNTL_H__) */

unix.superglobalmegacorp.com

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