14 #define EMS_VERSION_NUM 0x40 15 #define EMS_INTERRUPT_NUM 0x67 16 #define EMS_SEGMENT 0xD000 // Default segment 18 #define EMS_MAX_HANDLES 255 19 #define EMS_PAGE_BITS 14 20 #define EMS_PAGE_SIZE (1 << EMS_PAGE_BITS) 21 #define EMS_PHYSICAL_PAGES 4 24 #define EMS_TOTAL_PAGES 1024 26 #define EMS_STATUS_SUCCESS 0x00 27 #define EMS_STATUS_INTERNAL_ERROR 0x80 28 #define EMS_STATUS_INVALID_HANDLE 0x83 29 #define EMS_STATUS_UNKNOWN_FUNCTION 0x84 30 #define EMS_STATUS_NO_MORE_HANDLES 0x85 31 #define EMS_STATUS_INSUFFICIENT_PAGES 0x88 32 #define EMS_STATUS_ZERO_PAGES 0x89 33 #define EMS_STATUS_INV_LOGICAL_PAGE 0x8A 34 #define EMS_STATUS_INV_PHYSICAL_PAGE 0x8B 35 #define EMS_STATUS_INVALID_SUBFUNCTION 0x8F 36 #define EMS_STATUS_HANDLE_NOT_FOUND 0xA0 37 #define EMS_STATUS_UNNAMED_HANDLE 0xA1 38 #define EMS_STATUS_HANDLE_ALREADY_EXISTS 0xA1
struct _EMS_MAPPABLE_PHYS_PAGE * PEMS_MAPPABLE_PHYS_PAGE
struct _EMS_HANDLE * PEMS_HANDLE
struct _EMS_HANDLE_DIR_ENTRY EMS_HANDLE_DIR_ENTRY
struct _EMS_HANDLE EMS_HANDLE
struct _EMS_PAGE * PEMS_PAGE
struct _EMS_MAPPABLE_PHYS_PAGE EMS_MAPPABLE_PHYS_PAGE
BOOLEAN EmsDrvInitialize(USHORT Segment, ULONG TotalPages)
struct _EMS_HANDLE_DIR_ENTRY * PEMS_HANDLE_DIR_ENTRY
struct _EMS_HANDLE_PAGE_INFO EMS_HANDLE_PAGE_INFO
struct _EMS_HANDLE_PAGE_INFO * PEMS_HANDLE_PAGE_INFO
struct _EMS_COPY_DATA * PEMS_COPY_DATA
struct _EMS_COPY_DATA EMS_COPY_DATA
struct _EMS_HARDWARE_INFO EMS_HARDWARE_INFO
struct _EMS_HARDWARE_INFO * PEMS_HARDWARE_INFO
struct _EMS_PAGE EMS_PAGE