1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33#ifndef __rio_daemon_h__
34#define __rio_daemon_h__
35
36
37
38
39
40
41struct Error {
42 unsigned int Error;
43 unsigned int Entry;
44 unsigned int Other;
45};
46
47struct DownLoad {
48 char __user *DataP;
49 unsigned int Count;
50 unsigned int ProductCode;
51};
52
53
54
55
56#ifndef MAX_VERSION_LEN
57#define MAX_VERSION_LEN 256
58#endif
59
60#ifndef MAX_XP_CTRL_LEN
61#define MAX_XP_CTRL_LEN 16
62#endif
63
64struct PortSetup {
65 unsigned int From;
66 unsigned int To;
67 unsigned int XpCps;
68 char XpOn[MAX_XP_CTRL_LEN];
69 char XpOff[MAX_XP_CTRL_LEN];
70 u8 IxAny;
71 u8 IxOn;
72 u8 Lock;
73 u8 Store;
74 u8 Drain;
75};
76
77struct LpbReq {
78 unsigned int Host;
79 unsigned int Link;
80 struct LPB __user *LpbP;
81};
82
83struct RupReq {
84 unsigned int HostNum;
85 unsigned int RupNum;
86 struct RUP __user *RupP;
87};
88
89struct PortReq {
90 unsigned int SysPort;
91 struct Port __user *PortP;
92};
93
94struct StreamInfo {
95 unsigned int SysPort;
96 int RQueue;
97 int WQueue;
98};
99
100struct HostReq {
101 unsigned int HostNum;
102 struct Host __user *HostP;
103};
104
105struct HostDpRam {
106 unsigned int HostNum;
107 struct DpRam __user *DpRamP;
108};
109
110struct DebugCtrl {
111 unsigned int SysPort;
112 unsigned int Debug;
113 unsigned int Wait;
114};
115
116struct MapInfo {
117 unsigned int FirstPort;
118 unsigned int RtaUnique;
119};
120
121struct MapIn {
122 unsigned int NumEntries;
123 struct MapInfo *MapInfoP;
124};
125
126struct SendPack {
127 unsigned int PortNum;
128 unsigned char Len;
129 unsigned char Data[PKT_MAX_DATA_LEN];
130};
131
132struct SpecialRupCmd {
133 struct PKT Packet;
134 unsigned short Host;
135 unsigned short RupNum;
136};
137
138struct IdentifyRta {
139 unsigned long RtaUnique;
140 u8 ID;
141};
142
143struct KillNeighbour {
144 unsigned long UniqueNum;
145 u8 Link;
146};
147
148struct rioVersion {
149 char version[MAX_VERSION_LEN];
150 char relid[MAX_VERSION_LEN];
151 int buildLevel;
152 char buildDate[MAX_VERSION_LEN];
153};
154
155
156
157
158
159
160
161
162
163
164
165#ifndef RIOC
166#define RIOC ('R'<<8)|('i'<<16)|('o'<<24)
167#endif
168
169
170
171
172#define RIO_GET_TABLE (RIOC | 100)
173#define RIO_PUT_TABLE (RIOC | 101)
174#define RIO_ASSIGN_RTA (RIOC | 102)
175#define RIO_DELETE_RTA (RIOC | 103)
176#define RIO_HOST_FOAD (RIOC | 104)
177#define RIO_QUICK_CHECK (RIOC | 105)
178#define RIO_SIGNALS_ON (RIOC | 106)
179#define RIO_SIGNALS_OFF (RIOC | 107)
180#define RIO_CHANGE_NAME (RIOC | 108)
181#define RIO_DOWNLOAD (RIOC | 109)
182#define RIO_GET_LOG (RIOC | 110)
183#define RIO_SETUP_PORTS (RIOC | 111)
184#define RIO_ALL_MODEM (RIOC | 112)
185
186
187
188
189#define RIO_NUM_HOSTS (RIOC | 120)
190#define RIO_HOST_LPB (RIOC | 121)
191#define RIO_HOST_RUP (RIOC | 122)
192#define RIO_HOST_PORT (RIOC | 123)
193#define RIO_PARMS (RIOC | 124)
194#define RIO_HOST_REQ (RIOC | 125)
195#define RIO_READ_CONFIG (RIOC | 126)
196#define RIO_SET_CONFIG (RIOC | 127)
197#define RIO_VERSID (RIOC | 128)
198#define RIO_FLAGS (RIOC | 129)
199#define RIO_SETDEBUG (RIOC | 130)
200#define RIO_GETDEBUG (RIOC | 131)
201#define RIO_READ_LEVELS (RIOC | 132)
202#define RIO_SET_FAST_BUS (RIOC | 133)
203#define RIO_SET_SLOW_BUS (RIOC | 134)
204#define RIO_SET_BYTE_MODE (RIOC | 135)
205#define RIO_SET_WORD_MODE (RIOC | 136)
206#define RIO_STREAM_INFO (RIOC | 137)
207#define RIO_START_POLLER (RIOC | 138)
208#define RIO_STOP_POLLER (RIOC | 139)
209#define RIO_LAST_ERROR (RIOC | 140)
210#define RIO_TICK (RIOC | 141)
211#define RIO_TOCK (RIOC | 241)
212#define RIO_SEND_PACKET (RIOC | 142)
213#define RIO_SET_BUSY (RIOC | 143)
214#define SPECIAL_RUP_CMD (RIOC | 144)
215#define RIO_FOAD_RTA (RIOC | 145)
216#define RIO_ZOMBIE_RTA (RIOC | 146)
217#define RIO_IDENTIFY_RTA (RIOC | 147)
218#define RIO_KILL_NEIGHBOUR (RIOC | 148)
219#define RIO_DEBUG_MEM (RIOC | 149)
220
221
222
223#define RIO_GET_PORT_SETUP (RIOC | 168)
224#define RIO_RESUME (RIOC | 169)
225#define RIO_MESG (RIOC | 170)
226#define RIO_NO_MESG (RIOC | 171)
227#define RIO_WHAT_MESG (RIOC | 172)
228#define RIO_HOST_DPRAM (RIOC | 173)
229#define RIO_MAP_B50_TO_50 (RIOC | 174)
230#define RIO_MAP_B50_TO_57600 (RIOC | 175)
231#define RIO_MAP_B110_TO_110 (RIOC | 176)
232#define RIO_MAP_B110_TO_115200 (RIOC | 177)
233#define RIO_GET_PORT_PARAMS (RIOC | 178)
234#define RIO_SET_PORT_PARAMS (RIOC | 179)
235#define RIO_GET_PORT_TTY (RIOC | 180)
236#define RIO_SET_PORT_TTY (RIOC | 181)
237#define RIO_SYSLOG_ONLY (RIOC | 182)
238#define RIO_SYSLOG_CONS (RIOC | 183)
239#define RIO_CONS_ONLY (RIOC | 184)
240#define RIO_BLOCK_OPENS (RIOC | 185)
241
242
243
244
245
246
247
248
249
250
251
252#define RIO_MEM_DUMP (RIOC | 189)
253#define RIO_READ_REGISTER (RIOC | 190)
254#define RIO_GET_MODTYPE (RIOC | 191)
255#define RIO_SET_TIMER (RIOC | 192)
256#define RIO_READ_CHECK (RIOC | 196)
257#define RIO_WAITING_FOR_RESTART (RIOC | 197)
258#define RIO_BIND_RTA (RIOC | 198)
259#define RIO_GET_BINDINGS (RIOC | 199)
260#define RIO_PUT_BINDINGS (RIOC | 200)
261
262#define RIO_MAKE_DEV (RIOC | 201)
263#define RIO_MINOR (RIOC | 202)
264
265#define RIO_IDENTIFY_DRIVER (RIOC | 203)
266#define RIO_DISPLAY_HOST_CFG (RIOC | 204)
267
268
269
270
271
272#define RIO_DEV_DIRECT 0x0000
273#define RIO_DEV_MODEM 0x0200
274#define RIO_DEV_XPRINT 0x0400
275#define RIO_DEV_MASK 0x0600
276
277
278
279
280#define rIOCN(N) (RIOC|(N))
281#define rIOCR(N,T) (RIOC|(N))
282#define rIOCW(N,T) (RIOC|(N))
283
284#define RIO_GET_XP_ON rIOCR(150,char[16])
285#define RIO_SET_XP_ON rIOCW(151,char[16])
286#define RIO_GET_XP_OFF rIOCR(152,char[16])
287#define RIO_SET_XP_OFF rIOCW(153,char[16])
288#define RIO_GET_XP_CPS rIOCR(154,int)
289#define RIO_SET_XP_CPS rIOCW(155,int)
290#define RIO_GET_IXANY rIOCR(156,int)
291#define RIO_SET_IXANY rIOCW(157,int)
292#define RIO_SET_IXANY_ON rIOCN(158)
293#define RIO_SET_IXANY_OFF rIOCN(159)
294#define RIO_GET_MODEM rIOCR(160,int)
295#define RIO_SET_MODEM rIOCW(161,int)
296#define RIO_SET_MODEM_ON rIOCN(162)
297#define RIO_SET_MODEM_OFF rIOCN(163)
298#define RIO_GET_IXON rIOCR(164,int)
299#define RIO_SET_IXON rIOCW(165,int)
300#define RIO_SET_IXON_ON rIOCN(166)
301#define RIO_SET_IXON_OFF rIOCN(167)
302
303#define RIO_GET_SIVIEW ((('s')<<8) | 106)
304
305#define RIO_IOCTL_UNKNOWN -2
306
307#endif
308