Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 60 - pc-ipc api http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 60 - PC-IPC API
        STACK:  DWORD   pointer to parameter block (see below)
Return: STACK:  unchanged
Notes:  PC-IPC is a shareware TSR by Donnelly Software Engineering which allows
          communication between independent programs
        INT 60 is the default, any interrupt vector may be used by specifying
          the vector on the commandline

Format of parameter block:
Offset  Size    Description
 00h    WORD    caller's ID
 02h    WORD    to ID
 04h    WORD    command code (see below)
 06h    WORD    returned status
                bit 0: unused
                bit 1: IPC enabled
                bit 2: IPC installed
                bit 3: error
                bit 4: message(s) available
 08h    WORD    returned error code (see below)
 0Ah    WORD    size of data
 0Ch    DWORD   pointer to data buffer

Values of 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

Values for error code:
 00h    no error
 01h    invalid command or parameter
 02h    only process 0 can install/reset IPC
 03h    process can not install/reset IPC
 04h    IPC is not enabled
 05h    process can not disable IPC
 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 is not installed

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson