[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Int 2F Fn 43E0 - Novell DOS Protected Mode Services (dpms) - Installatio [E]
AX = 43E0h
Return: AX = 0000h if installed
ES:BX -> registration structure (see below)
Note: this specification is still in beta
See Also: INT 2F/AX=1687h
Format of registration structure:
Offset Size Description
00h DWORD real-mode API entry point
04h DWORD 16-bit protected-mode API entry point
08h 8 BYTEs reserved (0)
10h 8 BYTEs blank-padded server OEM name
18h WORD flags
bit 0: fast processor reset available (286 only)
bits 1-15 reserved (undefined)
1Ah 2 BYTEs DPMS version (major,minor)
1Ch BYTE CPU type (02h = 286, 03h = 386 or higher)
Call DPMS entry point with:
AX = 0100h call protected-mode procedure
CX = number of words of stack to copy
ES:DI -> callup/down register structure (see below)
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0101h call real-mode procedure (RETF return)
CX = number of words of stack to copy
ES:DI -> callup/down register structure (see below)
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0102h call real-mode procedure (IRET return)
CX = number of words of stack to copy
ES:DI -> callup/down register structure (see below)
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0103h call real-mode interrupt handler
BL = interrupt number
CX = number of words of stack to copy
ES:DI -> callup/down register structure (see below)
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0200h allocate descriptors
CX = number of descriptors to allocate
Return: CF clear if successful
AX = first descriptor allocated
CF set on error
AX = error code (see below)
AX = 0201h free a descriptor
BX = descriptor
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0202h create alias descriptor
BX = descriptor
Return: CF clear if successful
AX = alias descriptor
CF set on error
AX = error code (see below)
AX = 0203h build alias to real-mode segment
BX = descriptor
CX = real-mode segment
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0204h set descriptor base
BX = descriptor
CX:DX = base address
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0205h set descriptor limit
BX = descriptor
CX = limit
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0206h set descriptor type/attribute
BX = descriptor
CL = type
CH = attribute
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0207h get descriptor base
BX = descriptor
Return: CF clear if successful
CX:DX = base address
CF set on error
AX = error code (see below)
AX = 0300h get size of largest free block of memory
Return: CF clear if successful
BX:CX = size
CF set on error
AX = error code (see below)
AX = 0301h allocate block of extended memory
BX:CX = size
Return: CF clear if successful
BX:CX = base address
SI:DI = handle
CF set on error
AX = error code (see below)
AX = 0302h free block of extended memory
SI:DI = handle
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0303h map linear memory
ES:[DI] = DDS
Return: CF clear if successful
BX:CX = base address
SI:DI = handle
CF set on error
AX = error code (see below)
AX = 0304h unmap linear memory
SI:DI = handle
Return: CF clear if successful
CF set on error
AX = error code (see below)
AX = 0400h relocate segment to extended memory
ES:SI = base address
CX = limit
BL = type
BH = attribute
DX = selector or 0000h
Return: CF clear if successful
AX = selector
BX:CX = new base address
SI:DI = handle
CF set on error
AX = error code (see below)
Values for error code:
8000h general error
8001h unsupported function
8011h descriptor unavailable
8012h linear memory unavailable
8013h physical memory unavailable
8021h invalid value
8022h invalid selector
8023h invalid handle
Format of callup/down register structure:
Offset Size Description
00h DWORD EDI
04h DWORD ESI
08h DWORD EBP
0Ch 4 BYTEs reserved (0)
10h DWORD EBX
14h DWORD EDX
18h DWORD ECX
20h DWORD EAX
24h DWORD EIP
28h WORD CS
2Ah 2 BYTEs reserved (0)
2Ch DWORD EFLAGS
30h DWORD ESP
34h WORD SS
36h 2 BYTEs reserved (0)
38h WORD ES
3Ah 2 BYTEs reserved (0)
3Ch WORD DS
3Eh 2 BYTEs reserved (0)
40h WORD FS
42h 2 BYTEs reserved (0)
44h WORD GS
46h 2 BYTEs reserved (0)
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson