/**
*.Name         ems_page
*.Title        Определение количества страниц EMS
*
*.Descr        Эта функция предназначена для определения
*              общего количества страниц EMS и количества
*              страниц, доступных в настоящее время.
*
*.Proto        int ems_page(unsigned *total, unsigned *free);
*
*.Params       unsigned *total - указатель на переменную,
*                 в которую будет записано общее количество
*                 страниц памяти EMS;
*              unsigned *free - указатель на переменную,
*                 в которую будет записано количество
*                 доступных страниц памяти EMS;
*
*.Return       Сосотояние EMM.
*
*.Sample       ems_test.c
**/

#include <stdio.h>
#include <dos.h>
#include "sysp.h"

int ems_page(unsigned *total, unsigned *free) {

	union REGS reg;

	reg.x.ax = 0x4200;
	int86(0x67, &reg, &reg);
	*total = reg.x.dx;
	*free  = reg.x.bx;

	return(reg.h.ah);
}

