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