Int 31 Fn 0303 P - Dpmi 0.9+ - Allocate Real Mode Callback Address [E]

AX = 0303h
DS:(E)SI = selector:offset of procedure to call
ES:(E)DI = selector:offset of real mode call structure (see #2819)

Return: CF clear if successful
CX:DX = segment:offset of real mode call address (see #2820)
CF set on error
AX = error code (DPMI 1.0+) (8015h) (see #2814)

Notes: the real mode call structure is static, causing reentrancy problems;
its contents are only valid at the time of a callback
the called procedure must modify the real mode CS:IP before returning
values are returned to real mode by modifying the real mode call struc
DPMI hosts must provide at least 16 callbacks per client
the limited DPMI host built into Phar Lap's 286|DOS-Extender v2.5 does
not support this function

See Also: AX=0304h,AX=0C00h

(Table 2820)
Values DPMI real-mode callback procedure is called with:
DS:(E)SI = selector:offset of real mode SS:SP
ES:(E)DI = selector:offset of real mode call structure
SS:(E)SP = locked protected mode API stack
interrupts disabled

Return: (with IRET)
ES:(E)DI = selector:offset of real mode call structure to restore