Home | History | Annotate | Line # | Download | only in libdos
dos.h revision 1.4
      1  1.1     itohy /*
      2  1.1     itohy  *	dos.h
      3  1.1     itohy  *	Human68k DOS call interface
      4  1.1     itohy  *
      5  1.1     itohy  *	written by Yasha (ITOH Yasufumi)
      6  1.1     itohy  *	(based on PD libc 1.1.32 by PROJECT C Library)
      7  1.1     itohy  *	public domain
      8  1.1     itohy  *
      9  1.4  christos  *	$NetBSD: dos.h,v 1.4 2005/12/11 12:19:45 christos Exp $
     10  1.1     itohy  */
     11  1.1     itohy /*
     12  1.1     itohy  * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION
     13  1.1     itohy  * --------------------------------------------------------------------
     14  1.1     itohy  * This file is written by the Project C Library Group,  and completely
     15  1.1     itohy  * in public domain. You can freely use, copy, modify, and redistribute
     16  1.1     itohy  * the whole contents, without this notice.
     17  1.1     itohy  * --------------------------------------------------------------------
     18  1.1     itohy  * Id: dos.h,v 1.6 1994/07/27 13:44:11 mura Exp
     19  1.1     itohy  * Id: dos_p.h,v 1.3 1993/10/06 16:46:07 mura Exp
     20  1.1     itohy  */
     21  1.1     itohy 
     22  1.1     itohy #ifndef __X68K_DOS_H__
     23  1.1     itohy #define __X68K_DOS_H__
     24  1.1     itohy 
     25  1.1     itohy #include <sys/cdefs.h>
     26  1.1     itohy 
     27  1.1     itohy typedef int	dos_mode_t;
     28  1.1     itohy 
     29  1.1     itohy struct dos_inpptr {
     30  1.1     itohy 	unsigned char	max;
     31  1.1     itohy 	unsigned char	length;
     32  1.1     itohy 	char		buffer[256];
     33  1.1     itohy };
     34  1.1     itohy 
     35  1.1     itohy struct dos_nameckbuf {
     36  1.1     itohy 	char	drive[2];
     37  1.1     itohy 	char	path[65];
     38  1.1     itohy 	char	name[19];
     39  1.1     itohy 	char	ext[5];
     40  1.1     itohy };
     41  1.1     itohy 
     42  1.1     itohy union dos_fcb {
     43  1.1     itohy 	struct {
     44  1.1     itohy 		unsigned char	dupcnt;
     45  1.1     itohy 		unsigned char	devattr;
     46  1.1     itohy 		void		*deventry;
     47  1.1     itohy 		char		nouse_1[8];
     48  1.1     itohy 		unsigned char	openmode;
     49  1.1     itohy 		char		nouse_2[21];
     50  1.1     itohy 		char		name1[8];
     51  1.1     itohy 		char		ext[3];
     52  1.1     itohy 		char		nouse_3;
     53  1.1     itohy 		char		name2[10];
     54  1.1     itohy 		char		nouse_4[38];
     55  1.2     itohy 	} __attribute__((__packed__)) chr;
     56  1.1     itohy 	struct {
     57  1.1     itohy 		unsigned char	dupcnt;
     58  1.1     itohy 		unsigned	mode	: 1;
     59  1.1     itohy 		unsigned	unknown : 2;
     60  1.1     itohy 		unsigned	physdrv : 5;
     61  1.1     itohy 		void		*deventry;
     62  1.1     itohy 		unsigned int	fileptr;
     63  1.1     itohy 		unsigned int	exclptr;
     64  1.1     itohy 		unsigned char	openmode;
     65  1.1     itohy 		unsigned char	entryidx;
     66  1.1     itohy 		unsigned char	clustidx;
     67  1.1     itohy 		char		nouse_2;
     68  1.1     itohy 		unsigned short	acluster;
     69  1.1     itohy 		unsigned int	asector;
     70  1.1     itohy 		void		*iobuf;
     71  1.1     itohy 		unsigned long	dirsec;
     72  1.1     itohy 		unsigned int	fptrmax;
     73  1.1     itohy 		char		name1[8];
     74  1.1     itohy 		char		ext[3];
     75  1.1     itohy 		unsigned char	attr;
     76  1.1     itohy 		char		name2[10];
     77  1.1     itohy 		unsigned short	time;
     78  1.1     itohy 		unsigned short	date;
     79  1.1     itohy 		unsigned short	fatno;
     80  1.1     itohy 		unsigned long	size;
     81  1.1     itohy 		char		nouse_4[28];
     82  1.2     itohy 	} __attribute__((__packed__)) blk;
     83  1.1     itohy };
     84  1.1     itohy 
     85  1.1     itohy struct dos_indos {
     86  1.1     itohy 	unsigned short	indosf;
     87  1.1     itohy 	unsigned char	doscmd;
     88  1.1     itohy 	unsigned char	fat_flg;
     89  1.1     itohy 	unsigned short	retry_count;
     90  1.1     itohy 	unsigned short	retry_time;
     91  1.1     itohy 	unsigned short	verifyf;
     92  1.1     itohy 	unsigned char	breakf;
     93  1.1     itohy 	unsigned char	ctrlpf;
     94  1.1     itohy 	unsigned char	reserved;
     95  1.1     itohy 	unsigned char	wkcurdrv;
     96  1.1     itohy };
     97  1.1     itohy 
     98  1.1     itohy struct dos_mep {
     99  1.1     itohy 	void	*prev_mp;
    100  1.1     itohy 	void	*parent_mp;
    101  1.1     itohy 	void	*block_end;
    102  1.1     itohy 	void	*next_mp;
    103  1.1     itohy };
    104  1.1     itohy 
    105  1.1     itohy struct dos_psp {
    106  1.1     itohy 	char		*env;
    107  1.1     itohy 	void		*exit;
    108  1.1     itohy 	void		*ctrlc;
    109  1.1     itohy 	void		*errexit;
    110  1.1     itohy 	char		*comline;
    111  1.1     itohy 	unsigned char	handle[12];
    112  1.1     itohy 	void		*bss;
    113  1.1     itohy 	void		*heap;
    114  1.1     itohy 	void		*stack;
    115  1.1     itohy 	void		*usp;
    116  1.1     itohy 	void		*ssp;
    117  1.1     itohy 	unsigned short	sr;
    118  1.1     itohy 	unsigned short	abort_sr;
    119  1.1     itohy 	void		*abort_ssp;
    120  1.1     itohy 	void		*trap10;
    121  1.1     itohy 	void		*trap11;
    122  1.1     itohy 	void		*trap12;
    123  1.1     itohy 	void		*trap13;
    124  1.1     itohy 	void		*trap14;
    125  1.1     itohy 	unsigned int	osflg;
    126  1.1     itohy 	unsigned char	reserve_1[28];
    127  1.1     itohy 	char		exe_path[68];
    128  1.1     itohy 	char		exe_name[24];
    129  1.1     itohy 	char		reserve_2[36];
    130  1.1     itohy };
    131  1.1     itohy 
    132  1.1     itohy struct dos_comline {
    133  1.1     itohy 	unsigned char	len;
    134  1.1     itohy 	char		buffer[255];
    135  1.1     itohy };
    136  1.1     itohy 
    137  1.1     itohy struct dos_namestbuf {
    138  1.1     itohy 	unsigned char	flg;
    139  1.1     itohy 	unsigned char	drive;
    140  1.1     itohy 	char		path[65];
    141  1.1     itohy 	char		name1[8];
    142  1.1     itohy 	char		ext[3];
    143  1.1     itohy 	char		name2[10];
    144  1.1     itohy };
    145  1.1     itohy 
    146  1.1     itohy struct dos_freeinf {
    147  1.1     itohy 	unsigned short	free;
    148  1.1     itohy 	unsigned short	max;
    149  1.1     itohy 	unsigned short	sec;
    150  1.1     itohy 	unsigned short	byte;
    151  1.1     itohy };
    152  1.1     itohy 
    153  1.1     itohy struct dos_dpbptr {
    154  1.1     itohy 	unsigned char	drive;
    155  1.1     itohy 	unsigned char	unit;
    156  1.1     itohy 	unsigned short	byte;
    157  1.1     itohy 	unsigned char	sec;
    158  1.1     itohy 	unsigned char	shift;
    159  1.1     itohy 	unsigned short	fatsec;
    160  1.1     itohy 	unsigned char	fatcount;
    161  1.1     itohy 	unsigned char	fatlen;
    162  1.1     itohy 	unsigned short	dircount;
    163  1.1     itohy 	unsigned short	datasec;
    164  1.1     itohy 	unsigned short	maxfat;
    165  1.1     itohy 	unsigned short	dirsec;
    166  1.1     itohy 	int		driver;
    167  1.1     itohy 	unsigned char	ide;
    168  1.1     itohy 	unsigned char	flg;
    169  1.1     itohy 	struct dos_dpbptr *next;
    170  1.1     itohy 	unsigned short	dirfat;
    171  1.1     itohy 	char		dirbuf[64];
    172  1.2     itohy } __attribute__((__packed__));
    173  1.1     itohy 
    174  1.1     itohy struct dos_filbuf {
    175  1.1     itohy 	unsigned char	searchatr;
    176  1.1     itohy 	unsigned char	driveno;
    177  1.1     itohy 	unsigned long	dirsec;
    178  1.1     itohy 	unsigned short	dirlft;
    179  1.1     itohy 	unsigned short	dirpos;
    180  1.1     itohy 	char		filename[8];
    181  1.1     itohy 	char		ext[3];
    182  1.1     itohy 	unsigned char	atr;
    183  1.1     itohy 	unsigned short	time;
    184  1.1     itohy 	unsigned short	date;
    185  1.1     itohy 	unsigned int	filelen;
    186  1.1     itohy 	char		name[23];
    187  1.2     itohy } __attribute__((__packed__));
    188  1.1     itohy 
    189  1.1     itohy struct dos_exfilbuf {
    190  1.1     itohy 	unsigned char	searchatr;
    191  1.1     itohy 	unsigned char	driveno;
    192  1.1     itohy 	unsigned long	dirsec;
    193  1.1     itohy 	unsigned short	dirlft;
    194  1.1     itohy 	unsigned short	dirpos;
    195  1.1     itohy 	char		filename[8];
    196  1.1     itohy 	char		ext[3];
    197  1.1     itohy 	unsigned char	atr;
    198  1.1     itohy 	unsigned short	time;
    199  1.1     itohy 	unsigned short	date;
    200  1.1     itohy 	unsigned int	filelen;
    201  1.1     itohy 	char		name[23];
    202  1.1     itohy 	char		drive[2];
    203  1.1     itohy 	char		path[65];
    204  1.1     itohy 	char		unused[21];
    205  1.2     itohy } __attribute__((__packed__));
    206  1.1     itohy 
    207  1.1     itohy struct dos_dregs {
    208  1.1     itohy 	int	d0;
    209  1.1     itohy 	int	d1;
    210  1.1     itohy 	int	d2;
    211  1.1     itohy 	int	d3;
    212  1.1     itohy 	int	d4;
    213  1.1     itohy 	int	d5;
    214  1.1     itohy 	int	d6;
    215  1.1     itohy 	int	d7;
    216  1.1     itohy 	int	a0;
    217  1.1     itohy 	int	a1;
    218  1.1     itohy 	int	a2;
    219  1.1     itohy 	int	a3;
    220  1.1     itohy 	int	a4;
    221  1.1     itohy 	int	a5;
    222  1.1     itohy 	int	a6;
    223  1.1     itohy };
    224  1.1     itohy 
    225  1.1     itohy struct dos_prcctrl {
    226  1.1     itohy 	long		length;
    227  1.1     itohy 	unsigned char	*buf_ptr;
    228  1.1     itohy 	unsigned short	command;
    229  1.1     itohy 	unsigned short	your_id;
    230  1.1     itohy };
    231  1.1     itohy 
    232  1.1     itohy struct dos_prcptr {
    233  1.1     itohy 	struct dos_prcptr *next_ptr;
    234  1.1     itohy 	unsigned char	wait_flg;
    235  1.1     itohy 	unsigned char	counter;
    236  1.1     itohy 	unsigned char	max_counter;
    237  1.1     itohy 	unsigned char	doscmd;
    238  1.1     itohy 	unsigned int	psp_id;
    239  1.1     itohy 	unsigned int	usp_reg;
    240  1.1     itohy 	unsigned int	d_reg[8];
    241  1.1     itohy 	unsigned int	a_reg[7];
    242  1.1     itohy 	unsigned short	sr_reg;
    243  1.1     itohy 	unsigned int	pc_reg;
    244  1.1     itohy 	unsigned int	ssp_reg;
    245  1.1     itohy 	unsigned short	indosf;
    246  1.1     itohy 	unsigned int	indosp;
    247  1.1     itohy 	struct dos_prcctrl *buf_ptr;
    248  1.1     itohy 	unsigned char	name[16];
    249  1.1     itohy 	long		wait_time;
    250  1.2     itohy } __attribute__((__packed__));
    251  1.1     itohy 
    252  1.1     itohy /*
    253  1.1     itohy  * arguments:
    254  1.1     itohy  *	l		32bit arg -> 32bit DOS arg
    255  1.1     itohy  *	w		32bit arg -> lower 16bit DOS arg
    256  1.1     itohy  *	lb31		32bit arg -> 32bit (arg | 0x80000000) DOS arg
    257  1.1     itohy  *	wb8		32bit arg -> 16bit (arg | 0x100) DOS arg
    258  1.1     itohy  *	wb15		32bit arg -> 16bit (arg | 0x8000) DOS arg
    259  1.1     itohy  *	(num).l		(no C arg)-> 32bit (num) DOS arg
    260  1.1     itohy  *	(num).w		(no C arg)-> 16bit (num) DOS arg
    261  1.1     itohy  *	drvctrl		special arg for DOS_DRVCTRL
    262  1.1     itohy  *	super		special arg for DOS_SUPER
    263  1.1     itohy  * opts:
    264  1.1     itohy  *	e		d0 < 0  is an error code
    265  1.1     itohy  *	estrct		d0 > 0xffffff00  (unsigned) is an error code
    266  1.1     itohy  *	ealloc		error handling of memory allocation
    267  1.1     itohy  *	ep		error handling of process operation
    268  1.1     itohy  *	sv		save and restore  d2-d7/a2-a6
    269  1.1     itohy  *	noret		the DOS call never returns
    270  1.1     itohy  *	alias NAME	specify another entry name
    271  1.1     itohy  *	super		special for DOS_SUPER
    272  1.1     itohy  *	super_jsr	special for DOS_SUPER_JSR
    273  1.1     itohy  */
    274  1.1     itohy 
    275  1.1     itohy /* ff00 ; noret */	__dead void DOS_EXIT __P((void)) __attribute__((__noreturn__));
    276  1.1     itohy /* ff01 */		int DOS_GETCHAR __P((void));
    277  1.1     itohy /* ff02 w */		void DOS_PUTCHAR __P((int));
    278  1.1     itohy /* ff03 */		int DOS_COMINP __P((void));
    279  1.1     itohy /* ff04 w */		void DOS_COMOUT __P((int));
    280  1.1     itohy /* ff05 w */		void DOS_PRNOUT __P((int));
    281  1.1     itohy /* ff06 w */		int DOS_INPOUT __P((int));
    282  1.1     itohy /* ff07 */		int DOS_INKEY __P((void));
    283  1.1     itohy /* ff08 */		int DOS_GETC __P((void));
    284  1.1     itohy /* ff09 l */		void DOS_PRINT __P((const char *));
    285  1.1     itohy /* ff0a l */		int DOS_GETS __P((struct dos_inpptr *));
    286  1.1     itohy /* ff0b */		int DOS_KEYSNS __P((void));
    287  1.1     itohy /* ff0c 1.w */		int DOS_KFLUSHGP __P((void));
    288  1.1     itohy /* ff0c 6.w w */	int DOS_KFLUSHIO __P((int));
    289  1.1     itohy /* ff0c 7.w */		int DOS_KFLUSHIN __P((void));
    290  1.1     itohy /* ff0c 8.w */		int DOS_KFLUSHGC __P((void));
    291  1.1     itohy /* ff0c 10.w l */	int DOS_KFLUSHGS __P((struct dos_inpptr *));
    292  1.1     itohy /* ff0d */		void DOS_FFLUSH __P((void));
    293  1.1     itohy /* ff0e w */		int DOS_CHGDRV __P((int));
    294  1.1     itohy /* ff0f drvctrl */	int DOS_DRVCTRL __P((int, int));
    295  1.1     itohy /* ff10 */		int DOS_CONSNS __P((void));
    296  1.1     itohy /* ff11 */		int DOS_PRNSNS __P((void));
    297  1.1     itohy /* ff12 */		int DOS_CINSNS __P((void));
    298  1.1     itohy /* ff13 */		int DOS_COUTSNS __P((void));
    299  1.1     itohy /* ff17 l l ; e */	int DOS_FATCHK __P((const char *, unsigned short *));
    300  1.1     itohy /* ff17 l lb31 w ; e */	int DOS_FATCHK2 __P((const char *, unsigned short *, int));
    301  1.1     itohy /* ff18 0.w */		int DOS_HENDSPMO __P((void));
    302  1.1     itohy /* ff18 1.w w l */	int DOS_HENDSPMP __P((int, const char *));
    303  1.1     itohy /* ff18 2.w w l */	int DOS_HENDSPMR __P((int, const char *));
    304  1.1     itohy /* ff18 3.w */		void DOS_HENDSPMC __P((void));
    305  1.1     itohy /* ff18 4.w */		int DOS_HENDSPIO __P((void));
    306  1.1     itohy /* ff18 5.w w l */	int DOS_HENDSPIP __P((int, const char *));
    307  1.1     itohy /* ff18 6.w w l */	int DOS_HENDSPIR __P((int, const char *));
    308  1.1     itohy /* ff18 7.w w */	void DOS_HENDSPIC __P((int));
    309  1.1     itohy /* ff18 8.w */		int DOS_HENDSPSO __P((void));
    310  1.1     itohy /* ff18 9.w w l */	int DOS_HENDSPSP __P((int, const char *));
    311  1.1     itohy /* ff18 10.w w l */	int DOS_HENDSPSR __P((int, const char *));
    312  1.1     itohy /* ff18 11.w */		void DOS_HENDSPSC __P((void));
    313  1.1     itohy /* ff19 */		int DOS_CURDRV __P((void));
    314  1.1     itohy /* ff1a l */		int DOS_GETSS __P((struct dos_inpptr *));
    315  1.1     itohy /* ff1b w */		int DOS_FGETC __P((int));
    316  1.1     itohy /* ff1c l w */		int DOS_FGETS __P((struct dos_inpptr *, int));
    317  1.1     itohy /* ff1d w w */		void DOS_FPUTC __P((int, int));
    318  1.1     itohy /* ff1e l w */		void DOS_FPUTS __P((const char *, int));
    319  1.1     itohy /* ff1f */		void DOS_ALLCLOSE __P((void));
    320  1.1     itohy /* ff20 super ; super e */	int DOS_SUPER __P((int));
    321  1.1     itohy /* ff21 w l ; e */	void DOS_FNCKEYGT __P((int, char *));
    322  1.1     itohy /* ff21 wb8 l ; e */	void DOS_FNCKEYST __P((int, const char *));
    323  1.1     itohy /* ff23 0.w w */	int DOS_C_PUTC __P((int));
    324  1.1     itohy /* ff23 1.w l */	int DOS_C_PRINT __P((const char *));
    325  1.1     itohy /* ff23 2.w w */	int DOS_C_COLOR __P((int));
    326  1.1     itohy /* ff23 3.w w w */	int DOS_C_LOCATE __P((int, int));
    327  1.1     itohy /* ff23 4.w */		int DOS_C_DOWN_S __P((void));
    328  1.1     itohy /* ff23 5.w */		int DOS_C_UP_S __P((void));
    329  1.1     itohy /* ff23 6.w w */	int DOS_C_UP __P((int));
    330  1.1     itohy /* ff23 7.w w */	int DOS_C_DOWN __P((int));
    331  1.1     itohy /* ff23 8.w w */	int DOS_C_RIGHT __P((int));
    332  1.1     itohy /* ff23 9.w w */	int DOS_C_LEFT __P((int));
    333  1.1     itohy /* ff23 10.w 0.w */	int DOS_C_CLS_ED __P((void));
    334  1.1     itohy /* ff23 10.w 1.w */	int DOS_C_CLS_ST __P((void));
    335  1.1     itohy /* ff23 10.w 2.w */	int DOS_C_CLS_AL __P((void));
    336  1.1     itohy /* ff23 11.w 0.w */	int DOS_C_ERA_ED __P((void));
    337  1.1     itohy /* ff23 11.w 1.w */	int DOS_C_ERA_ST __P((void));
    338  1.1     itohy /* ff23 11.w 2.w */	int DOS_C_ERA_AL __P((void));
    339  1.1     itohy /* ff23 12.w w */	int DOS_C_INS __P((int));
    340  1.1     itohy /* ff23 13.w w */	int DOS_C_DEL __P((int));
    341  1.1     itohy /* ff23 14.w w */	int DOS_C_FNKMOD __P((int));
    342  1.1     itohy /* ff23 15.w w w */	int DOS_C_WINDOW __P((int, int));
    343  1.1     itohy /* ff23 16.w w */	int DOS_C_WIDTH __P((int));
    344  1.1     itohy /* ff23 17.w */		int DOS_C_CURON __P((void));
    345  1.1     itohy /* ff23 18.w */		int DOS_C_CUROFF __P((void));
    346  1.1     itohy /* ff24 0.w */		int DOS_K_KEYINP __P((void));
    347  1.1     itohy /* ff24 1.w */		int DOS_K_KEYSNS __P((void));
    348  1.1     itohy /* ff24 2.w */		int DOS_K_SFTSNS __P((void));
    349  1.1     itohy /* ff24 3.w w */	int DOS_K_KEYBIT __P((int));
    350  1.1     itohy /* ff24 4.w w */	void DOS_K_INSMOD __P((int));
    351  1.1     itohy /* ff25 w l */		void *DOS_INTVCS __P((int, void *));
    352  1.1     itohy /* ff26 l */		void DOS_PSPSET __P((struct dos_psp *));
    353  1.1     itohy /* ff27 */		int DOS_GETTIM2 __P((void));
    354  1.1     itohy /* ff28 l ; e */	int DOS_SETTIM2 __P((int));
    355  1.1     itohy /* ff29 l l ; e */	int DOS_NAMESTS __P((const char *, struct dos_namestbuf *));
    356  1.1     itohy /* ff2a */		int DOS_GETDATE __P((void));
    357  1.1     itohy /* ff2b w ; e */	int DOS_SETDATE __P((int));
    358  1.1     itohy /* ff2c */		int DOS_GETTIME __P((void));
    359  1.1     itohy /* ff2d w ; e */	int DOS_SETTIME __P((int));
    360  1.1     itohy /* ff2e w */		void DOS_VERIFY __P((int));
    361  1.1     itohy /* ff2f w w ; e */	int DOS_DUP0 __P((int, int));
    362  1.3     itohy /* ff30 */		int __pure DOS_VERNUM __P((void));
    363  1.1     itohy /* ff31 l w ; noret */	__dead void DOS_KEEPPR __P((int, int)) __attribute__((__noreturn__));
    364  1.1     itohy /* ff32 w l ; e */	int DOS_GETDPB __P((int, struct dos_dpbptr *));
    365  1.1     itohy /* ff33 w */		int DOS_BREAKCK __P((int));
    366  1.1     itohy /* ff34 w w ; e */	void DOS_DRVXCHG __P((int, int));
    367  1.1     itohy /* ff35 w */		void *DOS_INTVCG __P((int));
    368  1.1     itohy /* ff36 w l ; estrct */	int DOS_DSKFRE __P((int, struct dos_freeinf *));
    369  1.1     itohy /* ff37 l l ; e */	int DOS_NAMECK __P((const char *, struct dos_nameckbuf *));
    370  1.1     itohy /* ff39 l ; e */	int DOS_MKDIR __P((const char *));
    371  1.1     itohy /* ff3a l ; e */	int DOS_RMDIR __P((const char *));
    372  1.1     itohy /* ff3b l ; e */	int DOS_CHDIR __P((const char *));
    373  1.1     itohy /* ff3c l w ; e */	int DOS_CREATE __P((const char *, dos_mode_t));
    374  1.1     itohy /* ff3d l w ; e */	int DOS_OPEN __P((const char *, int));
    375  1.1     itohy /* ff3e w ; e */	int DOS_CLOSE __P((int));
    376  1.1     itohy /* ff3f w l l ; e */	int DOS_READ __P((int, char *, int));
    377  1.1     itohy /* ff40 w l l ; e */	int DOS_WRITE __P((int, const char *, int));
    378  1.1     itohy /* ff41 l ; e */	int DOS_DELETE __P((const char *));
    379  1.1     itohy /* ff42 w l w ; e */	long DOS_SEEK __P((int, int, int));
    380  1.1     itohy /* ff43 l w ; e */	dos_mode_t DOS_CHMOD __P((const char *, dos_mode_t));
    381  1.1     itohy /* ff44 0.w w ; e */	int DOS_IOCTRLGT __P((int));
    382  1.1     itohy /* ff44 1.w w w ; e */	int DOS_IOCTRLST __P((int, int));
    383  1.1     itohy /* ff44 2.w w l l ; e */	int DOS_IOCTRLRH __P((int, char *, int));
    384  1.1     itohy /* ff44 3.w w l l ; e */	int DOS_IOCTRLWH __P((int, const char *, int));
    385  1.1     itohy /* ff44 4.w w l l ; e */	int DOS_IOCTRLRD __P((int, char *, int));
    386  1.1     itohy /* ff44 5.w w l l ; e */	int DOS_IOCTRLWD __P((int, const char *, int));
    387  1.1     itohy /* ff44 6.w w ; e */	int DOS_IOCTRLIS __P((int));
    388  1.1     itohy /* ff44 7.w w ; e */	int DOS_IOCTRLOS __P((int));
    389  1.1     itohy /* ff44 9.w w ; e */	int DOS_IOCTRLDVGT __P((int));
    390  1.1     itohy /* ff44 10.w w ; e */	int DOS_IOCTRLFDGT __P((int));
    391  1.1     itohy /* ff44 11.w w w ; e */	int DOS_IOCTRLRTSET __P((int, int));
    392  1.1     itohy /* ff44 12.w w w l ; e */	int DOS_IOCTRLDVCTL __P((int, int, char *));
    393  1.1     itohy /* ff44 13.w w w l ; e */	int DOS_IOCTRLFDCTL __P((int, int, char *));
    394  1.1     itohy /* ff45 w ; e */	int DOS_DUP __P((int));
    395  1.1     itohy /* ff46 w w ; e */	int DOS_DUP2 __P((int, int));
    396  1.1     itohy /* ff47 w l ; e */	int DOS_CURDIR __P((int, char *));
    397  1.1     itohy /* ff48 l ; ealloc */	void *DOS_MALLOC __P((int));
    398  1.1     itohy /* ff49 l ; e */	int DOS_MFREE __P((void *));
    399  1.1     itohy /* ff4a l l ; ealloc */	int DOS_SETBLOCK __P((void *, int));
    400  1.1     itohy /* ff4b 0.w l l l ; sv e */	int DOS_LOADEXEC __P((const char *, const struct dos_comline *, const char *));
    401  1.1     itohy /* ff4b 1.w l l l ; sv e */	int DOS_LOAD __P((const char *, const struct dos_comline *, const char *));
    402  1.1     itohy /* ff4b 2.w l l l ; e */	int DOS_PATHCHK __P((const char *, const struct dos_comline *, const char *));
    403  1.1     itohy /* ff4b 3.w l l l ; e */	int DOS_LOADONLY __P((const char *, const void *, const void *));
    404  1.1     itohy /* ff4b 4.w l ; sv e */		int DOS_EXECONLY __P((void *));
    405  1.1     itohy /* ff4b 5.w l l 0.l ; sv e */	int DOS_BINDNO __P((const char *, const char *));
    406  1.1     itohy 		/*^ 0.l is required?? */
    407  1.1     itohy /* ff4b w l l l ; sv e */	int DOS_EXEC2 __P((int, const char *, const char *, const char *));
    408  1.1     itohy /* ff4c w ; noret */	__dead void DOS_EXIT2 __P((int)) __attribute__((__noreturn__));
    409  1.1     itohy /* ff4d */		int DOS_WAIT __P((void));
    410  1.1     itohy /* ff4e l l w ; e */	int DOS_FILES __P((struct dos_filbuf *, const char *, int));
    411  1.1     itohy /* ff4e lb31 l w ; e */	int DOS_EXFILES __P((struct dos_exfilbuf *, const char *, int));
    412  1.1     itohy /* ff4f l ; e */	int DOS_NFILES __P((struct dos_filbuf *));
    413  1.1     itohy /* ff4f lb31 ; e */	int DOS_EXNFILES __P((struct dos_exfilbuf *));
    414  1.1     itohy /* ff80 l */		struct dos_psp *DOS_SETPDB __P((struct dos_psp *));
    415  1.1     itohy /* ff81 */		struct dos_psp *DOS_GETPDB __P((void));
    416  1.1     itohy /* ff82 l l l ; e */	int DOS_SETENV __P((const char *, const char *, const char *));
    417  1.1     itohy /* ff83 l l l ; e */	int DOS_GETENV __P((const char *, const char *, char *));
    418  1.1     itohy /* ff84 */		int DOS_VERIFYG __P((void));
    419  1.1     itohy /* ff85 0.w l ; e */		int DOS_COMMON_CK __P((const char *));
    420  1.1     itohy /* ff85 1.w l l l l ; e */	int DOS_COMMON_RD __P((const char *, int, char *, int));
    421  1.1     itohy /* ff85 2.w l l l l ; e */	int DOS_COMMON_WT __P((const char *, int, const char *, int));
    422  1.1     itohy /* ff85 3.w l l l l ; e */	int DOS_COMMON_LK __P((const char *, int, int, int));
    423  1.1     itohy /* ff85 4.w l l l l ; e */	int DOS_COMMON_FRE __P((const char *, int, int, int));
    424  1.1     itohy /* ff85 5.w l ; e */		int DOS_COMMON_DEL __P((const char *));
    425  1.1     itohy /* ff86 l l ; e */	int DOS_MOVE __P((const char *, const char *));
    426  1.1     itohy 			int DOS_RENAME __P((const char *, const char *));
    427  1.1     itohy /* ff87 w l ; estrct */	int DOS_FILEDATE __P((int, int));
    428  1.1     itohy /* ff88 w l ; ealloc */	void *DOS_MALLOC2 __P((int, int));
    429  1.1     itohy /* ff88 wb15 l l ; ealloc */	void *DOS_MALLOC0 __P((int, int, int));
    430  1.1     itohy /* ff8a l w ; e */	int DOS_MAKETMP __P((const char *, int));
    431  1.1     itohy /* ff8b l w ; e */	int DOS_NEWFILE __P((const char *, dos_mode_t));
    432  1.1     itohy /* ff8c 0.w w l l ; e */	int DOS_LOCK __P((int, int, int));
    433  1.1     itohy /* ff8c 1.w w l l ; e */	int DOS_UNLOCK __P((int, int, int));
    434  1.1     itohy /* ff8f 0.w l l ; e */	int DOS_GETASSIGN __P((const char *, char *));
    435  1.1     itohy /* ff8f 1.w l l w ; e */	int DOS_MAKEASSIGN __P((const char *, const char *, int));
    436  1.1     itohy /* ff8f 4.w l ; e */	int DOS_RASSIGN __P((const char *));
    437  1.1     itohy /* ffaa w */		int DOS_FFLUSH_SET __P((int));
    438  1.1     itohy /* ffab w l ; e */	void *DOS_OS_PATCH __P((unsigned int, void *));
    439  1.1     itohy /* ffac w ; e */	union dos_fcb *DOS_GET_FCB_ADR __P((unsigned int));
    440  1.1     itohy /* ffad w l ; ealloc */	void *DOS_S_MALLOC __P((int, int));
    441  1.1     itohy /* ffad wb15 l l ; ealloc */	void *DOS_S_MALLOC0 __P((int, int));
    442  1.1     itohy /* ffae l ; e */	int DOS_S_MFREE __P((void *));
    443  1.1     itohy /* ffaf w l l l ; ep */	int DOS_S_PROCESS __P((int, int, int, int));
    444  1.1     itohy /* fff0 ; alias DOS_EXITVC noret */	__dead void DOS_RETSHELL __P((void)) __attribute__((__noreturn__));
    445  1.1     itohy 			__dead void DOS_EXITVC __P((void)) __attribute__((__noreturn__));
    446  1.1     itohy /* fff1 ; noret */	__dead void DOS_CTLABORT __P((void)) __attribute__((__noreturn__));
    447  1.1     itohy /* fff2 ; noret */	__dead void DOS_ERRABORT __P((void)) __attribute__((__noreturn__));
    448  1.1     itohy /* fff3 l w w w */	void DOS_DISKRED __P((void *, int, int, int));
    449  1.1     itohy /* fff3 lb31 w l l */	void DOS_DISKRED2 __P((void *, int, int, int));
    450  1.1     itohy /* fff4 l w w w */	void DOS_DISKWRT __P((const void *, int, int, int));
    451  1.1     itohy /* fff4 lb31 w l l */	void DOS_DISKWRT2 __P((const void *, int, int, int));
    452  1.1     itohy /* fff5 */		struct dos_indos *DOS_INDOSFLG __P((void));
    453  1.1     itohy /* fff6 l ; super_jsr sv */	void DOS_SUPER_JSR __P((void (*) __P((void)), struct dos_dregs *, struct dos_dregs *));
    454  1.1     itohy /* fff7 l l w ; alias DOS_BUS_ERR e */	int DOS_MEMCPY __P((void *, void *, int));
    455  1.1     itohy 			int DOS_BUS_ERR __P((void *, void *, int));
    456  1.1     itohy /* fff8 l w l l w l l l ; e */	int DOS_OPEN_PR __P((const char *, int, int, int, int, int, struct dos_prcctrl *, long));
    457  1.1     itohy /* fff9 ; e */		int DOS_KILL_PR __P((void));
    458  1.1     itohy /* fffa w l ; e */	int DOS_GET_PR __P((int, struct dos_prcptr *));
    459  1.1     itohy /* fffb w ; ep */	int DOS_SUSPEND_PR __P((int));
    460  1.1     itohy /* fffc l */		int DOS_SLEEP_PR __P((long));
    461  1.1     itohy /* fffd w w w l l ; ep */	int DOS_SEND_PR __P((int, int, int, char *, long));
    462  1.1     itohy /* fffe */		long DOS_TIME_PR __P((void));
    463  1.1     itohy /* ffff */		void DOS_CHANGE_PR __P((void));
    464  1.1     itohy 
    465  1.1     itohy #endif /* __X68K_DOS_H__ */
    466