Home | History | Annotate | Line # | Download | only in libdos
dos.h revision 1.7.4.1
      1      1.1  itohy /*
      2      1.1  itohy  *	dos.h
      3      1.1  itohy  *	Human68k DOS call interface
      4      1.1  itohy  *
      5  1.7.4.1  rmind  *	written by 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.7.4.1  rmind  *	$NetBSD: dos.h,v 1.7.4.1 2011/03/05 20:52:25 rmind 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.7     he /* ff00 ; noret */	__dead void DOS_EXIT (void);
    276      1.7     he /* ff01 */		int DOS_GETCHAR (void);
    277      1.7     he /* ff02 w */		void DOS_PUTCHAR (int);
    278      1.7     he /* ff03 */		int DOS_COMINP (void);
    279      1.7     he /* ff04 w */		void DOS_COMOUT (int);
    280      1.7     he /* ff05 w */		void DOS_PRNOUT (int);
    281      1.7     he /* ff06 w */		int DOS_INPOUT (int);
    282      1.7     he /* ff07 */		int DOS_INKEY (void);
    283      1.7     he /* ff08 */		int DOS_GETC (void);
    284      1.7     he /* ff09 l */		void DOS_PRINT (const char *);
    285      1.7     he /* ff0a l */		int DOS_GETS (struct dos_inpptr *);
    286      1.7     he /* ff0b */		int DOS_KEYSNS (void);
    287      1.7     he /* ff0c 1.w */		int DOS_KFLUSHGP (void);
    288      1.7     he /* ff0c 6.w w */	int DOS_KFLUSHIO (int);
    289      1.7     he /* ff0c 7.w */		int DOS_KFLUSHIN (void);
    290      1.7     he /* ff0c 8.w */		int DOS_KFLUSHGC (void);
    291      1.7     he /* ff0c 10.w l */	int DOS_KFLUSHGS (struct dos_inpptr *);
    292      1.7     he /* ff0d */		void DOS_FFLUSH (void);
    293      1.7     he /* ff0e w */		int DOS_CHGDRV (int);
    294      1.7     he /* ff0f drvctrl */	int DOS_DRVCTRL (int, int);
    295      1.7     he /* ff10 */		int DOS_CONSNS (void);
    296      1.7     he /* ff11 */		int DOS_PRNSNS (void);
    297      1.7     he /* ff12 */		int DOS_CINSNS (void);
    298      1.7     he /* ff13 */		int DOS_COUTSNS (void);
    299      1.7     he /* ff17 l l ; e */	int DOS_FATCHK (const char *, unsigned short *);
    300      1.7     he /* ff17 l lb31 w ; e */	int DOS_FATCHK2 (const char *, unsigned short *, int);
    301      1.7     he /* ff18 0.w */		int DOS_HENDSPMO (void);
    302      1.7     he /* ff18 1.w w l */	int DOS_HENDSPMP (int, const char *);
    303      1.7     he /* ff18 2.w w l */	int DOS_HENDSPMR (int, const char *);
    304      1.7     he /* ff18 3.w */		void DOS_HENDSPMC (void);
    305      1.7     he /* ff18 4.w */		int DOS_HENDSPIO (void);
    306      1.7     he /* ff18 5.w w l */	int DOS_HENDSPIP (int, const char *);
    307      1.7     he /* ff18 6.w w l */	int DOS_HENDSPIR (int, const char *);
    308      1.7     he /* ff18 7.w w */	void DOS_HENDSPIC (int);
    309      1.7     he /* ff18 8.w */		int DOS_HENDSPSO (void);
    310      1.7     he /* ff18 9.w w l */	int DOS_HENDSPSP (int, const char *);
    311      1.7     he /* ff18 10.w w l */	int DOS_HENDSPSR (int, const char *);
    312      1.7     he /* ff18 11.w */		void DOS_HENDSPSC (void);
    313      1.7     he /* ff19 */		int DOS_CURDRV (void);
    314      1.7     he /* ff1a l */		int DOS_GETSS (struct dos_inpptr *);
    315      1.7     he /* ff1b w */		int DOS_FGETC (int);
    316      1.7     he /* ff1c l w */		int DOS_FGETS (struct dos_inpptr *, int);
    317      1.7     he /* ff1d w w */		void DOS_FPUTC (int, int);
    318      1.7     he /* ff1e l w */		void DOS_FPUTS (const char *, int);
    319      1.7     he /* ff1f */		void DOS_ALLCLOSE (void);
    320      1.7     he /* ff20 super ; super e */	int DOS_SUPER (int);
    321      1.7     he /* ff21 w l ; e */	void DOS_FNCKEYGT (int, char *);
    322      1.7     he /* ff21 wb8 l ; e */	void DOS_FNCKEYST (int, const char *);
    323      1.7     he /* ff23 0.w w */	int DOS_C_PUTC (int);
    324      1.7     he /* ff23 1.w l */	int DOS_C_PRINT (const char *);
    325      1.7     he /* ff23 2.w w */	int DOS_C_COLOR (int);
    326      1.7     he /* ff23 3.w w w */	int DOS_C_LOCATE (int, int);
    327      1.7     he /* ff23 4.w */		int DOS_C_DOWN_S (void);
    328      1.7     he /* ff23 5.w */		int DOS_C_UP_S (void);
    329      1.7     he /* ff23 6.w w */	int DOS_C_UP (int);
    330      1.7     he /* ff23 7.w w */	int DOS_C_DOWN (int);
    331      1.7     he /* ff23 8.w w */	int DOS_C_RIGHT (int);
    332      1.7     he /* ff23 9.w w */	int DOS_C_LEFT (int);
    333      1.7     he /* ff23 10.w 0.w */	int DOS_C_CLS_ED (void);
    334      1.7     he /* ff23 10.w 1.w */	int DOS_C_CLS_ST (void);
    335      1.7     he /* ff23 10.w 2.w */	int DOS_C_CLS_AL (void);
    336      1.7     he /* ff23 11.w 0.w */	int DOS_C_ERA_ED (void);
    337      1.7     he /* ff23 11.w 1.w */	int DOS_C_ERA_ST (void);
    338      1.7     he /* ff23 11.w 2.w */	int DOS_C_ERA_AL (void);
    339      1.7     he /* ff23 12.w w */	int DOS_C_INS (int);
    340      1.7     he /* ff23 13.w w */	int DOS_C_DEL (int);
    341      1.7     he /* ff23 14.w w */	int DOS_C_FNKMOD (int);
    342      1.7     he /* ff23 15.w w w */	int DOS_C_WINDOW (int, int);
    343      1.7     he /* ff23 16.w w */	int DOS_C_WIDTH (int);
    344      1.7     he /* ff23 17.w */		int DOS_C_CURON (void);
    345      1.7     he /* ff23 18.w */		int DOS_C_CUROFF (void);
    346      1.7     he /* ff24 0.w */		int DOS_K_KEYINP (void);
    347      1.7     he /* ff24 1.w */		int DOS_K_KEYSNS (void);
    348      1.7     he /* ff24 2.w */		int DOS_K_SFTSNS (void);
    349      1.7     he /* ff24 3.w w */	int DOS_K_KEYBIT (int);
    350      1.7     he /* ff24 4.w w */	void DOS_K_INSMOD (int);
    351      1.7     he /* ff25 w l */		void *DOS_INTVCS (int, void *);
    352      1.7     he /* ff26 l */		void DOS_PSPSET (struct dos_psp *);
    353      1.7     he /* ff27 */		int DOS_GETTIM2 (void);
    354      1.7     he /* ff28 l ; e */	int DOS_SETTIM2 (int);
    355      1.7     he /* ff29 l l ; e */	int DOS_NAMESTS (const char *, struct dos_namestbuf *);
    356      1.7     he /* ff2a */		int DOS_GETDATE (void);
    357      1.7     he /* ff2b w ; e */	int DOS_SETDATE (int);
    358      1.7     he /* ff2c */		int DOS_GETTIME (void);
    359      1.7     he /* ff2d w ; e */	int DOS_SETTIME (int);
    360      1.7     he /* ff2e w */		void DOS_VERIFY (int);
    361      1.7     he /* ff2f w w ; e */	int DOS_DUP0 (int, int);
    362      1.7     he /* ff30 */		int __pure DOS_VERNUM (void);
    363      1.7     he /* ff31 l w ; noret */	__dead void DOS_KEEPPR (int, int);
    364      1.7     he /* ff32 w l ; e */	int DOS_GETDPB (int, struct dos_dpbptr *);
    365      1.7     he /* ff33 w */		int DOS_BREAKCK (int);
    366      1.7     he /* ff34 w w ; e */	void DOS_DRVXCHG (int, int);
    367      1.7     he /* ff35 w */		void *DOS_INTVCG (int);
    368      1.7     he /* ff36 w l ; estrct */	int DOS_DSKFRE (int, struct dos_freeinf *);
    369      1.7     he /* ff37 l l ; e */	int DOS_NAMECK (const char *, struct dos_nameckbuf *);
    370      1.7     he /* ff39 l ; e */	int DOS_MKDIR (const char *);
    371      1.7     he /* ff3a l ; e */	int DOS_RMDIR (const char *);
    372      1.7     he /* ff3b l ; e */	int DOS_CHDIR (const char *);
    373      1.7     he /* ff3c l w ; e */	int DOS_CREATE (const char *, dos_mode_t);
    374      1.7     he /* ff3d l w ; e */	int DOS_OPEN (const char *, int);
    375      1.7     he /* ff3e w ; e */	int DOS_CLOSE (int);
    376      1.7     he /* ff3f w l l ; e */	int DOS_READ (int, char *, int);
    377      1.7     he /* ff40 w l l ; e */	int DOS_WRITE (int, const char *, int);
    378      1.7     he /* ff41 l ; e */	int DOS_DELETE (const char *);
    379      1.7     he /* ff42 w l w ; e */	long DOS_SEEK (int, int, int);
    380      1.7     he /* ff43 l w ; e */	dos_mode_t DOS_CHMOD (const char *, dos_mode_t);
    381      1.7     he /* ff44 0.w w ; e */	int DOS_IOCTRLGT (int);
    382      1.7     he /* ff44 1.w w w ; e */	int DOS_IOCTRLST (int, int);
    383      1.7     he /* ff44 2.w w l l ; e */	int DOS_IOCTRLRH (int, char *, int);
    384      1.7     he /* ff44 3.w w l l ; e */	int DOS_IOCTRLWH (int, const char *, int);
    385      1.7     he /* ff44 4.w w l l ; e */	int DOS_IOCTRLRD (int, char *, int);
    386      1.7     he /* ff44 5.w w l l ; e */	int DOS_IOCTRLWD (int, const char *, int);
    387      1.7     he /* ff44 6.w w ; e */	int DOS_IOCTRLIS (int);
    388      1.7     he /* ff44 7.w w ; e */	int DOS_IOCTRLOS (int);
    389      1.7     he /* ff44 9.w w ; e */	int DOS_IOCTRLDVGT (int);
    390      1.7     he /* ff44 10.w w ; e */	int DOS_IOCTRLFDGT (int);
    391      1.7     he /* ff44 11.w w w ; e */	int DOS_IOCTRLRTSET (int, int);
    392      1.7     he /* ff44 12.w w w l ; e */	int DOS_IOCTRLDVCTL (int, int, char *);
    393      1.7     he /* ff44 13.w w w l ; e */	int DOS_IOCTRLFDCTL (int, int, char *);
    394      1.7     he /* ff45 w ; e */	int DOS_DUP (int);
    395      1.7     he /* ff46 w w ; e */	int DOS_DUP2 (int, int);
    396      1.7     he /* ff47 w l ; e */	int DOS_CURDIR (int, char *);
    397      1.7     he /* ff48 l ; ealloc */	void *DOS_MALLOC (int);
    398      1.7     he /* ff49 l ; e */	int DOS_MFREE (void *);
    399      1.7     he /* ff4a l l ; ealloc */	int DOS_SETBLOCK (void *, int);
    400      1.7     he /* ff4b 0.w l l l ; sv e */	int DOS_LOADEXEC (const char *, const struct dos_comline *, const char *);
    401      1.7     he /* ff4b 1.w l l l ; sv e */	int DOS_LOAD (const char *, const struct dos_comline *, const char *);
    402      1.7     he /* ff4b 2.w l l l ; e */	int DOS_PATHCHK (const char *, const struct dos_comline *, const char *);
    403      1.7     he /* ff4b 3.w l l l ; e */	int DOS_LOADONLY (const char *, const void *, const void *);
    404      1.7     he /* ff4b 4.w l ; sv e */		int DOS_EXECONLY (void *);
    405      1.7     he /* ff4b 5.w l l 0.l ; sv e */	int DOS_BINDNO (const char *, const char *);
    406      1.1  itohy 		/*^ 0.l is required?? */
    407      1.7     he /* ff4b w l l l ; sv e */	int DOS_EXEC2 (int, const char *, const char *, const char *);
    408      1.7     he /* ff4c w ; noret */	__dead void DOS_EXIT2 (int);
    409      1.7     he /* ff4d */		int DOS_WAIT (void);
    410      1.7     he /* ff4e l l w ; e */	int DOS_FILES (struct dos_filbuf *, const char *, int);
    411      1.7     he /* ff4e lb31 l w ; e */	int DOS_EXFILES (struct dos_exfilbuf *, const char *, int);
    412      1.7     he /* ff4f l ; e */	int DOS_NFILES (struct dos_filbuf *);
    413      1.7     he /* ff4f lb31 ; e */	int DOS_EXNFILES (struct dos_exfilbuf *);
    414      1.7     he /* ff80 l */		struct dos_psp *DOS_SETPDB (struct dos_psp *);
    415      1.7     he /* ff81 */		struct dos_psp *DOS_GETPDB (void);
    416      1.7     he /* ff82 l l l ; e */	int DOS_SETENV (const char *, const char *, const char *);
    417      1.7     he /* ff83 l l l ; e */	int DOS_GETENV (const char *, const char *, char *);
    418      1.7     he /* ff84 */		int DOS_VERIFYG (void);
    419      1.7     he /* ff85 0.w l ; e */		int DOS_COMMON_CK (const char *);
    420      1.7     he /* ff85 1.w l l l l ; e */	int DOS_COMMON_RD (const char *, int, char *, int);
    421      1.7     he /* ff85 2.w l l l l ; e */	int DOS_COMMON_WT (const char *, int, const char *, int);
    422      1.7     he /* ff85 3.w l l l l ; e */	int DOS_COMMON_LK (const char *, int, int, int);
    423      1.7     he /* ff85 4.w l l l l ; e */	int DOS_COMMON_FRE (const char *, int, int, int);
    424      1.7     he /* ff85 5.w l ; e */		int DOS_COMMON_DEL (const char *);
    425      1.7     he /* ff86 l l ; e */	int DOS_MOVE (const char *, const char *);
    426      1.7     he 			int DOS_RENAME (const char *, const char *);
    427      1.7     he /* ff87 w l ; estrct */	int DOS_FILEDATE (int, int);
    428      1.7     he /* ff88 w l ; ealloc */	void *DOS_MALLOC2 (int, int);
    429      1.7     he /* ff88 wb15 l l ; ealloc */	void *DOS_MALLOC0 (int, int, int);
    430      1.7     he /* ff8a l w ; e */	int DOS_MAKETMP (const char *, int);
    431      1.7     he /* ff8b l w ; e */	int DOS_NEWFILE (const char *, dos_mode_t);
    432      1.7     he /* ff8c 0.w w l l ; e */	int DOS_LOCK (int, int, int);
    433      1.7     he /* ff8c 1.w w l l ; e */	int DOS_UNLOCK (int, int, int);
    434      1.7     he /* ff8f 0.w l l ; e */	int DOS_GETASSIGN (const char *, char *);
    435      1.7     he /* ff8f 1.w l l w ; e */	int DOS_MAKEASSIGN (const char *, const char *, int);
    436      1.7     he /* ff8f 4.w l ; e */	int DOS_RASSIGN (const char *);
    437      1.7     he /* ffaa w */		int DOS_FFLUSH_SET (int);
    438      1.7     he /* ffab w l ; e */	void *DOS_OS_PATCH (unsigned int, void *);
    439      1.7     he /* ffac w ; e */	union dos_fcb *DOS_GET_FCB_ADR (unsigned int);
    440      1.7     he /* ffad w l ; ealloc */	void *DOS_S_MALLOC (int, int);
    441      1.7     he /* ffad wb15 l l ; ealloc */	void *DOS_S_MALLOC0 (int, int);
    442      1.7     he /* ffae l ; e */	int DOS_S_MFREE (void *);
    443      1.7     he /* ffaf w l l l ; ep */	int DOS_S_PROCESS (int, int, int, int);
    444      1.7     he /* fff0 ; alias DOS_EXITVC noret */	__dead void DOS_RETSHELL (void);
    445      1.7     he 			__dead void DOS_EXITVC (void);
    446      1.7     he /* fff1 ; noret */	__dead void DOS_CTLABORT (void);
    447      1.7     he /* fff2 ; noret */	__dead void DOS_ERRABORT (void);
    448      1.7     he /* fff3 l w w w */	void DOS_DISKRED (void *, int, int, int);
    449      1.7     he /* fff3 lb31 w l l */	void DOS_DISKRED2 (void *, int, int, int);
    450      1.7     he /* fff4 l w w w */	void DOS_DISKWRT (const void *, int, int, int);
    451      1.7     he /* fff4 lb31 w l l */	void DOS_DISKWRT2 (const void *, int, int, int);
    452      1.7     he /* fff5 */		struct dos_indos *DOS_INDOSFLG (void);
    453      1.7     he /* fff6 l ; super_jsr sv */	void DOS_SUPER_JSR (void (*)(void), struct dos_dregs *, struct dos_dregs *);
    454      1.7     he /* fff7 l l w ; alias DOS_BUS_ERR e */	int DOS_MEMCPY (void *, void *, int);
    455      1.7     he 			int DOS_BUS_ERR (void *, void *, int);
    456      1.7     he /* fff8 l w l l w l l l ; e */	int DOS_OPEN_PR (const char *, int, int, int, int, int, struct dos_prcctrl *, long);
    457      1.7     he /* fff9 ; e */		int DOS_KILL_PR (void);
    458      1.7     he /* fffa w l ; e */	int DOS_GET_PR (int, struct dos_prcptr *);
    459      1.7     he /* fffb w ; ep */	int DOS_SUSPEND_PR (int);
    460      1.7     he /* fffc l */		int DOS_SLEEP_PR (long);
    461      1.7     he /* fffd w w w l l ; ep */	int DOS_SEND_PR (int, int, int, char *, long);
    462      1.7     he /* fffe */		long DOS_TIME_PR (void);
    463      1.7     he /* ffff */		void DOS_CHANGE_PR (void);
    464      1.1  itohy 
    465      1.1  itohy #endif /* __X68K_DOS_H__ */
    466