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