/* BHole header for EMS */
/* NOTICE: some of the EMS/EMM stuff are in bhole.c in _redirected_addr 
 *         and in some file handling routines (the emmxxxx0 device)
 *         (possibly in other places as well?)
 */

#ifndef _BHOLE_H_EMS
#define _BHOLE_H_EMS

#define MAX_EMM_HANDLES 0xFF
#define EMM_LPAGE_SIZE 0x4000
#define EMM_PAGEFRAME_BASESEG 0xD000
#define MAX_EMM_MAPPINGS 9

extern int emm_dev_handle;

typedef struct
{
	int lpage;
	int handle;
} emm_mapping;

typedef struct
{
	int size; /* size in bytes (0 means no handle) */
	char name[9]; /* name of handle */
	unsigned char *data;
} emm_handle;


extern emm_handle  ehandles[MAX_EMM_HANDLES];
extern emm_mapping emappings[MAX_EMM_MAPPINGS];

int do_int67();
#endif
