Annotation of sys/compat/osf1/osf1.h, Revision 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