1 1.24 dholland /* $NetBSD: sunos.h,v 1.24 2015/09/06 06:00:59 dholland Exp $ */ 2 1.12 mrg 3 1.12 mrg #ifndef _COMPAT_SUNOS_SUNOS_H_ 4 1.12 mrg #define _COMPAT_SUNOS_SUNOS_H_ 5 1.12 mrg 6 1.24 dholland #include <sys/ioccom.h> 7 1.24 dholland 8 1.12 mrg /* used to ensure `struct sunos' types rename constantly sized. */ 9 1.12 mrg #ifdef __arch64__ 10 1.12 mrg typedef u_int32_t sunos_charp; 11 1.12 mrg #else 12 1.12 mrg typedef char * sunos_charp; 13 1.12 mrg #endif 14 1.2 cgd 15 1.23 christos typedef long sunos_time_t; 16 1.23 christos 17 1.1 deraadt #define SUNM_RDONLY 0x01 /* mount fs read-only */ 18 1.1 deraadt #define SUNM_NOSUID 0x02 /* mount fs with setuid disallowed */ 19 1.1 deraadt #define SUNM_NEWTYPE 0x04 /* type is string (char *), not int */ 20 1.1 deraadt #define SUNM_GRPID 0x08 /* (bsd semantics; ignored) */ 21 1.1 deraadt #define SUNM_REMOUNT 0x10 /* update existing mount */ 22 1.1 deraadt #define SUNM_NOSUB 0x20 /* prevent submounts (rejected) */ 23 1.1 deraadt #define SUNM_MULTI 0x40 /* (ignored) */ 24 1.1 deraadt #define SUNM_SYS5 0x80 /* Sys 5-specific semantics (rejected) */ 25 1.1 deraadt 26 1.1 deraadt struct sunos_nfs_args { 27 1.1 deraadt struct sockaddr_in *addr; /* file server address */ 28 1.21 christos void * fh; /* file handle to be mounted */ 29 1.1 deraadt int flags; /* flags */ 30 1.1 deraadt int wsize; /* write size in bytes */ 31 1.1 deraadt int rsize; /* read size in bytes */ 32 1.1 deraadt int timeo; /* initial timeout in .1 secs */ 33 1.1 deraadt int retrans; /* times to retry send */ 34 1.12 mrg sunos_charp hostname; /* server's hostname */ 35 1.1 deraadt int acregmin; /* attr cache file min secs */ 36 1.1 deraadt int acregmax; /* attr cache file max secs */ 37 1.1 deraadt int acdirmin; /* attr cache dir min secs */ 38 1.1 deraadt int acdirmax; /* attr cache dir max secs */ 39 1.12 mrg sunos_charp netname; /* server's netname */ 40 1.1 deraadt struct pathcnf *pathconf; /* static pathconf kludge */ 41 1.1 deraadt }; 42 1.6 pk /* SunOS nfs flag values: */ 43 1.6 pk #define SUNNFS_SOFT 0x1 44 1.6 pk #define SUNNFS_WSIZE 0x2 45 1.6 pk #define SUNNFS_RSIZE 0x4 46 1.6 pk #define SUNNFS_TIMEO 0x8 47 1.6 pk #define SUNNFS_RETRANS 0x10 48 1.6 pk #define SUNNFS_HOSTNAME 0x20 49 1.6 pk #define SUNNFS_INT 0x40 50 1.6 pk #define SUNNFS_NOAC 0x80 51 1.6 pk #define SUNNFS_ACREGMIN 0x100 52 1.6 pk #define SUNNFS_ACREGMAX 0x200 53 1.6 pk #define SUNNFS_ACDIRMIN 0x400 54 1.6 pk #define SUNNFS_ACDIRMAX 0x800 55 1.6 pk #define SUNNFS_SECURE 0x1000 56 1.6 pk #define SUNNFS_NOCTO 0x2000 57 1.6 pk #define SUNNFS_POSIX 0x4000 58 1.1 deraadt 59 1.1 deraadt 60 1.1 deraadt struct sunos_ustat { 61 1.14 fvdl int32_t f_tfree; /* total free */ 62 1.19 christos uint32_t f_tinode; /* total inodes free */ 63 1.1 deraadt char f_path[6]; /* filsys name */ 64 1.1 deraadt char f_fpack[6]; /* filsys pack name */ 65 1.1 deraadt }; 66 1.1 deraadt 67 1.1 deraadt struct sunos_statfs { 68 1.10 mrg int f_type; /* type of info, zero for now */ 69 1.10 mrg int f_bsize; /* fundamental file system block size */ 70 1.10 mrg int f_blocks; /* total blocks in file system */ 71 1.10 mrg int f_bfree; /* free blocks */ 72 1.10 mrg int f_bavail; /* free blocks available to non-super-user */ 73 1.10 mrg int f_files; /* total file nodes in file system */ 74 1.10 mrg int f_ffree; /* free file nodes in fs */ 75 1.1 deraadt fsid_t f_fsid; /* file system id */ 76 1.10 mrg int f_spare[7]; /* spare for later */ 77 1.1 deraadt }; 78 1.1 deraadt 79 1.1 deraadt 80 1.1 deraadt struct sunos_utsname { 81 1.1 deraadt char sysname[9]; 82 1.1 deraadt char nodename[9]; 83 1.1 deraadt char nodeext[65-9]; 84 1.1 deraadt char release[9]; 85 1.1 deraadt char version[9]; 86 1.1 deraadt char machine[9]; 87 1.1 deraadt }; 88 1.1 deraadt 89 1.1 deraadt 90 1.1 deraadt struct sunos_ttysize { 91 1.1 deraadt int ts_row; 92 1.1 deraadt int ts_col; 93 1.1 deraadt }; 94 1.1 deraadt 95 1.1 deraadt struct sunos_termio { 96 1.1 deraadt u_short c_iflag; 97 1.1 deraadt u_short c_oflag; 98 1.1 deraadt u_short c_cflag; 99 1.1 deraadt u_short c_lflag; 100 1.1 deraadt char c_line; 101 1.1 deraadt unsigned char c_cc[8]; 102 1.1 deraadt }; 103 1.1 deraadt #define SUNOS_TCGETA _IOR('T', 1, struct sunos_termio) 104 1.1 deraadt #define SUNOS_TCSETA _IOW('T', 2, struct sunos_termio) 105 1.1 deraadt #define SUNOS_TCSETAW _IOW('T', 3, struct sunos_termio) 106 1.1 deraadt #define SUNOS_TCSETAF _IOW('T', 4, struct sunos_termio) 107 1.1 deraadt #define SUNOS_TCSBRK _IO('T', 5) 108 1.1 deraadt 109 1.1 deraadt struct sunos_termios { 110 1.10 mrg u_int c_iflag; 111 1.10 mrg u_int c_oflag; 112 1.10 mrg u_int c_cflag; 113 1.10 mrg u_int c_lflag; 114 1.1 deraadt char c_line; 115 1.1 deraadt u_char c_cc[17]; 116 1.1 deraadt }; 117 1.1 deraadt #define SUNOS_TCXONC _IO('T', 6) 118 1.1 deraadt #define SUNOS_TCFLSH _IO('T', 7) 119 1.1 deraadt #define SUNOS_TCGETS _IOR('T', 8, struct sunos_termios) 120 1.1 deraadt #define SUNOS_TCSETS _IOW('T', 9, struct sunos_termios) 121 1.1 deraadt #define SUNOS_TCSETSW _IOW('T', 10, struct sunos_termios) 122 1.1 deraadt #define SUNOS_TCSETSF _IOW('T', 11, struct sunos_termios) 123 1.1 deraadt #define SUNOS_TCSNDBRK _IO('T', 12) 124 1.1 deraadt #define SUNOS_TCDRAIN _IO('T', 13) 125 1.4 pk 126 1.4 pk /* Sun audio compatibility */ 127 1.4 pk struct sunos_audio_prinfo { 128 1.4 pk u_int sample_rate; 129 1.4 pk u_int channels; 130 1.4 pk u_int precision; 131 1.4 pk u_int encoding; 132 1.4 pk u_int gain; 133 1.4 pk u_int port; 134 1.4 pk u_int avail_ports; 135 1.4 pk u_int reserved0[3]; 136 1.4 pk u_int samples; 137 1.4 pk u_int eof; 138 1.4 pk u_char pause; 139 1.4 pk u_char error; 140 1.4 pk u_char waiting; 141 1.4 pk u_char balance; 142 1.4 pk u_short minordev; 143 1.4 pk u_char open; 144 1.4 pk u_char active; 145 1.4 pk }; 146 1.4 pk struct sunos_audio_info { 147 1.4 pk struct sunos_audio_prinfo play; 148 1.4 pk struct sunos_audio_prinfo record; 149 1.4 pk u_int monitor_gain; 150 1.4 pk u_int reserved[4]; 151 1.4 pk }; 152 1.4 pk 153 1.4 pk /* Values for AUDIO_GETDEV ioctl: */ 154 1.4 pk #define SUNOS_AUDIO_DEV_UNKNOWN 0 155 1.4 pk #define SUNOS_AUDIO_DEV_AMD 1 156 1.4 pk #define SUNOS_AUDIO_DEV_SPEAKERBOX 2 157 1.4 pk #define SUNOS_AUDIO_DEV_CODEC 3 158 1.4 pk 159 1.7 briggs __BEGIN_DECLS 160 1.11 pk /* Defined in arch/<arch>/sunos_machdep.c */ 161 1.22 dsl void sunos_sendsig(const ksiginfo_t *, const sigset_t *); 162 1.7 briggs __END_DECLS 163 1.12 mrg 164 1.12 mrg #endif /* _COMPAT_SUNOS_SUNOS_H_ */ 165