root/compat/osf1/osf1.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    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_ */

/* [<][>][^][v][top][bottom][index][help] */