INT 60 - PC-IPC API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running. Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes.
STACK: DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to parameter block (see #03268)
Return: STACK: unchanged
Program: PC-IPC is a shareware TSR(Terminate and Stay Resident) A program which remains in memory after terminating in order to provide services to other programs or the user. The name comes from the name of the DOS function call used to remain in memory after termination. by Donnelly Software Engineering which
allows communication between independent programs
Range: INT 00 to INT FF, selected by commandline switch
Format of PC-IPC parameter block:
Offset Size Description (Table 03268)
00h WORD caller's ID
02h WORD to ID
04h WORD command code (see #03269)
06h WORD returned status (see #03270)
08h WORD returned error code (see #03271)
0Ah WORD size of data
0Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to data buffer
(Table 03269)
Values for PC-IPC command code:
01h "IPC_CMND_INQUIRE" inquire current status
set status field, writes WORD to data buffer containing free
message space in bytes, and sets the "size" field to the
number of messages waiting
02h "IPC_CMND_ENABLE" reenable PC-IPC
ignored unless called with the same ID that disabled PC-IPC
03h "IPC_CMND_DISABLE" disable PC-IPC
04h "IPC_CMND_INSTALL" reset PC-IPC
06h "IPC_CMND_RDATA" read data
returns first message in data buffer, sets "size" to message length
and "to ID" field to sender's ID
if no messages available, bit 4 of status is cleared and "size" is
set to zero
07h "IPC_CMND_SDATA" send data
08h "IPC_CMND_REQID" require user ID
create a new recognized ID and return in "caller's ID" field
09h "IPC_CMND_DELID" cancel user ID
delete caller's ID from pool of recognized IDs
0Ah "IPC_CMND_RDATAW" read data, wait if no messages available
0Bh "IPC_CMND_VERS" get PC-IPC version
string representing version returned in data buffer, "size" field
set to length of string
Bitfields for returned status:
Bit(s) Description (Table 03270)
0 unused
1 IPC(Inter-Process Communication) Any one of numerous methods for allowing two or more separate processes to exchange data. enabled
2 IPC(Inter-Process Communication) Any one of numerous methods for allowing two or more separate processes to exchange data. installed
3 error
4 message(s) available
(Table 03271)
Values for PC-IPC error code:
00h no error
01h invalid command or parameter
02h only process 0 can install/reset IPC(Inter-Process Communication) Any one of numerous methods for allowing two or more separate processes to exchange data.
03h process can not install/reset IPC(Inter-Process Communication) Any one of numerous methods for allowing two or more separate processes to exchange data.
04h IPC(Inter-Process Communication) Any one of numerous methods for allowing two or more separate processes to exchange data. is not enabled
05h process can not disable IPC(Inter-Process Communication) Any one of numerous methods for allowing two or more separate processes to exchange data.
06h invalid destination process ID
07h invalid sending process ID
08h invalid data destination
09h no more process IDs available
0Ah can not relinquish that process ID
0Bh message space is full
0Ch IPC(Inter-Process Communication) Any one of numerous methods for allowing two or more separate processes to exchange data. is not installed