iocs.h revision 1.6 1 /*
2 * iocs.h
3 * X680x0 IOCS call interface
4 *
5 * written by Yasha (ITOH Yasufumi)
6 * (based on PD libc 1.1.32 by PROJECT C Library)
7 * public domain
8 *
9 * $NetBSD: iocs.h,v 1.6 2009/03/14 14:46:07 dsl Exp $
10 */
11 /*
12 * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION
13 * --------------------------------------------------------------------
14 * This file is written by the Project C Library Group, and completely
15 * in public domain. You can freely use, copy, modify, and redistribute
16 * the whole contents, without this notice.
17 * --------------------------------------------------------------------
18 * Id: iocs.h,v 1.1.1.1 1993/04/18 16:14:27 mura Exp
19 * Id: iocs_p.h,v 1.5 1993/10/06 16:46:12 mura Exp
20 * Id: scsi.h,v 1.3 1994/07/31 17:21:50 mura Exp
21 */
22
23 #ifndef __X68K_IOCS_H__
24 #define __X68K_IOCS_H__
25
26 #include <sys/cdefs.h>
27
28 struct iocs_boxptr {
29 short x1;
30 short y1;
31 short x2;
32 short y2;
33 unsigned short color;
34 unsigned short linestyle;
35 };
36
37 struct iocs_circleptr {
38 short x;
39 short y;
40 unsigned short radius;
41 unsigned short color;
42 short start;
43 short end;
44 unsigned short ratio;
45 };
46
47 struct iocs_fillptr {
48 short x1;
49 short y1;
50 short x2;
51 short y2;
52 unsigned short color;
53 };
54
55 struct iocs_fntbuf {
56 short xl;
57 short yl;
58 unsigned char buffer[72];
59 };
60
61 struct iocs_getptr {
62 short x1;
63 short y1;
64 short x2;
65 short y2;
66 void *buf_start;
67 void *buf_end;
68 };
69
70 struct iocs_lineptr {
71 short x1;
72 short y1;
73 short x2;
74 short y2;
75 unsigned short color;
76 unsigned short linestyle;
77 };
78
79 struct iocs_paintptr {
80 short x;
81 short y;
82 unsigned short color;
83 void *buf_start;
84 void *buf_end;
85 } __attribute__((__packed__));
86
87 struct iocs_pointptr {
88 short x;
89 short y;
90 unsigned short color;
91 };
92
93 struct iocs_psetptr {
94 short x;
95 short y;
96 unsigned short color;
97 };
98
99 struct iocs_putptr {
100 short x1;
101 short y1;
102 short x2;
103 short y2;
104 const void *buf_start;
105 const void *buf_end;
106 };
107
108 struct iocs_symbolptr {
109 short x1;
110 short y1;
111 unsigned char *string_address;
112 unsigned char mag_x;
113 unsigned char mag_y;
114 unsigned short color;
115 unsigned char font_type;
116 unsigned char angle;
117 } __attribute__((__packed__));
118
119 struct iocs_regs {
120 int d0;
121 int d1;
122 int d2;
123 int d3;
124 int d4;
125 int d5;
126 int d6;
127 int d7;
128 int a1;
129 int a2;
130 int a3;
131 int a4;
132 int a5;
133 int a6;
134 };
135
136 struct iocs_chain {
137 void *addr;
138 unsigned short len;
139 } __attribute__((__packed__));
140
141 struct iocs_chain2 {
142 void *addr;
143 unsigned short len;
144 const struct iocs_chain2 *next;
145 } __attribute__((__packed__));
146
147 struct iocs_clipxy {
148 short xs;
149 short ys;
150 short xe;
151 short ye;
152 };
153
154 struct iocs_patst {
155 short offsetx;
156 short offsety;
157 short shadow[16];
158 short pattern[16];
159 };
160
161 struct iocs_tboxptr {
162 unsigned short vram_page;
163 short x;
164 short y;
165 short x1;
166 short y1;
167 unsigned short line_style;
168 };
169
170 struct iocs_txfillptr {
171 unsigned short vram_page;
172 short x;
173 short y;
174 short x1;
175 short y1;
176 unsigned short fill_patn;
177 };
178
179 struct iocs_trevptr {
180 unsigned short vram_page;
181 short x;
182 short y;
183 short x1;
184 short y1;
185 };
186
187 struct iocs_xlineptr {
188 unsigned short vram_page;
189 short x;
190 short y;
191 short x1;
192 unsigned short line_style;
193 };
194
195 struct iocs_ylineptr {
196 unsigned short vram_page;
197 short x;
198 short y;
199 short y1;
200 unsigned short line_style;
201 };
202
203 struct iocs_tlineptr {
204 unsigned short vram_page;
205 short x;
206 short y;
207 short x1;
208 short y1;
209 unsigned short line_style;
210 };
211
212 /*
213 * for SCSI calls
214 */
215
216 struct iocs_readcap {
217 unsigned long block;
218 unsigned long size;
219 };
220
221 struct iocs_inquiry {
222 unsigned char unit;
223 unsigned char info;
224 unsigned char ver;
225 unsigned char reserve;
226 unsigned char size;
227 unsigned char buff[0]; /* actually longer */
228 };
229
230 /*
231 * arguments:
232 * dn 32bit arg -> 32bit data reg (input)
233 * an 32bit arg -> 32bit addr reg (input)
234 * odn 32bit arg -> 32bit addr (location to store dn value)
235 * dn=(num) (no C arg) -> load immediate value to the data register
236 * dn=ww two 32bit args -> (LSWord #1) << 16 | (LSWord #2)
237 * dn=bb two 32bit args -> (LSByte #1) << 8 | (LSByte #2)
238 * dn=hsv three args (H S V) -> encode HSV values in dn
239 * opts:
240 * retd2 return value is d2 of IOCS call
241 * err_d0 nonzero d0 is an error -- skip storing values
242 * noret the IOCS call never returns
243 * c_md special for IOCS_CACHE_MD
244 * b_super special for IOCS_B_SUPER
245 * sp_regst special for IOCS_SP_REGST
246 * b_curmod special for IOCS_B_CURMOD
247 * b_curpat special for IOCS_B_CURPAT
248 * b_scroll special for IOCS_B_SCROLL
249 * trap15 special for IOCS_TRAP15
250 */
251
252 /* (none) ; trap15 */ int IOCS_TRAP15(const struct iocs_regs *, struct iocs_regs *);
253 /* 00 */ int IOCS_B_KEYINP(void);
254 /* 01 */ int IOCS_B_KEYSNS(void);
255 /* 02 */ int IOCS_B_SFTSNS(void);
256 /* 04 d1 */ int IOCS_BITSNS(int);
257 /* 05 d1 */ void IOCS_SKEYSET(int);
258 /* 0c d1 */ void IOCS_TVCTRL(int);
259 /* 0d d1 d2 */ void IOCS_LEDMOD(int, int);
260 /* 0e d1 d2 */ int IOCS_TGUSEMD(int, int);
261 /* 0f d1=ww a1 */ int IOCS_DEFCHR(int, int, const void *);
262 /* 10 d1 */ int IOCS_CRTMOD(int);
263 /* 11 d1 */ int IOCS_CONTRAST(int);
264 /* 12 d1=hsv */ int __pure IOCS_HSVTORGB(int, int, int) __attribute__((const));
265 /* 13 d1 d2 */ int IOCS_TPALET(int, int);
266 /* 14 d1 d2 */ int IOCS_TPALET2(int, int);
267 /* 15 d1 */ void IOCS_TCOLOR(int);
268 /* 19 d1=ww a1 */ int IOCS_FNTGET(int, int, struct iocs_fntbuf *);
269 /* 1a d1 d2 a1 */ void IOCS_TEXTGET(int, int, struct iocs_fntbuf *);
270 /* 1b d1 d2 a1 */ void IOCS_TEXTPUT(int, int, const struct iocs_fntbuf *);
271 /* 1c d1 d2 a1 a2 */ void IOCS_CLIPPUT(int, int, const struct iocs_fntbuf *, const struct iocs_clipxy *);
272 /* 1d d1 d2 d3 */ void IOCS_SCROLL(int, int, int);
273 /* 1e */ void IOCS_B_CURON(void);
274 /* 1f */ void IOCS_B_CUROFF(void);
275 /* 20 d1 */ int IOCS_B_PUTC(int);
276 /* 21 a1 */ int IOCS_B_PRINT(const char *);
277 /* 22 d1 */ int IOCS_B_COLOR(int);
278 /* 23 d1 d2 */ int IOCS_B_LOCATE(int, int);
279 /* 24 */ void IOCS_B_DOWN_S(void);
280 /* 25 */ void IOCS_B_UP_S(void);
281 /* 26 d1 */ void IOCS_B_UP(int);
282 /* 27 d1 */ void IOCS_B_DOWN(int);
283 /* 28 d1 */ void IOCS_B_RIGHT(int);
284 /* 29 d1 */ void IOCS_B_LEFT(int);
285 /* 2a d1=0 */ void IOCS_B_CLR_ED(void);
286 /* 2a d1=1 */ void IOCS_B_CLR_ST(void);
287 /* 2a d1=2 */ void IOCS_B_CLR_AL(void);
288 /* 2b d1=0 */ void IOCS_B_ERA_ED(void);
289 /* 2b d1=1 */ void IOCS_B_ERA_ST(void);
290 /* 2b d1=2 */ void IOCS_B_ERA_AL(void);
291 /* 2c d1 */ void IOCS_B_INS(int);
292 /* 2d d1 */ void IOCS_B_DEL(int);
293 /* 2e d1=ww d2=ww ; retd2 */ int IOCS_B_CONSOL(int, int, int, int);
294 /* 2f d1 d2 d3 d4 a1 ; retd2 */ int IOCS_B_PUTMES(int, int, int, int, const char *);
295 /* 30 d1 */ int IOCS_SET232C(int);
296 /* 31 */ int IOCS_LOF232C(void);
297 /* 32 */ int IOCS_INP232C(void);
298 /* 33 */ int IOCS_ISNS232C(void);
299 /* 34 */ int IOCS_OSNS232C(void);
300 /* 35 d1 */ void IOCS_OUT232C(int);
301 /* 3b d1 */ int IOCS_JOYGET(int);
302 /* 3c d1=bb */ int IOCS_INIT_PRN(int, int);
303 /* 3d */ int IOCS_SNSPRN(void);
304 /* 3e d1 */ void IOCS_OUTLPT(int);
305 /* 3f d1 */ void IOCS_OUTPRN(int);
306 /* 40 d1 d2 */ int IOCS_B_SEEK(int, int);
307 /* 41 d1 d2 d3 a1 */ int IOCS_B_VERIFY(int, int, int, const void *);
308 /* 42 d1 d2 d3 a1 */ int IOCS_B_READDI(int, int, int, void *);
309 /* 43 d1 a1 d2 */ int IOCS_B_DSKINI(int, const void *, int);
310 /* 44 d1 */ int IOCS_B_DRVSNS(int);
311 /* 45 d1 d2 d3 a1 */ int IOCS_B_WRITE(int, int, int, const void *);
312 /* 46 d1 d2 d3 a1 */ int IOCS_B_READ(int, int, int, void *);
313 /* 47 d1 */ int IOCS_B_RECALI(int);
314 /* 48 d1 d2 d3 a1 */ int IOCS_B_ASSIGN(int, int, int, const void *);
315 /* 49 d1 d2 d3 a1 */ int IOCS_B_WRITED(int, int, int, const void *);
316 /* 4a d1 d2 od2 */ int IOCS_B_READID(int, int, void *);
317 /* 4b d1 d2 d3 */ int IOCS_B_BADFMT(int, int, int);
318 /* 4c d1 d2 d3 a1 */ int IOCS_B_READDL(int, int, int, void *);
319 /* 4d d1 d2 d3 a1 */ int IOCS_B_FORMAT(int, int, int, const void *);
320 /* 4e d1 d2 */ int IOCS_B_DRVCHK(int, int);
321 /* 4f d1 */ int IOCS_B_EJECT(int);
322 /* 50 d1 */ int IOCS_BINDATEBCD(int);
323 /* 51 d1 */ void IOCS_BINDATESET(int);
324 /* 52 d1 */ int IOCS_TIMEBCD(int);
325 /* 53 d1 */ void IOCS_TIMESET(int);
326 /* 54 */ int IOCS_BINDATEGET(void);
327 /* 55 d1 */ int IOCS_DATEBIN(int);
328 /* 56 */ int IOCS_TIMEGET(void);
329 /* 57 d1 */ int IOCS_TIMEBIN(int);
330 /* 58 a1 */ int IOCS_DATECNV(const char *);
331 /* 59 a1 */ int IOCS_TIMECNV(const char *);
332 /* 5a d1 a1 */ int IOCS_DATEASC(int, char *);
333 /* 5b d1 a1 */ int IOCS_TIMEASC(int, char *);
334 /* 5c d1 a1 */ void IOCS_DAYASC(int, char *);
335 /* 5d d1 */ int IOCS_ALARMMOD(int);
336 /* 5e d1 d2 a1 */ int IOCS_ALARMSET(int, int, int);
337 /* 5f od1 od2 od0 */ int IOCS_ALARMGET(int *, int *, int *);
338 /* 60 a1 d1 d2 */ void IOCS_ADPCMOUT(const void *, int, int);
339 /* 61 a1 d1 d2 */ void IOCS_ADPCMINP(void *, int, int);
340 /* 62 a1 d1 d2 */ void IOCS_ADPCMAOT(const struct iocs_chain *, int, int);
341 /* 63 a1 d1 d2 */ void IOCS_ADPCMAIN(const struct iocs_chain *, int, int);
342 /* 64 a1 d1 */ void IOCS_ADPCMLOT(const struct iocs_chain2 *, int);
343 /* 65 a1 d1 */ void IOCS_ADPCMLIN(const struct iocs_chain2 *, int);
344 /* 66 */ int IOCS_ADPCMSNS(void);
345 /* 67 d1 */ void IOCS_ADPCMMOD(int);
346 /* 68 d1 d2 */ void IOCS_OPMSET(int, int);
347 /* 69 */ int IOCS_OPMSNS(void);
348 /* 6a a1 */ int IOCS_OPMINTST(const void *);
349 /* 6b a1 d1=bb */ int IOCS_TIMERDST(const void *, int, int);
350 /* 6c a1 d1=bb */ int IOCS_VDISPST(const void *, int, int);
351 /* 6d a1 d1 */ int IOCS_CRTCRAS(const void *, int);
352 /* 6e a1 */ int IOCS_HSYNCST(const void *);
353 /* 6f a1 */ int IOCS_PRNINTST(const void *);
354 /* 70 */ void IOCS_MS_INIT(void);
355 /* 71 */ void IOCS_MS_CURON(void);
356 /* 72 */ void IOCS_MS_CUROF(void);
357 /* 73 */ int IOCS_MS_STAT(void);
358 /* 74 */ int IOCS_MS_GETDT(void);
359 /* 75 */ int IOCS_MS_CURGT(void);
360 /* 76 d1=ww */ int IOCS_MS_CURST(int, int);
361 /* 77 d1=ww d2=ww */ int IOCS_MS_LIMIT(int, int, int, int);
362 /* 78 d1 d2 */ int IOCS_MS_OFFTM(int, int);
363 /* 79 d1 d2 */ int IOCS_MS_ONTM(int, int);
364 /* 7a d1 a1 */ void IOCS_MS_PATST(int, const struct iocs_patst *);
365 /* 7b d1 */ void IOCS_MS_SEL(int);
366 /* 7c a1 */ void IOCS_MS_SEL2(const short *);
367 /* 7d d1 d2=ww */ int IOCS_SKEY_MOD(int, int, int);
368 /* 7e */ void IOCS_DENSNS(void);
369 /* 7f */ int IOCS_ONTIME(void);
370 /* 80 d1 a1 */ int IOCS_B_INTVCS(int, int);
371 /* 81 ; b_super */ int IOCS_B_SUPER(int);
372 /* 82 a1 */ int IOCS_B_BPEEK(const void *);
373 /* 83 a1 */ int IOCS_B_WPEEK(const void *);
374 /* 84 a1 */ int IOCS_B_LPEEK(const void *);
375 /* 85 a1 a2 d1 */ void IOCS_B_MEMSTR(const void *, void *, int);
376 /* 86 a1 d1 */ void IOCS_B_BPOKE(void *, int);
377 /* 87 a1 d1 */ void IOCS_B_WPOKE(void *, int);
378 /* 88 a1 d1 */ void IOCS_B_LPOKE(void *, int);
379 /* 89 a1 a2 d1 */ void IOCS_B_MEMSET(void *, const void *, int);
380 /* 8a a1 a2 d1 d2 */ void IOCS_DMAMOVE(void *, void *, int, int);
381 /* 8b a1 a2 d1 d2 */ void IOCS_DMAMOV_A(const struct iocs_chain *, void *, int, int);
382 /* 8c a1 a2 d1 */ void IOCS_DMAMOV_L(const struct iocs_chain2 *, void *, int);
383 /* 8d */ int IOCS_DMAMODE(void);
384 /* 8e */ int __pure IOCS_BOOTINF(void) __attribute__((const));
385 /* 8f */ int __pure IOCS_ROMVER(void) __attribute__((const));
386 /* 90 */ void IOCS_G_CLR_ON(void);
387 /* 94 d1 d2 */ int IOCS_GPALET(int, int);
388 /* a0 d1 */ int __pure IOCS_SFTJIS(int) __attribute__((const));
389 /* a1 d1 */ int __pure IOCS_JISSFT(int) __attribute__((const));
390 /* a2 d1=ww */ int __pure IOCS_AKCONV(int, int) __attribute__((const));
391 /* a3 d1 a1 a2 */ int IOCS_RMACNV(int, char *, char *);
392 /* a4 a1 */ int IOCS_DAKJOB(char *);
393 /* a5 a1 */ int IOCS_HANJOB(char *);
394 /* ac d1=0 */ int IOCS_MPU_STAT(void); /* ROM 1.3 only */
395 /* ac d1=1 */ int IOCS_CACHE_ST(void); /* ROM 1.3 only */
396 /* ac d1=3 d2 ; c_md */ int IOCS_CACHE_MD(int); /* ROM 1.3 only */
397 /* ad d1 ; b_curmod */ void IOCS_B_CURMOD(int); /*1.3/IOCS.X*/
398 /* ad d1=2 d2 ; b_curpat */ void IOCS_B_CURPAT(int); /*1.3/IOCS.X*/
399 /* ad d1=2 d2=0 */ void IOCS_B_CURPAT1(void); /*1.3/IOCS.X*/
400 /* ad d1=3 d2 */ void IOCS_B_CURDEF(void *); /*1.3/IOCS.X*/
401 /* ad d1=16 d2 ; b_scroll */ void IOCS_B_SCROLL(int); /*1.3/IOCS.X*/
402 /* ae */ void IOCS_OS_CURON(void);
403 /* af */ void IOCS_OS_CUROF(void);
404 /* b0 d1 */ int IOCS_DRAWMODE(int); /* ROM 1.3, IOCS.X */
405 /* b1 d1 */ int IOCS_APAGE(int);
406 /* b2 d1 */ int IOCS_VPAGE(int);
407 /* b3 d1 d2 d3 */ int IOCS_HOME(int, int, int);
408 /* b4 d1 d2 d3 d4 */ int IOCS_WINDOW(int, int, int, int);
409 /* b5 */ int IOCS_WIPE(void);
410 /* b6 a1 */ int IOCS_PSET(const struct iocs_psetptr *);
411 /* b7 a1 */ int IOCS_POINT(const struct iocs_pointptr *);
412 /* b8 a1 */ int IOCS_LINE(const struct iocs_lineptr *);
413 /* b9 a1 */ int IOCS_BOX(const struct iocs_boxptr *);
414 /* ba a1 */ int IOCS_FILL(const struct iocs_fillptr *);
415 /* bb a1 */ int IOCS_CIRCLE(const struct iocs_circleptr *);
416 /* bc a1 */ int IOCS_PAINT(struct iocs_paintptr *);
417 /* bd a1 */ int IOCS_SYMBOL(const struct iocs_symbolptr *);
418 /* be a1 */ int IOCS_GETGRM(struct iocs_getptr *);
419 /* bf a1 */ int IOCS_PUTGRM(const struct iocs_putptr *);
420 /* c0 */ int IOCS_SP_INIT(void);
421 /* c1 */ int IOCS_SP_ON(void);
422 /* c2 */ void IOCS_SP_OFF(void);
423 /* c3 d1 */ int IOCS_SP_CGCLR(int);
424 /* c4 d1 d2 a1 */ int IOCS_SP_DEFCG(int, int, const void *);
425 /* c5 d1 d2 a1 */ int IOCS_SP_GTPCG(int, int, void *);
426
427 /*
428 * XXX SP_REGST in XC iocslib: args: int, int, int, int, int
429 * (c6 d1 d2 d3 d4 d5)
430 * XC manual and PD libc: args: int, int, int, int, int, int
431 * (c6 d0 d1 d2 d3 d4 d5 ; sp_regst)
432 * we use the latter interface...
433 */
434 /* c6 d0 d1 d2 d3 d4 d5 ; sp_regst */ int IOCS_SP_REGST(int, int, int, int, int, int);
435 /* c7 d1 od2 od3 od4 od5 ; err_d0 */ int IOCS_SP_REGGT(int, int *, int *, int *, int *);
436 /* c8 d1 d2 d3 */ int IOCS_BGSCRLST(int, int, int);
437 /* c9 d1 od2 od3 ; err_d0 */ int IOCS_BGSCRLGT(int, int *, int *);
438 /* ca d1 d2 d3 */ int IOCS_BGCTRLST(int, int, int);
439 /* cb d1 */ int IOCS_BGCTRLGT(int);
440 /* cc d1 d2 */ int IOCS_BGTEXTCL(int, int);
441 /* cd d1 d2 d3 d4 */ int IOCS_BGTEXTST(int, int, int, int);
442 /* ce d1 d2 d3 */ int IOCS_BGTEXTGT(int, int, int);
443 /* cf d1 d2 d3 */ int IOCS_SPALET(int, int, int);
444 /* d3 a1 */ void IOCS_TXXLINE(const struct iocs_xlineptr *);
445 /* d4 a1 */ void IOCS_TXYLINE(const struct iocs_ylineptr *);
446 /* d5 a1 */ void IOCS_TXLINE(struct iocs_tlineptr); /* 1.3, IOCS.X */
447 /* d6 a1 */ void IOCS_TXBOX(const struct iocs_tboxptr *);
448 /* d7 a1 */ void IOCS_TXFILL(const struct iocs_txfillptr *);
449 /* d8 a1 */ void IOCS_TXREV(const struct iocs_trevptr *);
450 /* df d1 d2 d3 */ void IOCS_TXRASCPY(int, int, int);
451 /* fd */ void IOCS_ABORTRST(void);
452 /* fe ; noret */ __dead void IOCS_IPLERR(void);
453 /* ff ; noret */ __dead void IOCS_ABORTJOB(void);
454
455 /* SCSI calls */
456 /* f5 d1=0 */ void IOCS_S_RESET(void);
457 /* f5 d1=1 d4 */ int IOCS_S_SELECT(int);
458 /* f5 d1=3 d3 a1 */ int IOCS_S_CMDOUT(int, void *);
459 /* f5 d1=4 d3 a1 */ int IOCS_S_DATAIN(int, void *);
460 /* f5 d1=5 d3 a1 */ int IOCS_S_DATAOUT(int, void *);
461 /* f5 d1=6 a1 */ int IOCS_S_STSIN(void *);
462 /* f5 d1=7 a1 */ int IOCS_S_MSGIN(void *);
463 /* f5 d1=8 a1 */ int IOCS_S_MSGOUT(void *);
464 /* f5 d1=9 */ int IOCS_S_PHASE(void);
465 /* f5 d1=32 d3 d4 a1 */ int IOCS_S_INQUIRY(int, int, struct iocs_inquiry *);
466 /* f5 d1=33 d2 d3 d4 d5 a1 */ int IOCS_S_READ(int, int, int, int, void *);
467 /* f5 d1=34 d2 d3 d4 d5 a1 */ int IOCS_S_WRITE(int, int, int, int, void *);
468 /* f5 d1=35 d3 d4 */ int IOCS_S_FORMAT(int, int);
469 /* f5 d1=36 d4 */ int IOCS_S_TESTUNIT(int);
470 /* f5 d1=37 d4 a1 */ int IOCS_S_READCAP(int, struct iocs_readcap *);
471 /* f5 d1=38 d2 d3 d4 d5 a1 */ int IOCS_S_READEXT(int, int, int, int, void *);
472 /* f5 d1=39 d2 d3 d4 d5 a1 */ int IOCS_S_WRITEEXT(int, int, int, int, void *);
473 /* f5 d1=43 d4 */ int IOCS_S_REZEROUNIT(int);
474 /* f5 d1=44 d3 d4 a1 */ int IOCS_S_REQUEST(int, int, void *);
475 /* f5 d1=45 d2 d4 */ int IOCS_S_SEEK(int, int);
476 /* f5 d1=47 d3 d4 */ int IOCS_S_STARTSTOP(int, int);
477 /* f5 d1=49 d3 d4 a1 */ int IOCS_S_REASSIGN(int, int, void *);
478 /* f5 d1=50 d3 d4 */ int IOCS_S_PAMEDIUM(int, int);
479
480 #endif /* __X68K_IOCS_H__ */
481