1 /*
2  *        iocs.h
3  *        X680x0 IOCS call interface
4  *
5  *        written by ITOH Yasufumi
6  *        (based on PD libc 1.1.32 by PROJECT C Library)
7  *        public domain
8  *
9  *        $NetBSD: iocs.h,v 1.9 2014/02/11 08:06:07 tsutsui 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       class[3];
228           char                vendor[8];
229           char                product[16];
230           char                revision[4];
231 };
232 
233 /*
234  * arguments:
235  *        dn                  32bit arg -> 32bit data reg (input)
236  *        an                  32bit arg -> 32bit addr reg (input)
237  *        odn                 32bit arg -> 32bit addr (location to store dn value)
238  *        dn=(num)  (no C arg) -> load immediate value to the data register
239  *        dn=ww               two 32bit args -> (LSWord #1) << 16 | (LSWord #2)
240  *        dn=bb               two 32bit args -> (LSByte #1) << 8 | (LSByte #2)
241  *        dn=hsv              three args (H S V) -> encode HSV values in dn
242  * opts:
243  *        retd2               return value is d2 of IOCS call
244  *        err_d0              nonzero d0 is an error -- skip storing values
245  *        noret               the IOCS call never returns
246  *        c_md                special for IOCS_CACHE_MD
247  *        b_super             special for IOCS_B_SUPER
248  *        sp_regst  special for IOCS_SP_REGST
249  *        b_curmod  special for IOCS_B_CURMOD
250  *        b_curpat  special for IOCS_B_CURPAT
251  *        b_scroll  special for IOCS_B_SCROLL
252  *        trap15              special for IOCS_TRAP15
253  */
254 
255 /*  (none) ; trap15 */        int IOCS_TRAP15(const struct iocs_regs *, struct iocs_regs *);
256 /* 00 */  int IOCS_B_KEYINP (void);
257 /* 01 */  int IOCS_B_KEYSNS (void);
258 /* 02 */  int IOCS_B_SFTSNS (void);
259 /* 04 d1 */         int IOCS_BITSNS (int);
260 /* 05 d1 */         void IOCS_SKEYSET (int);
261 /* 0c d1 */         void IOCS_TVCTRL (int);
262 /* 0d d1 d2 */      void IOCS_LEDMOD (int, int);
263 /* 0e d1 d2 */      int IOCS_TGUSEMD (int, int);
264 /* 0f d1=ww a1 */   int IOCS_DEFCHR (int, int, const void *);
265 /* 10 d1 */         int IOCS_CRTMOD (int);
266 /* 11 d1 */         int IOCS_CONTRAST (int);
267 /* 12 d1=hsv */     int __pure IOCS_HSVTORGB (int, int, int) __attribute__((const));
268 /* 13 d1 d2 */      int IOCS_TPALET (int, int);
269 /* 14 d1 d2 */      int IOCS_TPALET2 (int, int);
270 /* 15 d1 */         void IOCS_TCOLOR (int);
271 /* 19 d1=ww a1 */   int IOCS_FNTGET (int, int, struct iocs_fntbuf *);
272 /* 1a d1 d2 a1 */   void IOCS_TEXTGET (int, int, struct iocs_fntbuf *);
273 /* 1b d1 d2 a1 */   void IOCS_TEXTPUT (int, int, const struct iocs_fntbuf *);
274 /* 1c d1 d2 a1 a2 */          void IOCS_CLIPPUT (int, int, const struct iocs_fntbuf *, const struct iocs_clipxy *);
275 /* 1d d1 d2 d3 */   void IOCS_SCROLL (int, int, int);
276 /* 1e */  void IOCS_B_CURON (void);
277 /* 1f */  void IOCS_B_CUROFF (void);
278 /* 20 d1 */         int IOCS_B_PUTC (int);
279 /* 21 a1 */         int IOCS_B_PRINT (const char *);
280 /* 22 d1 */         int IOCS_B_COLOR (int);
281 /* 23 d1 d2 */      int IOCS_B_LOCATE (int, int);
282 /* 24 */  void IOCS_B_DOWN_S (void);
283 /* 25 */  void IOCS_B_UP_S (void);
284 /* 26 d1 */         void IOCS_B_UP (int);
285 /* 27 d1 */         void IOCS_B_DOWN (int);
286 /* 28 d1 */         void IOCS_B_RIGHT (int);
287 /* 29 d1 */         void IOCS_B_LEFT (int);
288 /* 2a d1=0 */       void IOCS_B_CLR_ED (void);
289 /* 2a d1=1 */       void IOCS_B_CLR_ST (void);
290 /* 2a d1=2 */       void IOCS_B_CLR_AL (void);
291 /* 2b d1=0 */       void IOCS_B_ERA_ED (void);
292 /* 2b d1=1 */       void IOCS_B_ERA_ST (void);
293 /* 2b d1=2 */       void IOCS_B_ERA_AL (void);
294 /* 2c d1 */         void IOCS_B_INS (int);
295 /* 2d d1 */         void IOCS_B_DEL (int);
296 /* 2e d1=ww d2=ww ; retd2 */  int IOCS_B_CONSOL (int, int, int, int);
297 /* 2f d1 d2 d3 d4 a1 ; retd2 */         int IOCS_B_PUTMES (int, int, int, int, const char *);
298 /* 30 d1 */         int IOCS_SET232C (int);
299 /* 31 */  int IOCS_LOF232C (void);
300 /* 32 */  int IOCS_INP232C (void);
301 /* 33 */  int IOCS_ISNS232C (void);
302 /* 34 */  int IOCS_OSNS232C (void);
303 /* 35 d1 */         void IOCS_OUT232C (int);
304 /* 3b d1 */         int IOCS_JOYGET (int);
305 /* 3c d1=bb */      int IOCS_INIT_PRN (int, int);
306 /* 3d */  int IOCS_SNSPRN (void);
307 /* 3e d1 */         void IOCS_OUTLPT (int);
308 /* 3f d1 */         void IOCS_OUTPRN (int);
309 /* 40 d1 d2 */      int IOCS_B_SEEK (int, int);
310 /* 41 d1 d2 d3 a1 */          int IOCS_B_VERIFY (int, int, int, const void *);
311 /* 42 d1 d2 d3 a1 */          int IOCS_B_READDI (int, int, int, void *);
312 /* 43 d1 a1 d2 */   int IOCS_B_DSKINI (int, const void *, int);
313 /* 44 d1 */         int IOCS_B_DRVSNS (int);
314 /* 45 d1 d2 d3 a1 */          int IOCS_B_WRITE (int, int, int, const void *);
315 /* 46 d1 d2 d3 a1 */          int IOCS_B_READ (int, int, int, void *);
316 /* 47 d1 */         int IOCS_B_RECALI (int);
317 /* 48 d1 d2 d3 a1 */          int IOCS_B_ASSIGN (int, int, int, const void *);
318 /* 49 d1 d2 d3 a1 */          int IOCS_B_WRITED (int, int, int, const void *);
319 /* 4a d1 d2 od2 */  int IOCS_B_READID (int, int, void *);
320 /* 4b d1 d2 d3 */   int IOCS_B_BADFMT (int, int, int);
321 /* 4c d1 d2 d3 a1 */          int IOCS_B_READDL (int, int, int, void *);
322 /* 4d d1 d2 d3 a1 */          int IOCS_B_FORMAT (int, int, int, const void *);
323 /* 4e d1 d2 */      int IOCS_B_DRVCHK (int, int);
324 /* 4f d1 */         int IOCS_B_EJECT (int);
325 /* 50 d1 */         int IOCS_BINDATEBCD (int);
326 /* 51 d1 */         void IOCS_BINDATESET (int);
327 /* 52 d1 */         int IOCS_TIMEBCD (int);
328 /* 53 d1 */         void IOCS_TIMESET (int);
329 /* 54 */  int IOCS_BINDATEGET (void);
330 /* 55 d1 */         int IOCS_DATEBIN (int);
331 /* 56 */  int IOCS_TIMEGET (void);
332 /* 57 d1 */         int IOCS_TIMEBIN (int);
333 /* 58 a1 */         int IOCS_DATECNV (const char *);
334 /* 59 a1 */         int IOCS_TIMECNV (const char *);
335 /* 5a d1 a1 */      int IOCS_DATEASC (int, char *);
336 /* 5b d1 a1 */      int IOCS_TIMEASC (int, char *);
337 /* 5c d1 a1 */      void IOCS_DAYASC (int, char *);
338 /* 5d d1 */         int IOCS_ALARMMOD (int);
339 /* 5e d1 d2 a1 */   int IOCS_ALARMSET (int, int, int);
340 /* 5f od1 od2 od0 */          int IOCS_ALARMGET (int *, int *, int *);
341 /* 60 a1 d1 d2 */   void IOCS_ADPCMOUT (const void *, int, int);
342 /* 61 a1 d1 d2 */   void IOCS_ADPCMINP (void *, int, int);
343 /* 62 a1 d1 d2 */   void IOCS_ADPCMAOT (const struct iocs_chain *, int, int);
344 /* 63 a1 d1 d2 */   void IOCS_ADPCMAIN (const struct iocs_chain *, int, int);
345 /* 64 a1 d1 */      void IOCS_ADPCMLOT (const struct iocs_chain2 *, int);
346 /* 65 a1 d1 */      void IOCS_ADPCMLIN (const struct iocs_chain2 *, int);
347 /* 66 */  int IOCS_ADPCMSNS (void);
348 /* 67 d1 */         void IOCS_ADPCMMOD (int);
349 /* 68 d1 d2 */      void IOCS_OPMSET (int, int);
350 /* 69 */  int IOCS_OPMSNS (void);
351 /* 6a a1 */         int IOCS_OPMINTST (const void *);
352 /* 6b a1 d1=bb */   int IOCS_TIMERDST (const void *, int, int);
353 /* 6c a1 d1=bb */   int IOCS_VDISPST (const void *, int, int);
354 /* 6d a1 d1 */      int IOCS_CRTCRAS (const void *, int);
355 /* 6e a1 */         int IOCS_HSYNCST (const void *);
356 /* 6f a1 */         int IOCS_PRNINTST (const void *);
357 /* 70 */  void IOCS_MS_INIT (void);
358 /* 71 */  void IOCS_MS_CURON (void);
359 /* 72 */  void IOCS_MS_CUROF (void);
360 /* 73 */  int IOCS_MS_STAT (void);
361 /* 74 */  int IOCS_MS_GETDT (void);
362 /* 75 */  int IOCS_MS_CURGT (void);
363 /* 76 d1=ww */      int IOCS_MS_CURST (int, int);
364 /* 77 d1=ww d2=ww */          int IOCS_MS_LIMIT (int, int, int, int);
365 /* 78 d1 d2 */      int IOCS_MS_OFFTM (int, int);
366 /* 79 d1 d2 */      int IOCS_MS_ONTM (int, int);
367 /* 7a d1 a1 */      void IOCS_MS_PATST (int, const struct iocs_patst *);
368 /* 7b d1 */         void IOCS_MS_SEL (int);
369 /* 7c a1 */         void IOCS_MS_SEL2 (const short *);
370 /* 7d d1 d2=ww */   int IOCS_SKEY_MOD (int, int, int);
371 /* 7e */  void IOCS_DENSNS (void);
372 /* 7f */  int IOCS_ONTIME (void);
373 /* 80 d1 a1 */      int IOCS_B_INTVCS (int, int);
374 /* 81 ; b_super */  int IOCS_B_SUPER (int);
375 /* 82 a1 */         int IOCS_B_BPEEK (const void *);
376 /* 83 a1 */         int IOCS_B_WPEEK (const void *);
377 /* 84 a1 */         int IOCS_B_LPEEK (const void *);
378 /* 85 a1 a2 d1 */   void IOCS_B_MEMSTR (const void *, void *, int);
379 /* 86 a1 d1 */      void IOCS_B_BPOKE (void *, int);
380 /* 87 a1 d1 */      void IOCS_B_WPOKE (void *, int);
381 /* 88 a1 d1 */      void IOCS_B_LPOKE (void *, int);
382 /* 89 a1 a2 d1 */   void IOCS_B_MEMSET (void *, const void *, int);
383 /* 8a a1 a2 d1 d2 */          void IOCS_DMAMOVE (void *, void *, int, int);
384 /* 8b a1 a2 d1 d2 */          void IOCS_DMAMOV_A (const struct iocs_chain *, void *, int, int);
385 /* 8c a1 a2 d1 */   void IOCS_DMAMOV_L (const struct iocs_chain2 *, void *, int);
386 /* 8d */  int IOCS_DMAMODE (void);
387 /* 8e */  int __pure IOCS_BOOTINF (void) __attribute__((const));
388 /* 8f */  int __pure IOCS_ROMVER (void) __attribute__((const));
389 /* 90 */  void IOCS_G_CLR_ON (void);
390 /* 94 d1 d2 */      int IOCS_GPALET (int, int);
391 /* a0 d1 */         int __pure IOCS_SFTJIS (int) __attribute__((const));
392 /* a1 d1 */         int __pure IOCS_JISSFT (int) __attribute__((const));
393 /* a2 d1=ww */      int __pure IOCS_AKCONV (int, int) __attribute__((const));
394 /* a3 d1 a1 a2 */   int IOCS_RMACNV (int, char *, char *);
395 /* a4 a1 */         int IOCS_DAKJOB (char *);
396 /* a5 a1 */         int IOCS_HANJOB (char *);
397 /* ac d1=0 */       int IOCS_MPU_STAT (void);               /* ROM 1.3 only */
398 /* ac d1=1 */       int IOCS_CACHE_ST (void);               /* ROM 1.3 only */
399 /* ac d1=3 d2 ; c_md */       int IOCS_CACHE_MD (int);      /* ROM 1.3 only */
400 /* ad d1 ; b_curmod */        void IOCS_B_CURMOD (int);               /*1.3/IOCS.X*/
401 /* ad d1=2 d2 ; b_curpat */   void IOCS_B_CURPAT (int);     /*1.3/IOCS.X*/
402 /* ad d1=2 d2=0 */  void IOCS_B_CURPAT1 (void);   /*1.3/IOCS.X*/
403 /* ad d1=3 d2 */    void IOCS_B_CURDEF (void *);  /*1.3/IOCS.X*/
404 /* ad d1=16 d2 ; b_scroll */  void IOCS_B_SCROLL (int);     /*1.3/IOCS.X*/
405 /* ae */  void IOCS_OS_CURON (void);
406 /* af */  void IOCS_OS_CUROF (void);
407 /* b0 d1 */         int IOCS_DRAWMODE (int);                /* ROM 1.3, IOCS.X */
408 /* b1 d1 */         int IOCS_APAGE (int);
409 /* b2 d1 */         int IOCS_VPAGE (int);
410 /* b3 d1 d2 d3 */   int IOCS_HOME (int, int, int);
411 /* b4 d1 d2 d3 d4 */          int IOCS_WINDOW (int, int, int, int);
412 /* b5 */  int IOCS_WIPE (void);
413 /* b6 a1 */         int IOCS_PSET (const struct iocs_psetptr *);
414 /* b7 a1 */         int IOCS_POINT (const struct iocs_pointptr *);
415 /* b8 a1 */         int IOCS_LINE (const struct iocs_lineptr *);
416 /* b9 a1 */         int IOCS_BOX (const struct iocs_boxptr *);
417 /* ba a1 */         int IOCS_FILL (const struct iocs_fillptr *);
418 /* bb a1 */         int IOCS_CIRCLE (const struct iocs_circleptr *);
419 /* bc a1 */         int IOCS_PAINT (struct iocs_paintptr *);
420 /* bd a1 */         int IOCS_SYMBOL (const struct iocs_symbolptr *);
421 /* be a1 */         int IOCS_GETGRM (struct iocs_getptr *);
422 /* bf a1 */         int IOCS_PUTGRM (const struct iocs_putptr *);
423 /* c0 */  int IOCS_SP_INIT (void);
424 /* c1 */  int IOCS_SP_ON (void);
425 /* c2 */  void IOCS_SP_OFF (void);
426 /* c3 d1 */         int IOCS_SP_CGCLR (int);
427 /* c4 d1 d2 a1 */   int IOCS_SP_DEFCG (int, int, const void *);
428 /* c5 d1 d2 a1 */   int IOCS_SP_GTPCG (int, int, void *);
429 
430 /*
431  * XXX    SP_REGST in XC iocslib:       args: int,      int, int, int, int
432  *                                             (c6 d1 d2 d3 d4 d5)
433  *        XC manual and PD libc:        args: int, int, int, int, int, int
434  *                                             (c6 d0 d1 d2 d3 d4 d5 ; sp_regst)
435  * we use the latter interface...
436  */
437 /* c6 d0 d1 d2 d3 d4 d5 ; sp_regst */   int IOCS_SP_REGST (int, int, int, int, int, int);
438 /* c7 d1 od2 od3 od4 od5 ; err_d0 */    int IOCS_SP_REGGT (int, int *, int *, int *, int *);
439 /* c8 d1 d2 d3 */   int IOCS_BGSCRLST (int, int, int);
440 /* c9 d1 od2 od3 ; err_d0 */  int IOCS_BGSCRLGT (int, int *, int *);
441 /* ca d1 d2 d3 */   int IOCS_BGCTRLST (int, int, int);
442 /* cb d1 */         int IOCS_BGCTRLGT (int);
443 /* cc d1 d2 */      int IOCS_BGTEXTCL (int, int);
444 /* cd d1 d2 d3 d4 */          int IOCS_BGTEXTST (int, int, int, int);
445 /* ce d1 d2 d3 */   int IOCS_BGTEXTGT (int, int, int);
446 /* cf d1 d2 d3 */   int IOCS_SPALET (int, int, int);
447 /* d3 a1 */         void IOCS_TXXLINE (const struct iocs_xlineptr *);
448 /* d4 a1 */         void IOCS_TXYLINE (const struct iocs_ylineptr *);
449 /* d5 a1 */         void IOCS_TXLINE (struct iocs_tlineptr); /* 1.3, IOCS.X */
450 /* d6 a1 */         void IOCS_TXBOX (const struct iocs_tboxptr *);
451 /* d7 a1 */         void IOCS_TXFILL (const struct iocs_txfillptr *);
452 /* d8 a1 */         void IOCS_TXREV (const struct iocs_trevptr *);
453 /* df d1 d2 d3 */   void IOCS_TXRASCPY (int, int, int);
454 /* fd */  void IOCS_ABORTRST (void);
455 /* fe ; noret */    __dead void IOCS_IPLERR (void);
456 /* ff ; noret */    __dead void IOCS_ABORTJOB (void);
457 
458 /* SCSI calls */
459 /* f5 d1=0 */                 void IOCS_S_RESET (void);
460 /* f5 d1=1 d4 */    int IOCS_S_SELECT (int);
461 /* f5 d1=3 d3 a1 */ int IOCS_S_CMDOUT (int, void *);
462 /* f5 d1=4 d3 a1 */ int IOCS_S_DATAIN (int, void *);
463 /* f5 d1=5 d3 a1 */ int IOCS_S_DATAOUT (int, void *);
464 /* f5 d1=6 a1 */    int IOCS_S_STSIN (void *);
465 /* f5 d1=7 a1 */    int IOCS_S_MSGIN (void *);
466 /* f5 d1=8 a1 */    int IOCS_S_MSGOUT (void *);
467 /* f5 d1=9 */                 int IOCS_S_PHASE (void);
468 /* f5 d1=32 d3 d4 a1 */       int IOCS_S_INQUIRY (int, int, struct iocs_inquiry *);
469 /* f5 d1=33 d2 d3 d4 d5 a1 */ int IOCS_S_READ (int, int, int, int, void *);
470 /* f5 d1=34 d2 d3 d4 d5 a1 */ int IOCS_S_WRITE (int, int, int, int, void *);
471 /* f5 d1=35 d3 d4 */          int IOCS_S_FORMAT (int, int);
472 /* f5 d1=36 d4 */   int IOCS_S_TESTUNIT (int);
473 /* f5 d1=37 d4 a1 */          int IOCS_S_READCAP (int, struct iocs_readcap *);
474 /* f5 d1=38 d2 d3 d4 d5 a1 */ int IOCS_S_READEXT (int, int, int, int, void *);
475 /* f5 d1=39 d2 d3 d4 d5 a1 */ int IOCS_S_WRITEEXT (int, int, int, int, void *);
476 /* f5 d1=43 d4 */   int IOCS_S_REZEROUNIT (int);
477 /* f5 d1=44 d3 d4 a1 */       int IOCS_S_REQUEST (int, int, void *);
478 /* f5 d1=45 d2 d4 */          int IOCS_S_SEEK (int, int);
479 /* f5 d1=47 d3 d4 */          int IOCS_S_STARTSTOP (int, int);
480 /* f5 d1=49 d3 d4 a1 */       int IOCS_S_REASSIGN (int, int, void *);
481 /* f5 d1=50 d3 d4 */          int IOCS_S_PAMEDIUM (int, int);
482 
483 #endif /* __X68K_IOCS_H__ */
484