#ifndef __X68K_IOCS_H__
#define __X68K_IOCS_H__
#include <sys/cdefs.h>
struct iocs_boxptr {
short x1;
short y1;
short x2;
short y2;
unsigned short color;
unsigned short linestyle;
};
struct iocs_circleptr {
short x;
short y;
unsigned short radius;
unsigned short color;
short start;
short end;
unsigned short ratio;
};
struct iocs_fillptr {
short x1;
short y1;
short x2;
short y2;
unsigned short color;
};
struct iocs_fntbuf {
short xl;
short yl;
unsigned char buffer[72];
};
struct iocs_getptr {
short x1;
short y1;
short x2;
short y2;
void *buf_start;
void *buf_end;
};
struct iocs_lineptr {
short x1;
short y1;
short x2;
short y2;
unsigned short color;
unsigned short linestyle;
};
struct iocs_paintptr {
short x;
short y;
unsigned short color;
void *buf_start;
void *buf_end;
} __attribute__((__packed__));
struct iocs_pointptr {
short x;
short y;
unsigned short color;
};
struct iocs_psetptr {
short x;
short y;
unsigned short color;
};
struct iocs_putptr {
short x1;
short y1;
short x2;
short y2;
const void *buf_start;
const void *buf_end;
};
struct iocs_symbolptr {
short x1;
short y1;
unsigned char *string_address;
unsigned char mag_x;
unsigned char mag_y;
unsigned short color;
unsigned char font_type;
unsigned char angle;
} __attribute__((__packed__));
struct iocs_regs {
int d0;
int d1;
int d2;
int d3;
int d4;
int d5;
int d6;
int d7;
int a1;
int a2;
int a3;
int a4;
int a5;
int a6;
};
struct iocs_chain {
void *addr;
unsigned short len;
} __attribute__((__packed__));
struct iocs_chain2 {
void *addr;
unsigned short len;
const struct iocs_chain2 *next;
} __attribute__((__packed__));
struct iocs_clipxy {
short xs;
short ys;
short xe;
short ye;
};
struct iocs_patst {
short offsetx;
short offsety;
short shadow[16];
short pattern[16];
};
struct iocs_tboxptr {
unsigned short vram_page;
short x;
short y;
short x1;
short y1;
unsigned short line_style;
};
struct iocs_txfillptr {
unsigned short vram_page;
short x;
short y;
short x1;
short y1;
unsigned short fill_patn;
};
struct iocs_trevptr {
unsigned short vram_page;
short x;
short y;
short x1;
short y1;
};
struct iocs_xlineptr {
unsigned short vram_page;
short x;
short y;
short x1;
unsigned short line_style;
};
struct iocs_ylineptr {
unsigned short vram_page;
short x;
short y;
short y1;
unsigned short line_style;
};
struct iocs_tlineptr {
unsigned short vram_page;
short x;
short y;
short x1;
short y1;
unsigned short line_style;
};
struct iocs_readcap {
unsigned long block;
unsigned long size;
};
struct iocs_inquiry {
unsigned char unit;
unsigned char info;
unsigned char ver;
unsigned char reserve;
unsigned char size;
unsigned char class[3];
char vendor[8];
char product[16];
char revision[4];
};
int IOCS_TRAP15(const struct iocs_regs *, struct iocs_regs *);
int IOCS_B_KEYINP (void);
int IOCS_B_KEYSNS (void);
int IOCS_B_SFTSNS (void);
int IOCS_BITSNS (int);
void IOCS_SKEYSET (int);
void IOCS_TVCTRL (int);
void IOCS_LEDMOD (int, int);
int IOCS_TGUSEMD (int, int);
int IOCS_DEFCHR (int, int, const void *);
int IOCS_CRTMOD (int);
int IOCS_CONTRAST (int);
int __pure IOCS_HSVTORGB (int, int, int) __attribute__((const));
int IOCS_TPALET (int, int);
int IOCS_TPALET2 (int, int);
void IOCS_TCOLOR (int);
int IOCS_FNTGET (int, int, struct iocs_fntbuf *);
void IOCS_TEXTGET (int, int, struct iocs_fntbuf *);
void IOCS_TEXTPUT (int, int, const struct iocs_fntbuf *);
void IOCS_CLIPPUT (int, int, const struct iocs_fntbuf *, const struct iocs_clipxy *);
void IOCS_SCROLL (int, int, int);
void IOCS_B_CURON (void);
void IOCS_B_CUROFF (void);
int IOCS_B_PUTC (int);
int IOCS_B_PRINT (const char *);
int IOCS_B_COLOR (int);
int IOCS_B_LOCATE (int, int);
void IOCS_B_DOWN_S (void);
void IOCS_B_UP_S (void);
void IOCS_B_UP (int);
void IOCS_B_DOWN (int);
void IOCS_B_RIGHT (int);
void IOCS_B_LEFT (int);
void IOCS_B_CLR_ED (void);
void IOCS_B_CLR_ST (void);
void IOCS_B_CLR_AL (void);
void IOCS_B_ERA_ED (void);
void IOCS_B_ERA_ST (void);
void IOCS_B_ERA_AL (void);
void IOCS_B_INS (int);
void IOCS_B_DEL (int);
int IOCS_B_CONSOL (int, int, int, int);
int IOCS_B_PUTMES (int, int, int, int, const char *);
int IOCS_SET232C (int);
int IOCS_LOF232C (void);
int IOCS_INP232C (void);
int IOCS_ISNS232C (void);
int IOCS_OSNS232C (void);
void IOCS_OUT232C (int);
int IOCS_JOYGET (int);
int IOCS_INIT_PRN (int, int);
int IOCS_SNSPRN (void);
void IOCS_OUTLPT (int);
void IOCS_OUTPRN (int);
int IOCS_B_SEEK (int, int);
int IOCS_B_VERIFY (int, int, int, const void *);
int IOCS_B_READDI (int, int, int, void *);
int IOCS_B_DSKINI (int, const void *, int);
int IOCS_B_DRVSNS (int);
int IOCS_B_WRITE (int, int, int, const void *);
int IOCS_B_READ (int, int, int, void *);
int IOCS_B_RECALI (int);
int IOCS_B_ASSIGN (int, int, int, const void *);
int IOCS_B_WRITED (int, int, int, const void *);
int IOCS_B_READID (int, int, void *);
int IOCS_B_BADFMT (int, int, int);
int IOCS_B_READDL (int, int, int, void *);
int IOCS_B_FORMAT (int, int, int, const void *);
int IOCS_B_DRVCHK (int, int);
int IOCS_B_EJECT (int);
int IOCS_BINDATEBCD (int);
void IOCS_BINDATESET (int);
int IOCS_TIMEBCD (int);
void IOCS_TIMESET (int);
int IOCS_BINDATEGET (void);
int IOCS_DATEBIN (int);
int IOCS_TIMEGET (void);
int IOCS_TIMEBIN (int);
int IOCS_DATECNV (const char *);
int IOCS_TIMECNV (const char *);
int IOCS_DATEASC (int, char *);
int IOCS_TIMEASC (int, char *);
void IOCS_DAYASC (int, char *);
int IOCS_ALARMMOD (int);
int IOCS_ALARMSET (int, int, int);
int IOCS_ALARMGET (int *, int *, int *);
void IOCS_ADPCMOUT (const void *, int, int);
void IOCS_ADPCMINP (void *, int, int);
void IOCS_ADPCMAOT (const struct iocs_chain *, int, int);
void IOCS_ADPCMAIN (const struct iocs_chain *, int, int);
void IOCS_ADPCMLOT (const struct iocs_chain2 *, int);
void IOCS_ADPCMLIN (const struct iocs_chain2 *, int);
int IOCS_ADPCMSNS (void);
void IOCS_ADPCMMOD (int);
void IOCS_OPMSET (int, int);
int IOCS_OPMSNS (void);
int IOCS_OPMINTST (const void *);
int IOCS_TIMERDST (const void *, int, int);
int IOCS_VDISPST (const void *, int, int);
int IOCS_CRTCRAS (const void *, int);
int IOCS_HSYNCST (const void *);
int IOCS_PRNINTST (const void *);
void IOCS_MS_INIT (void);
void IOCS_MS_CURON (void);
void IOCS_MS_CUROF (void);
int IOCS_MS_STAT (void);
int IOCS_MS_GETDT (void);
int IOCS_MS_CURGT (void);
int IOCS_MS_CURST (int, int);
int IOCS_MS_LIMIT (int, int, int, int);
int IOCS_MS_OFFTM (int, int);
int IOCS_MS_ONTM (int, int);
void IOCS_MS_PATST (int, const struct iocs_patst *);
void IOCS_MS_SEL (int);
void IOCS_MS_SEL2 (const short *);
int IOCS_SKEY_MOD (int, int, int);
void IOCS_DENSNS (void);
int IOCS_ONTIME (void);
int IOCS_B_INTVCS (int, int);
int IOCS_B_SUPER (int);
int IOCS_B_BPEEK (const void *);
int IOCS_B_WPEEK (const void *);
int IOCS_B_LPEEK (const void *);
void IOCS_B_MEMSTR (const void *, void *, int);
void IOCS_B_BPOKE (void *, int);
void IOCS_B_WPOKE (void *, int);
void IOCS_B_LPOKE (void *, int);
void IOCS_B_MEMSET (void *, const void *, int);
void IOCS_DMAMOVE (void *, void *, int, int);
void IOCS_DMAMOV_A (const struct iocs_chain *, void *, int, int);
void IOCS_DMAMOV_L (const struct iocs_chain2 *, void *, int);
int IOCS_DMAMODE (void);
int __pure IOCS_BOOTINF (void) __attribute__((const));
int __pure IOCS_ROMVER (void) __attribute__((const));
void IOCS_G_CLR_ON (void);
int IOCS_GPALET (int, int);
int __pure IOCS_SFTJIS (int) __attribute__((const));
int __pure IOCS_JISSFT (int) __attribute__((const));
int __pure IOCS_AKCONV (int, int) __attribute__((const));
int IOCS_RMACNV (int, char *, char *);
int IOCS_DAKJOB (char *);
int IOCS_HANJOB (char *);
int IOCS_MPU_STAT (void);
int IOCS_CACHE_ST (void);
int IOCS_CACHE_MD (int);
void IOCS_B_CURMOD (int);
void IOCS_B_CURPAT (int);
void IOCS_B_CURPAT1 (void);
void IOCS_B_CURDEF (void *);
void IOCS_B_SCROLL (int);
void IOCS_OS_CURON (void);
void IOCS_OS_CUROF (void);
int IOCS_DRAWMODE (int);
int IOCS_APAGE (int);
int IOCS_VPAGE (int);
int IOCS_HOME (int, int, int);
int IOCS_WINDOW (int, int, int, int);
int IOCS_WIPE (void);
int IOCS_PSET (const struct iocs_psetptr *);
int IOCS_POINT (const struct iocs_pointptr *);
int IOCS_LINE (const struct iocs_lineptr *);
int IOCS_BOX (const struct iocs_boxptr *);
int IOCS_FILL (const struct iocs_fillptr *);
int IOCS_CIRCLE (const struct iocs_circleptr *);
int IOCS_PAINT (struct iocs_paintptr *);
int IOCS_SYMBOL (const struct iocs_symbolptr *);
int IOCS_GETGRM (struct iocs_getptr *);
int IOCS_PUTGRM (const struct iocs_putptr *);
int IOCS_SP_INIT (void);
int IOCS_SP_ON (void);
void IOCS_SP_OFF (void);
int IOCS_SP_CGCLR (int);
int IOCS_SP_DEFCG (int, int, const void *);
int IOCS_SP_GTPCG (int, int, void *);
int IOCS_SP_REGST (int, int, int, int, int, int);
int IOCS_SP_REGGT (int, int *, int *, int *, int *);
int IOCS_BGSCRLST (int, int, int);
int IOCS_BGSCRLGT (int, int *, int *);
int IOCS_BGCTRLST (int, int, int);
int IOCS_BGCTRLGT (int);
int IOCS_BGTEXTCL (int, int);
int IOCS_BGTEXTST (int, int, int, int);
int IOCS_BGTEXTGT (int, int, int);
int IOCS_SPALET (int, int, int);
void IOCS_TXXLINE (const struct iocs_xlineptr *);
void IOCS_TXYLINE (const struct iocs_ylineptr *);
void IOCS_TXLINE (struct iocs_tlineptr);
void IOCS_TXBOX (const struct iocs_tboxptr *);
void IOCS_TXFILL (const struct iocs_txfillptr *);
void IOCS_TXREV (const struct iocs_trevptr *);
void IOCS_TXRASCPY (int, int, int);
void IOCS_ABORTRST (void);
__dead void IOCS_IPLERR (void);
__dead void IOCS_ABORTJOB (void);
void IOCS_S_RESET (void);
int IOCS_S_SELECT (int);
int IOCS_S_CMDOUT (int, void *);
int IOCS_S_DATAIN (int, void *);
int IOCS_S_DATAOUT (int, void *);
int IOCS_S_STSIN (void *);
int IOCS_S_MSGIN (void *);
int IOCS_S_MSGOUT (void *);
int IOCS_S_PHASE (void);
int IOCS_S_INQUIRY (int, int, struct iocs_inquiry *);
int IOCS_S_READ (int, int, int, int, void *);
int IOCS_S_WRITE (int, int, int, int, void *);
int IOCS_S_FORMAT (int, int);
int IOCS_S_TESTUNIT (int);
int IOCS_S_READCAP (int, struct iocs_readcap *);
int IOCS_S_READEXT (int, int, int, int, void *);
int IOCS_S_WRITEEXT (int, int, int, int, void *);
int IOCS_S_REZEROUNIT (int);
int IOCS_S_REQUEST (int, int, void *);
int IOCS_S_SEEK (int, int);
int IOCS_S_STARTSTOP (int, int);
int IOCS_S_REASSIGN (int, int, void *);
int IOCS_S_PAMEDIUM (int, int);
#endif