All direct call commands are issued by the device managers (OS2DASD.DMD and OS2SCSI.DMD) or filter device drivers to an adapter device driver's registered entry point, with a global pointer to the Input/Output Request Block (IORB), as follows:
C Language Syntax
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
#include <iorb.h> VOID (FAR * ADDEntryPoint) (piorb); PIORB piorb; /* Far pointer to the IORB control block */
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Assembly Language Syntax
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
#include <iorb.inc> ; ** ES:BX = IORB Pointer PUSH es ; IORB Segment PUSH bx ; IORB Offset CALL dword ptr AddEntryPoint ; Call adapter device driver ADD sp, 4 ; Clean-up stack
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Results
The results of the command are returned in the IORB.
The following table categorizes and lists the direct call commands used for the DASD and SCSI device manager interface:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Command Type ³Commands ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³CONFIGURATION ³ ³ ³ ³GET_DEVICE_TABLE ³ ³ ³COMPLETE_INIT ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³UNIT_CONTROL ³ ³ ³ ³ALLOCATE_UNIT ³ ³ ³DEALLOCATE_UNIT ³ ³ ³CHANGE_UNITINFO ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³GEOMETRY ³ ³ ³ ³GET_MEDIA_GEOMETRY ³ ³ ³SET_MEDIA_GEOMETRY ³ ³ ³GET_DEVICE_GEOMETRY ³ ³ ³SET_LOGICAL_GEOMETRY ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³EXECUTE_IO ³ ³ ³ ³READ ³ ³ ³READ_VERIFY ³ ³ ³READ_PREFETCH ³ ³ ³WRITE ³ ³ ³WRITE_VERIFY ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³FORMAT ³ ³ ³ ³FORMAT_MEDIA ³ ³ ³FORMAT_TRACK ³ ³ ³FORMAT_PROGRESS ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³UNIT_STATUS ³ ³ ³ ³GET_UNIT_STATUS ³ ³ ³CHANGELINE_STATE ³ ³ ³GET_MEDIA_SENSE ³ ³ ³GET_LOCK_STATUS ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³DEVICE_CONTROL ³ ³ ³ ³ABORT ³ ³ ³RESET ³ ³ ³SUSPEND ³ ³ ³RESUME ³ ³ ³LOCK_MEDIA ³ ³ ³UNLOCK_MEDIA ³ ³ ³EJECT_MEDIA ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ADAPTER_PASSTHRU ³ ³ ³ ³EXECUTE_SCB ³ ³ ³EXECUTE_CDB ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
DevHlp services introduced with the OS/2 2.0 operating system to support this strategy include: