[BACK]Return to osf1.h CVS log [TXT][DIR] Up to [local] / sys / compat / osf1

Annotation of sys/compat/osf1/osf1.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: osf1.h,v 1.3 2002/03/14 01:26:50 millert Exp $        */
                      2: /*     $NetBSD: osf1.h,v 1.20 1999/05/10 21:41:07 cgd Exp $    */
                      3:
                      4: /*
                      5:  * Copyright (c) 1999 Christopher G. Demetriou.  All rights reserved.
                      6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
                     15:  * 3. All advertising materials mentioning features or use of this software
                     16:  *    must display the following acknowledgement:
                     17:  *      This product includes software developed by Christopher G. Demetriou
                     18:  *     for the NetBSD Project.
                     19:  * 4. The name of the author may not be used to endorse or promote products
                     20:  *    derived from this software without specific prior written permission
                     21:  *
                     22:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     23:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     24:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     25:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     26:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     27:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     28:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     29:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     30:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     31:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     32:  */
                     33:
                     34: #ifndef _COMPAT_OSF1_OSF1_H_
                     35: #define _COMPAT_OSF1_OSF1_H_
                     36:
                     37: /*
                     38:  * Collected OSF/1 definitions and structures, sorted by OSF/1 header.
                     39:  * Error numbers (errno.h) aren't here, since they're likely to change
                     40:  * (additions) more often.
                     41:  *
                     42:  * This file is up to date as of Digital UNIX V4.0.
                     43:  */
                     44:
                     45: #include <sys/types.h>
                     46: #include <compat/osf1/osf1_errno.h>
                     47: #include <compat/osf1/osf1_signal.h>
                     48:
                     49: /*
                     50:  * type and structure definitions used by other structures
                     51:  */
                     52:
                     53: typedef int16_t                osf1_short;
                     54: typedef int32_t                osf1_int;
                     55: typedef int64_t                osf1_long;
                     56: typedef u_int32_t      osf1_u_int;
                     57:
                     58: typedef int32_t                osf1_dev_t;
                     59: typedef u_int32_t      osf1_ino_t;
                     60: typedef u_int32_t      osf1_mode_t;
                     61: typedef u_int16_t      osf1_nlink_t;
                     62: typedef u_int32_t      osf1_uid_t;
                     63: typedef u_int32_t      osf1_gid_t;
                     64: typedef u_int64_t      osf1_off_t;
                     65: typedef int32_t                osf1_time_t;
                     66: typedef u_int32_t      osf1_uint_t;
                     67: typedef u_int64_t      osf1_sigset_t;
                     68: typedef u_int64_t      osf1_size_t;
                     69: typedef u_int64_t      osf1_fsid_t;
                     70: typedef u_int64_t      osf1_rlim_t;
                     71: typedef void           *osf1_data_ptr; /* XXX hard to fix size */
                     72: typedef void           *osf1_fcn_ptr;  /* XXX hard to fix size, bogus */
                     73: typedef        osf1_int        osf1_key_t;
                     74: typedef        osf1_int        osf1_pid_t;
                     75: typedef void    (*osf1_handler_t)(int);
                     76:
                     77: struct osf1_timeval {                          /* time.h */
                     78:        osf1_time_t     tv_sec;
                     79:        osf1_int        tv_usec;
                     80: };
                     81:
                     82:
                     83: /* access.h */
                     84:
                     85: #define OSF1_F_OK                      0               /* pseudo-flag */
                     86: #define OSF1_X_OK                      0x01
                     87: #define OSF1_W_OK                      0x02
                     88: #define OSF1_R_OK                      0x04
                     89:
                     90:
                     91: /* auxv.h */
                     92:
                     93: union osf1_auxv_data {
                     94:        osf1_long       a_val;
                     95:        osf1_data_ptr   a_ptr;
                     96:        osf1_fcn_ptr    a_fcn;
                     97: };
                     98:
                     99: struct osf1_auxv {
                    100:        osf1_int        a_type;
                    101:        union osf1_auxv_data a_un;
                    102: };
                    103:
                    104: /* auxv entry types */
                    105: #define OSF1_AT_NULL                   0
                    106: #define OSF1_AT_IGNORE                 1
                    107: #define OSF1_AT_EXECFD                 2
                    108: #define OSF1_AT_PHDR                   3
                    109: #define OSF1_AT_PHENT                  4
                    110: #define OSF1_AT_PHNUM                  5
                    111: #define OSF1_AT_PAGESZ                 6
                    112: #define OSF1_AT_BASE                   7
                    113: #define OSF1_AT_FLAGS                  8
                    114: #define OSF1_AT_ENTRY                  9
                    115: #define OSF1_AT_EXEC_FILENAME          1001
                    116: #define OSF1_AT_EXEC_LOADER_FILENAME   1002
                    117: #define OSF1_AT_EXEC_LOADER_FLAGS      1003
                    118:
                    119:
                    120: /* exec.h/ldr_exec.h */
                    121:
                    122: #define        OSF1_LDR_EXEC_DEFAULT_LOADER    "/sbin/loader"
                    123:
                    124: /* exec_with_loader()/OSF1_AT_EXEC_LOADER_FLAGS flags regions */
                    125: #define        OSF1_LDR_EXEC_SYSTEM_MASK       0xffff0000
                    126: #define        OSF1_LDR_EXEC_USER_MASK         0xffff0000
                    127:
                    128: /* OSF1_AT_EXEC_LOADER_FLAGS flags */
                    129: #define        OSF1_LDR_EXEC_NOPRIVS_F         0x10000000
                    130: #define        OSF1_LDR_EXEC_PTRACE_F          0x20000000
                    131: #define        OSF1_LDR_EXEC_SETGID_F          0x40000000
                    132: #define        OSF1_LDR_EXEC_SETUID_F          0x80000000
                    133:
                    134:
                    135: /* fcntl.h */
                    136:
                    137: /* fcntl ops */
                    138: #define OSF1_F_DUPFD           0
                    139: #define OSF1_F_GETFD           1       /* uses flags, see below */
                    140: #define OSF1_F_SETFD           2       /* uses flags, see below */
                    141: #define OSF1_F_GETFL           3       /* uses flags, see below */
                    142: #define OSF1_F_SETFL           4       /* uses flags, see below */
                    143: #define OSF1_F_GETOWN          5
                    144: #define OSF1_F_SETOWN          6
                    145: #define OSF1_F_GETLK           7       /* uses osf1_flock, see below */
                    146: #define OSF1_F_SETLK           8       /* uses osf1_flock, see below */
                    147: #define OSF1_F_SETLKW          9       /* uses osf1_flock, see below */
                    148: #define OSF1_F_RGETLK          10      /* [lock mgr op] */
                    149: #define OSF1_F_RSETLK          11      /* [lock mgr op] */
                    150: #define OSF1_F_CNVT            12      /* [lock mgr op] */
                    151: #define OSF1_F_RSETLKW         13      /* [lock mgr op] */
                    152: #define OSF1_F_PURGEFS         14      /* [lock mgr op] */
                    153: #define OSF1_F_PURGENFS                15      /* [DECsafe op] */
                    154:
                    155: /* fcntl GETFD/SETFD flags */
                    156: #define OSF1_FD_CLOEXEC                1
                    157:
                    158: /* fcntl GETFL/SETFL flags, in addition to the O_* flags below */
                    159: #define        OSF1_FASYNC             0x00000040
                    160:
                    161: /* struct osf1_flock, for GETLK/SETLK/SETLKW */
                    162: struct osf1_flock {
                    163:        osf1_short      l_type;
                    164:        osf1_short      l_whence;
                    165:        osf1_off_t      l_start;
                    166:        osf1_off_t      l_len;
                    167:        osf1_pid_t      l_pid;
                    168: };
                    169:
                    170: /* GETLK/SETLK/SETLKW locking types */
                    171: #define        OSF1_F_RDLCK    1
                    172: #define        OSF1_F_WRLCK    2
                    173: #define        OSF1_F_UNLCK    8
                    174:
                    175: /* open flags */
                    176: #define OSF1_O_RDONLY          0x00000000
                    177: #define OSF1_O_WRONLY          0x00000001
                    178: #define OSF1_O_RDWR            0x00000002
                    179: #define OSF1_O_ACCMODE         0x00000003      /* mask of RD and WR bits */
                    180: #define OSF1_O_NONBLOCK                0x00000004
                    181: #define OSF1_O_APPEND          0x00000008
                    182: /* no                          0x00000010 */
                    183: #define OSF1_O_DEFER           0x00000020
                    184: /* no                          0x00000040 */
                    185: /* no                          0x00000080 */
                    186: /* no                          0x00000100 */
                    187: #define OSF1_O_CREAT           0x00000200
                    188: #define OSF1_O_TRUNC           0x00000400
                    189: #define OSF1_O_EXCL            0x00000800
                    190: #define OSF1_O_NOCTTY          0x00001000
                    191: #define OSF1_O_SYNC            0x00004000
                    192: #define OSF1_O_NDELAY          0x00008000
                    193: #define OSF1_O_DRD             0x00008000      /* == O_NDELAY, DON'T USE */
                    194: /* no                          0x00010000 */
                    195: /* no                          0x00020000 */
                    196: /* no                          0x00040000 */
                    197: #define OSF1_O_DSYNC           0x00080000
                    198: #define OSF1_O_RSYNC           0x00100000
                    199: /* no                          0x00200000+ */
                    200:
                    201:
                    202: /* ioctl.h */
                    203:
                    204: #define OSF1_IOCPARM_MASK      0x1fff
                    205: #define OSF1_IOCPARM_LEN(x)    (((x) >> 16) & OSF1_IOCPARM_MASK)
                    206: #define OSF1_IOCGROUP(x)       (((x) >> 8) & 0xff)
                    207: #define OSF1_IOCCMD(x)         ((x) & 0xff)
                    208:
                    209: #define OSF1_IOCPARM_MAX       8192
                    210: #define OSF1_IOC_VOID          0x20000000
                    211: #define OSF1_IOC_OUT           0x40000000
                    212: #define OSF1_IOC_IN            0x80000000
                    213: #define OSF1_IOC_INOUT         (OSF1_IOC_IN|OSF1_IOC_OUT)
                    214: #define OSF1_IOC_DIRMASK       0xe0000000
                    215:
                    216:
                    217: /* mman.h */
                    218:
                    219: /* protection mask */
                    220: #define OSF1_PROT_NONE         0               /* pseudo-flag */
                    221: #define        OSF1_PROT_READ          0x0001
                    222: #define        OSF1_PROT_WRITE         0x0002
                    223: #define        OSF1_PROT_EXEC          0x0004
                    224:
                    225: /* mmap flags */
                    226: #define OSF1_MAP_SHARED                0x0001
                    227: #define OSF1_MAP_PRIVATE       0x0002
                    228:
                    229: #define OSF1_MAP_FILE          0               /* pseudo-flag */
                    230: #define OSF1_MAP_ANON          0x0010
                    231: #define OSF1_MAP_TYPE          0x00f0
                    232:
                    233: #define OSF1_MAP_FIXED         0x0100
                    234: #define OSF1_MAP_VARIABLE      0               /* pseudo-flag */
                    235:
                    236: #define OSF1_MAP_HASSEMAPHORE  0x0200
                    237: #define OSF1_MAP_INHERIT       0x0400
                    238: #define OSF1_MAP_UNALIGNED     0x0800
                    239:
                    240: /* madvise operations */
                    241: #define OSF1_MADV_NORMAL       0
                    242: #define OSF1_MADV_RANDOM       1
                    243: #define OSF1_MADV_SEQUENTIAL   2
                    244: #define OSF1_MADV_WILLNEED     3
                    245: #define OSF1_MADV_DONTNEED_COMPAT 4
                    246: #define OSF1_MADV_SPACEAVAIL   5
                    247: #define OSF1_MADV_DONTNEED     6
                    248:
                    249:
                    250: /* mount.h */
                    251:
                    252: /* file system type numbers */
                    253: #define OSF1_MOUNT_NONE                0
                    254: #define OSF1_MOUNT_UFS         1
                    255: #define OSF1_MOUNT_NFS         2
                    256: #define OSF1_MOUNT_MFS         3
                    257: #define OSF1_MOUNT_PC          4
                    258: #define OSF1_MOUNT_S5FS                5
                    259: #define OSF1_MOUNT_CDFS                6
                    260: #define OSF1_MOUNT_DFS         7
                    261: #define OSF1_MOUNT_EFS         8
                    262: #define OSF1_MOUNT_PROCFS      9
                    263: #define OSF1_MOUNT_MSFS                10
                    264: #define OSF1_MOUNT_FFM         11
                    265: #define OSF1_MOUNT_FDFS                12
                    266: #define OSF1_MOUNT_ADDON       13
                    267: #define OSF1_MOUNT_NFS3                14
                    268:
                    269: #define OSF1_MNAMELEN          90
                    270:
                    271: /* MFS mount argument structure */
                    272: struct osf1_mfs_args {
                    273:        osf1_data_ptr   name;
                    274:        osf1_data_ptr   base;
                    275:        osf1_u_int      size;
                    276: };
                    277:
                    278: /* NFS mount argument structure */
                    279: struct osf1_nfs_args {
                    280:        osf1_data_ptr   addr;
                    281:        osf1_data_ptr   fh;
                    282:        osf1_int        flags;
                    283:        osf1_int        wsize;
                    284:        osf1_int        rsize;
                    285:        osf1_int        timeo;
                    286:        osf1_int        retrans;
                    287:        osf1_data_ptr   hostname;
                    288:        osf1_int        acregmin;
                    289:        osf1_int        acregmax;
                    290:        osf1_int        acdirmin;
                    291:        osf1_int        acdirmax;
                    292:        osf1_data_ptr   netname;
                    293:        osf1_data_ptr   pathconf;
                    294: };
                    295:
                    296: /* NFS mount argument structure flags */
                    297: #define OSF1_NFSMNT_SOFT       0x00000001
                    298: #define OSF1_NFSMNT_WSIZE      0x00000002
                    299: #define OSF1_NFSMNT_RSIZE      0x00000004
                    300: #define OSF1_NFSMNT_TIMEO      0x00000008
                    301: #define OSF1_NFSMNT_RETRANS    0x00000010
                    302: #define OSF1_NFSMNT_HOSTNAME   0x00000020
                    303: #define OSF1_NFSMNT_INT                0x00000040
                    304: #define OSF1_NFSMNT_NOCONN     0x00000080
                    305: #define OSF1_NFSMNT_NOAC       0x00000100
                    306: #define OSF1_NFSMNT_ACREGMIN   0x00000200
                    307: #define OSF1_NFSMNT_ACREGMAX   0x00000400
                    308: #define OSF1_NFSMNT_ACDIRMIN   0x00000800
                    309: #define OSF1_NFSMNT_ACDIRMAX   0x00001000
                    310: #define OSF1_NFSMNT_NOCTO      0x00002000
                    311: #define OSF1_NFSMNT_POSIX      0x00004000
                    312: #define OSF1_NFSMNT_AUTO       0x00008000
                    313: #define OSF1_NFSMNT_SEC                0x00010000
                    314: #define OSF1_NFSMNT_TCP                0x00020000
                    315: #define OSF1_NFSMNT_PROPLIST   0x00040000
                    316: /* no                          0x00080000+ */
                    317:
                    318: /* union of all mount argument structures */
                    319: union osf1_mount_info {
                    320:        struct osf1_mfs_args mfs_args;
                    321:        struct osf1_nfs_args nfs_args;
                    322:        char            pad[80];
                    323: };
                    324:
                    325: /* statfs structure */
                    326: struct osf1_statfs {
                    327:        osf1_short      f_type;
                    328:        osf1_short      f_flags;
                    329:        osf1_int        f_fsize;
                    330:        osf1_int        f_bsize;
                    331:        osf1_int        f_blocks;
                    332:        osf1_int        f_bfree;
                    333:        osf1_int        f_bavail;
                    334:        osf1_int        f_files;
                    335:        osf1_int        f_ffree;
                    336:        osf1_fsid_t     f_fsid;
                    337:        osf1_int        f_spare[9];
                    338:        char            f_mntonname[OSF1_MNAMELEN];
                    339:        char            f_mntfromname[OSF1_MNAMELEN];
                    340:        union osf1_mount_info mount_info;
                    341: };
                    342:
                    343:
                    344: /* reboot.h */
                    345:
                    346: /* reboot flags */
                    347: #define OSF1_RB_AUTOBOOT       0               /* pseudo-flag */
                    348:
                    349: #define OSF1_RB_ASKNAME                0x0001
                    350: #define OSF1_RB_SINGLE         0x0002
                    351: #define OSF1_RB_NOSYNC         0x0004
                    352: #define OSF1_RB_KDB            0x0004          /* == RB_NOSYNC; boot only? */
                    353: #define OSF1_RB_HALT           0x0008
                    354: #define OSF1_RB_INITNAME       0x0010
                    355: #define OSF1_RB_DFLTROOT       0x0020
                    356: #define OSF1_RB_ALTBOOT                0x0040
                    357: #define OSF1_RB_UNIPROC                0x0080
                    358: #define OSF1_RB_PARAM          0x0100
                    359: #define OSF1_RB_DUMP           0x0200
                    360:
                    361:
                    362: /* resource.h */
                    363:
                    364: #define        OSF1_RUSAGE_THREAD      1
                    365: #define        OSF1_RUSAGE_SELF        0
                    366: #define        OSF1_RUSAGE_CHILDREN    -1
                    367:
                    368: struct osf1_rusage {
                    369:        struct osf1_timeval ru_utime;
                    370:        struct osf1_timeval ru_stime;
                    371:        osf1_long       ru_maxrss;
                    372:        osf1_long       ru_ixrss;
                    373:        osf1_long       ru_idrss;
                    374:        osf1_long       ru_isrss;
                    375:        osf1_long       ru_minflt;
                    376:        osf1_long       ru_majflt;
                    377:        osf1_long       ru_nswap;
                    378:        osf1_long       ru_inblock;
                    379:        osf1_long       ru_oublock;
                    380:        osf1_long       ru_msgsnd;
                    381:        osf1_long       ru_msgrcv;
                    382:        osf1_long       ru_nsignals;
                    383:        osf1_long       ru_nvcsw;
                    384:        osf1_long       ru_nivcsw;
                    385: };
                    386:
                    387: #define OSF1_RLIMIT_CPU                0
                    388: #define OSF1_RLIMIT_FSIZE      1
                    389: #define OSF1_RLIMIT_DATA       2
                    390: #define OSF1_RLIMIT_STACK      3
                    391: #define OSF1_RLIMIT_CORE       4
                    392: #define OSF1_RLIMIT_RSS                5
                    393: #define OSF1_RLIMIT_NOFILE     6
                    394: #define OSF1_RLIMIT_AS         7
                    395:
                    396: #define OSF1_RLIM_INFINITY     0x7fffffffffffffffL
                    397:
                    398: struct osf1_rlimit {
                    399:        rlim_t  rlim_cur;
                    400:        rlim_t  rlim_max;
                    401: };
                    402:
                    403:
                    404: /* seek.h */
                    405:
                    406: #define        OSF1_SEEK_SET           0
                    407: #define        OSF1_SEEK_CUR           1
                    408: #define        OSF1_SEEK_END           2
                    409:
                    410:
                    411: /* signal.h (some in machine/signal.h) */
                    412:
                    413: #define sigemptyset(s)          bzero((s), sizeof(*(s)))
                    414: #define sigismember(s, n)       (*(s) & sigmask(n))
                    415: #define sigaddset(s, n)         (*(s) |= sigmask(n))
                    416:
                    417: struct osf1_sigaction {
                    418:         osf1_handler_t  sa__handler;
                    419:         osf1_sigset_t   sa_mask;
                    420:         int             sa_flags;
                    421: };
                    422:
                    423: /* actually from sysmisc.h */
                    424: struct osf1_sigaltstack {
                    425:        osf1_data_ptr   ss_sp;
                    426:        osf1_int        ss_flags;
                    427:        osf1_size_t     ss_size;
                    428: };
                    429:
                    430: /* sigaction flags */
                    431: #define OSF1_SA_ONSTACK                0x00000001
                    432: #define OSF1_SA_RESTART                0x00000002
                    433: #define OSF1_SA_NOCLDSTOP      0x00000004
                    434: #define OSF1_SA_NODEFER                0x00000008
                    435: #define OSF1_SA_RESETHAND      0x00000010
                    436: #define OSF1_SA_NOCLDWAIT      0x00000020
                    437: #define OSF1_SA_SIGINFO                0x00000040
                    438:
                    439: /* sigaltstack flags */
                    440: #define OSF1_SS_ONSTACK                0x00000001
                    441: #define OSF1_SS_DISABLE                0x00000002
                    442: #define OSF1_SS_NOMASK         0x00000004
                    443: #define OSF1_SS_UCONTEXT       0x00000008
                    444:
                    445: /* signal set manipulation macros */
                    446: #define osf1_sigmask(n)                ((osf1_sigset_t)1 << ((n) - 1))
                    447: #define osf1_sigemptyset(s)    (*(s) = (osf1_sigset_t)0)
                    448: #define osf1_sigismember(s, n) (*(s) & osf1_sigmask(n))
                    449: #define osf1_sigaddset(s, n)   (*(s) |= osf1_sigmask(n))
                    450:
                    451:
                    452: /* socket.h */
                    453:
                    454: struct osf1_msghdr {
                    455:        osf1_data_ptr   msg_name;
                    456:        osf1_u_int      msg_namelen;
                    457:        osf1_data_ptr   msg_iov;                /* struct osf1_iovec_xopen * */
                    458:        osf1_u_int      msg_iovlen;
                    459:        osf1_data_ptr   msg_control;
                    460:        osf1_u_int      msg_controllen;
                    461:        osf1_int        msg_flags;
                    462: };
                    463:
                    464: struct osf1_msghdr_xopen {
                    465:        osf1_data_ptr   msg_name;
                    466:        osf1_size_t     msg_namelen;
                    467:        osf1_data_ptr   msg_iov;                /* struct osf1_iovec_xopen * */
                    468:        osf1_int        msg_iovlen;
                    469:        osf1_data_ptr   msg_control;
                    470:        osf1_size_t     msg_controllen;
                    471:        osf1_int        msg_flags;
                    472: };
                    473:
                    474: /* max message iov len */
                    475: #define        OSF1_MSG_MAXIOVLEN      16
                    476:
                    477: /* send/recv-family message flags */
                    478: #define OSF1_MSG_OOB           0x0001
                    479: #define OSF1_MSG_PEEK          0x0002
                    480: #define OSF1_MSG_DONTROUTE     0x0004
                    481: #define OSF1_MSG_EOR           0x0008
                    482: #define OSF1_MSG_TRUNC         0x0010
                    483: #define OSF1_MSG_CTRUNC                0x0020
                    484: #define OSF1_MSG_WAITALL       0x0040
                    485:
                    486:
                    487: /* stat.h */
                    488:
                    489: struct osf1_stat {
                    490:        osf1_dev_t      st_dev;
                    491:        osf1_ino_t      st_ino;
                    492:        osf1_mode_t     st_mode;
                    493:        osf1_nlink_t    st_nlink;
                    494:        osf1_uid_t      st_uid;
                    495:        osf1_gid_t      st_gid;
                    496:        osf1_dev_t      st_rdev;
                    497:        osf1_off_t      st_size;
                    498:        osf1_time_t     st_atime_sec;
                    499:        osf1_int        st_spare1;
                    500:        osf1_time_t     st_mtime_sec;
                    501:        osf1_int        st_spare2;
                    502:        osf1_time_t     st_ctime_sec;
                    503:        osf1_int        st_spare3;
                    504:        osf1_uint_t     st_blksize;
                    505:        osf1_int        st_blocks;
                    506:        osf1_uint_t     st_flags;
                    507:        osf1_uint_t     st_gen;
                    508: };
                    509:
                    510:
                    511: /* systeminfo.h */
                    512:
                    513: #define OSF1_SI_SYSNAME                1
                    514: #define OSF1_SI_HOSTNAME       2
                    515: #define OSF1_SI_RELEASE                3
                    516: #define OSF1_SI_VERSION                4
                    517: #define OSF1_SI_MACHINE                5
                    518: #define OSF1_SI_ARCHITECTURE   6
                    519: #define OSF1_SI_HW_SERIAL      7
                    520: #define OSF1_SI_HW_PROVIDER    8
                    521: #define OSF1_SI_SRPC_DOMAIN    9
                    522: #define OSF1_SI_SET_HOSTNAME   258
                    523: #define OSF1_SI_SET_SYSNAME    259
                    524: #define OSF1_SI_SET_SRPC_DOMAIN        265
                    525:
                    526:
                    527: /* time.h */
                    528:
                    529: struct osf1_itimerval {
                    530:        struct osf1_timeval it_interval;
                    531:        struct osf1_timeval it_value;
                    532: };
                    533:
                    534: #define OSF1_ITIMER_REAL       0
                    535: #define OSF1_ITIMER_VIRTUAL    1
                    536: #define OSF1_ITIMER_PROF       2
                    537:
                    538: struct osf1_timezone {
                    539:        osf1_int        tz_minuteswest;
                    540:        osf1_int        tz_dsttime;
                    541: };
                    542:
                    543:
                    544: /* types.h */
                    545:
                    546: #define osf1_major(x)          ((((dev_t)(x)) >> 20) & 0x00000fff)
                    547: #define osf1_minor(x)          ((((dev_t)(x)) >>  0) & 0x000fffff)
                    548: #define osf1_makedev(x,y)      ((((dev_t)(x)) << 20) | ((dev_t)(y)))
                    549:
                    550:
                    551: /* uio.h */
                    552:
                    553: struct osf1_iovec {
                    554:        osf1_data_ptr   iov_base;
                    555:        osf1_int        iov_len;
                    556: };
                    557:
                    558: struct osf1_iovec_xopen {
                    559:        osf1_data_ptr   iov_base;
                    560:        osf1_size_t     iov_len;
                    561: };
                    562:
                    563:
                    564: /* unistd.h (user-land header) */
                    565:
                    566: #define OSF1__PC_CHOWN_RESTRICTED 10
                    567: #define OSF1__PC_LINK_MAX      11
                    568: #define OSF1__PC_MAX_CANON     12
                    569: #define OSF1__PC_MAX_INPUT     13
                    570: #define OSF1__PC_NAME_MAX      14
                    571: #define OSF1__PC_NO_TRUNC      15
                    572: #define OSF1__PC_PATH_MAX      16
                    573: #define OSF1__PC_PIPE_BUF      17
                    574: #define OSF1__PC_VDISABLE      18
                    575:
                    576:
                    577: /* utsname.h */
                    578:
                    579: #define        OSF1__SYS_NMLN          32
                    580:
                    581: struct osf1_utsname {
                    582:        char            sysname[OSF1__SYS_NMLN];
                    583:        char            nodename[OSF1__SYS_NMLN];
                    584:        char            release[OSF1__SYS_NMLN];
                    585:        char            version[OSF1__SYS_NMLN];
                    586:        char            machine[OSF1__SYS_NMLN];
                    587: };
                    588:
                    589:
                    590: /* wait.h */
                    591:
                    592: /* wait3() and wait4() options. */
                    593: #define        OSF1_WNOHANG            0x01
                    594: #define        OSF1_WUNTRACED          0x02
                    595:
                    596: /* XXX should have status word bits */
                    597:
                    598:
                    599: #endif /* _COMPAT_OSF1_OSF1_H_ */

CVSweb