/* $NetBSD: linux_osf1.h,v 1.1 2019/03/24 16:24:19 maxv Exp $ */ /* * Copyright (c) 1999 Christopher G. Demetriou. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Christopher G. Demetriou * for the NetBSD Project. * 4. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ typedef int16_t osf1_short; typedef int32_t osf1_int; typedef int64_t osf1_long; typedef u_int32_t osf1_u_int; typedef int32_t osf1_dev_t; typedef u_int32_t osf1_ino_t; typedef u_int32_t osf1_mode_t; typedef u_int16_t osf1_nlink_t; typedef u_int32_t osf1_uid_t; typedef u_int32_t osf1_gid_t; typedef int32_t osf1_time_t; typedef u_int32_t osf1_uint_t; typedef u_int64_t osf1_sigset_t; typedef u_int64_t osf1_size_t; typedef u_int64_t osf1_fsid_t; typedef u_int64_t osf1_rlim_t; typedef void *osf1_data_ptr; /* XXX hard to fix size */ typedef void *osf1_fcn_ptr; /* XXX hard to fix size, bogus */ typedef osf1_int osf1_key_t; typedef osf1_int osf1_pid_t; typedef u_int64_t osf1_blksize_t; typedef u_int64_t osf1_blkcnt_t; #define OSF1_SI_SYSNAME 1 #define OSF1_SI_HOSTNAME 2 #define OSF1_SI_RELEASE 3 #define OSF1_SI_VERSION 4 #define OSF1_SI_MACHINE 5 #define OSF1_SI_ARCHITECTURE 6 #define OSF1_SI_HW_SERIAL 7 #define OSF1_SI_HW_PROVIDER 8 #define OSF1_SI_SRPC_DOMAIN 9 #define OSF1_SI_SET_HOSTNAME 258 #define OSF1_SI_SET_SYSNAME 259 #define OSF1_SI_SET_SRPC_DOMAIN 265 struct osf1_timeval { /* time.h */ osf1_time_t tv_sec; osf1_int tv_usec; }; #define OSF1_RUSAGE_THREAD 1 #define OSF1_RUSAGE_SELF 0 #define OSF1_RUSAGE_CHILDREN -1 struct osf1_rusage { struct osf1_timeval ru_utime; struct osf1_timeval ru_stime; osf1_long ru_maxrss; osf1_long ru_ixrss; osf1_long ru_idrss; osf1_long ru_isrss; osf1_long ru_minflt; osf1_long ru_majflt; osf1_long ru_nswap; osf1_long ru_inblock; osf1_long ru_oublock; osf1_long ru_msgsnd; osf1_long ru_msgrcv; osf1_long ru_nsignals; osf1_long ru_nvcsw; osf1_long ru_nivcsw; }; struct osf1_itimerval { struct osf1_timeval it_interval; struct osf1_timeval it_value; }; #define OSF1_ITIMER_REAL 0 #define OSF1_ITIMER_VIRTUAL 1 #define OSF1_ITIMER_PROF 2 struct osf1_timezone { osf1_int tz_minuteswest; osf1_int tz_dsttime; }; #define OSF1_WNOHANG 0x01 #define OSF1_WUNTRACED 0x02 struct osf1_cpu_info { int current_cpu; int cpus_in_box; int cpu_type; int ncpus; u_int64_t cpus_present; u_int64_t cpus_running; u_int64_t cpu_binding; u_int64_t cpu_ex_binding; int mhz; int unused[3]; }; #define OSF_SET_IEEE_FP_CONTROL 14 #define OSF_GET_MAX_UPROCS 2 #define OSF_GET_PHYSMEM 19 #define OSF_GET_MAX_CPU 30 #define OSF_GET_IEEE_FP_CONTROL 45 #define OSF_GET_CPUS_IN_BOX 55 #define OSF_GET_CPU_INFO 59 #define OSF_GET_PROC_TYPE 60 #define OSF_GET_HWRPB 101 #define OSF_GET_PLATFORM_NAME 103 #define OSF1_MOUNT_NONE 0 #define OSF1_MOUNT_UFS 1 #define OSF1_MOUNT_NFS 2 #define OSF1_MOUNT_MFS 3 #define OSF1_MOUNT_PC 4 #define OSF1_MOUNT_S5FS 5 #define OSF1_MOUNT_CDFS 6 #define OSF1_MOUNT_DFS 7 #define OSF1_MOUNT_EFS 8 #define OSF1_MOUNT_PROCFS 9 #define OSF1_MOUNT_MSFS 10 #define OSF1_MOUNT_FFM 11 #define OSF1_MOUNT_FDFS 12 #define OSF1_MOUNT_ADDON 13 #define OSF1_MOUNT_NFS3 14 #define OSF1_MNAMELEN 90 struct osf1_mfs_args { osf1_data_ptr name; osf1_data_ptr base; osf1_u_int size; }; struct osf1_nfs_args { osf1_data_ptr addr; osf1_data_ptr fh; osf1_int flags; osf1_int wsize; osf1_int rsize; osf1_int timeo; osf1_int retrans; osf1_data_ptr hostname; osf1_int acregmin; osf1_int acregmax; osf1_int acdirmin; osf1_int acdirmax; osf1_data_ptr netname; osf1_data_ptr pathconf; }; union osf1_mount_info { struct osf1_mfs_args mfs_args; struct osf1_nfs_args nfs_args; char pad[80]; }; #define OSF1_NFSMNT_SOFT 0x00000001 #define OSF1_NFSMNT_WSIZE 0x00000002 #define OSF1_NFSMNT_RSIZE 0x00000004 #define OSF1_NFSMNT_TIMEO 0x00000008 #define OSF1_NFSMNT_RETRANS 0x00000010 #define OSF1_NFSMNT_HOSTNAME 0x00000020 #define OSF1_NFSMNT_INT 0x00000040 #define OSF1_NFSMNT_NOCONN 0x00000080 #define OSF1_NFSMNT_NOAC 0x00000100 #define OSF1_NFSMNT_ACREGMIN 0x00000200 #define OSF1_NFSMNT_ACREGMAX 0x00000400 #define OSF1_NFSMNT_ACDIRMIN 0x00000800 #define OSF1_NFSMNT_ACDIRMAX 0x00001000 #define OSF1_NFSMNT_NOCTO 0x00002000 #define OSF1_NFSMNT_POSIX 0x00004000 #define OSF1_NFSMNT_AUTO 0x00008000 #define OSF1_NFSMNT_SEC 0x00010000 #define OSF1_NFSMNT_TCP 0x00020000 #define OSF1_NFSMNT_PROPLIST 0x00040000 struct osf1_statfs { osf1_short f_type; osf1_short f_flags; osf1_int f_fsize; osf1_int f_bsize; osf1_int f_blocks; osf1_int f_bfree; osf1_int f_bavail; osf1_int f_files; osf1_int f_ffree; osf1_fsid_t f_fsid; osf1_int f_spare[9]; char f_mntonname[OSF1_MNAMELEN]; char f_mntfromname[OSF1_MNAMELEN]; union osf1_mount_info mount_info; };