$SAVE NOLIST DECLARE $IF WORD16 WORD_16D LITERALLY 'WORD', WORD_32D LITERALLY 'DWORD'; $ELSE WORD_16D LITERALLY 'HWORD', WORD_32D LITERALLY 'WORD'; $ENDIF /* * Loadable Device Driver Type codes */ DECLARE CUSTOM$TYPE LITERALLY '0FFFFFFFFH', RANDOM$ACCESS$TYPE LITERALLY '0FFFFFFFEH', TERMINAL$TYPE LITERALLY '0FFFFFFFDH'; /* * Common Device Driver Stuctures */ DECLARE DUIB$STRUCT LITERALLY 'STRUCTURE( name(14) BYTE, file$driver WORD_16D, functs BYTE, flags BYTE, dev$gran WORD_16D, dev$size WORD_32D, device BYTE, unit BYTE, dev$unit WORD_16D, init$io WORD_32D, finish$io WORD_32D, queue$io WORD_32D, cancel$io WORD_32D, dinfo$p POINTER, uinfo$p POINTER, update$timeout WORD_16D, num$buffers WORD_16D, priority BYTE, fixed$update BYTE, max$buffers BYTE, fill BYTE)', LOADABLE$CUSTOM$DINFO LITERALLY 'STRUCTURE( far$init$io POINTER, far$finish$io POINTER, far$queue$io POINTER, far$cancel$io POINTER)', LOADABLE$RAD$DINFO LITERALLY 'STRUCTURE( level WORD_16D, priority BYTE, stack$size WORD_32D, data$size WORD_32D, num$units WORD_16D, device$init WORD_32D, device$finish WORD_32D, device$start WORD_32D, device$stop WORD_32D, device$interrupt WORD_32D, time$out WORD_16D, reserved$a WORD_16D, reserved$b WORD_16D, far$dev$init$p POINTER, far$dev$finish$p POINTER, far$dev$start$p POINTER, far$dev$stop$p POINTER, far$dev$interrupt$p POINTER)', LOADABLE$MRAD$DINFO LITERALLY 'STRUCTURE( level WORD_16D, priority BYTE, stack$size WORD_32D, data$size WORD_32D, num$units WORD_16D, device$init WORD_32D, device$finish WORD_32D, device$start WORD_32D, device$stop WORD_32D, device$interrupt WORD_32D, time$out WORD_16D, reserved$a WORD_16D, reserved$b WORD_16D, queue$size WORD_16D, instance BYTE, board$id(10) BYTE, far$dev$init$p POINTER, far$dev$finish$p POINTER, far$dev$start$p POINTER, far$dev$stop$p POINTER, far$dev$interrupt$p POINTER)', LOADABLE$TERM$DINFO LITERALLY 'STRUCTURE( num$units WORD_16D, data$size WORD_16D, stack$size WORD_32D, term$init WORD_32D, term$finish WORD_32D, term$setup WORD_32D, term$output WORD_32D, term$answer WORD_32D, term$hangup WORD_32D, term$utility WORD_32D, num$interrupts WORD_16D, interrupt$level WORD_16D, term$check WORD_32D, far$term$init$p POINTER, far$term$finish$p POINTER, far$term$setup$p POINTER, far$term$output$p POINTER, far$term$answer$p POINTER, far$term$hangup$p POINTER, far$term$utility$p POINTER, far$term$check$p POINTER)', LOADABLE$MTERM$DINFO LITERALLY 'STRUCTURE( num$units WORD_16D, data$size WORD_16D, stack$size WORD_32D, term$init WORD_32D, term$finish WORD_32D, term$setup WORD_32D, term$output WORD_32D, term$answer WORD_32D, term$hangup WORD_32D, term$utility WORD_32D, num$interrupts WORD_16D, term$check WORD_32D, priority BYTE, reserved$a WORD_16D, reserved$b WORD_16D, far$term$init$p POINTER, far$term$finish$p POINTER, far$term$setup$p POINTER, far$term$output$p POINTER, far$term$answer$p POINTER, far$term$hangup$p POINTER, far$term$utility$p POINTER, far$term$check$p POINTER)'; $RESTORE