0001h |
get PHARLAP.386 version
Return: |
AH |
= |
major version |
AL |
= |
minor version |
|
---queue functions--- |
0101h |
allocate a new message queue
Data: |
CX |
= |
size of queue data buffer in bytes |
Return: |
DX:AX |
= |
handle for new queue, or 0000h:0000h on
error |
|
0102h |
allocate a new key queue
Data: |
CX |
= |
size of queue data buffer in bytes |
EDX |
= |
VM handle into which keys will be pasted |
Return: |
DX:AX |
= |
handle for new queue, or 0000h:0000h on
error |
|
0103h |
free message queue
Data: |
EDX |
= |
queue handle |
Return: |
AX |
= |
status (0000h,0003h,0007h) (see
#02695) |
|
0104h |
free key queue
Data: |
EDX |
= |
queue handle |
Return: |
AX |
= |
status (0000h,0003h,0005h) (see
#02695) |
|
0105h |
add message to communications queue
Data: |
EDX |
= |
queue handle |
BX |
= |
length of message data in bytes |
CX |
= |
length of message header in bytes |
ES:(E)SI |
|
message header |
GS:(E)DI |
|
message data |
Return: |
AX |
= |
status (0000h-0003h,0007h) (see
#02695) |
|
0106h |
remove message from queue
Data: |
EDX |
= |
queue handle |
CX |
= |
length of buffer in bytes |
ES:(E)SI |
|
buffer for message |
Return: |
AX |
= |
status (0000h,0003h,0006h,0007h,0008h) (see
#02695) |
CX |
= |
length of returned message (if AX=0000h or
0008h) |
|
0107h |
flush queue (remove all data)
Data: |
EDX |
= |
queue handle |
Return: |
AX |
= |
status (0000h,0003h) (see
#02695) |
|
0108h |
add PasteKey structure(s) to key queue
Data: |
EDX |
= |
queue handle |
CX |
= |
number of PasteKey structures in buffer |
ES:(E)SI |
|
PasteKey array (see
#02696) |
Return: |
AX |
= |
status (0000h-0003h) (see
#02695) |
|
0109h |
register enqueueing callback function
Data: |
EDX |
= |
queue handle |
ECX |
= |
function argument |
ES:(E)SI |
|
callback function |
Return: |
AX |
= |
status (0000h,0003h,0009h) (see
#02695) |
|
010Ah |
register dequeueing callback function
Data: |
EDX |
= |
queue handle |
ECX |
= |
function argument |
ES:(E)SI |
|
callback function |
Return: |
AX |
= |
status (0000h,0003h,0009h) (see
#02695) |
|
010Bh |
unregister enqueueing callback function
Data: |
EDX |
= |
queue handle |
Return: |
AX |
= |
status (0000h,0003h,0009h) (see
#02695) |
|
010Ch |
unregister dequeueing callback function
Data: |
EDX |
= |
queue handle |
Return: |
AX |
= |
status (0000h,0003h,0009h) (see
#02695) |
|
010Dh |
get message queue status
Data: |
EDX |
= |
queue handle |
Return: |
AX |
= |
status (0000h,0003h) (see
#02695) |
CX |
= |
number of pending messages |
|
010Eh |
peek at message in queue
Data: |
EDX |
= |
queue handle |
BX |
= |
number of message in queue (0000h = first) |
CX |
= |
size of buffer in bytes |
ES:(E)SI |
|
buffer for message |
Return: |
AX |
= |
status (0000h,0003h,0006h,0008h) (see
#02695) |
CX |
= |
length of returned message (if AX=0000h or
0008h) |
|
010Fh |
peek at last message in queue
Data: |
EDX |
= |
queue handle |
CX |
= |
size of buffer in bytes |
ES:(E)SI |
|
buffer for message |
Return: |
AX |
= |
status (0000h,0003h,0006h,0008h) (see
#02695) |
CX |
= |
length of returned message (if AX=0000h or
0008h) |
|
0110h |
replace last message in queue
Data: |
EDX |
= |
queue handle |
CX |
= |
length of message header in bytes |
BX |
= |
length of message data in bytes |
ES:(E)SI |
|
message header |
GS:(E)DI |
|
message data |
Return: |
AX |
= |
status (0000h,0002h,0003h) (see
#02695) |
|
0111h |
set permitted message count for queue
Data: |
EDX |
= |
queue handle |
CX |
= |
maximum number of messages to enqueue (FFFFh
= unlimited) |
Return: |
AX |
= |
status (0000h,0003h) (see
#02695)
|
|
---generalized VxD services--- |
0202h |
call VxD function
Data: |
ES:(E)BX |
|
in/out register-set buffer |
Return: |
buffer updated |
|
0203h |
map flat
|
--system register functions--- |
0301h |
read system registers into buffer
Data: |
ES:(E)SI |
|
512-byte buffer |
Return: |
AX |
= |
0000h buffer filled (mostly
zeros) |
|
0302h |
copy linear memory into buffer
Data: |
EDX |
= |
linear address |
CX |
= |
number of bytes to copy |
ES:(E)SI |
|
buffer |
Return: |
AX |
= |
0000h |
|
0303h |
copy data into linear memory
Data: |
EDX |
= |
linear address |
CX |
= |
number of bytes to copy |
ES:(E)SI |
|
buffer |
Return: |
AX |
= |
0000h |
|
0304h |
freeze VM
|
0305h |
unfreeze VM
|
---name registration functions--- |
0401h |
register name
Data: |
EDX |
= |
magic number to associate with name |
ES:(E)SI |
|
name to register |
Return: |
AX |
= |
status (0000h,0009h) (see
#02695) |
|
0402h |
unregister name
Data: |
ES:(E)SI |
|
name to be unregistered |
Return: |
AX |
= |
status (0000h,0009h) (see
#02695) |
|
0403h |
look up name
Data: |
ES:(E)SI |
|
name to look up |
Return: |
DX:AX |
= |
magic number or 0000h:0000h if not
registered |
|
0404h |
get name list handle
Return: |
DX:AX |
= |
name list handle
0000h:0000h if not initialized |
|
---special DOS server routines
(undocumented)--- |
0501h |
register |
0502h |
unregister |
0503h |
validate VM |
0504h |
get INT9 count |
0505h |
get screen line |
0506h |
get shift status |
0507h |
get server PB pointer |
0508h |
initialize DOS shell |
0509h |
get last VM handle |