sunos.h revision 1.24 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