.TITLE ATTDET .IDENT /V01/ .SBTTL DESCRIPTION ; ; ; COMPONENT: ATTACH/DETACH ; ; DATE: 17-JUL-79 ; ; AUTHOR: GR JOHNSON ; BATTELLE NORTHWEST ; P O BOX 999 ; RICHLAND WA 99352 ; ; SOURCE: MACRO-11 ; ; CALLER: FORTRAN IV-PLUS ; ; CALLING SEQUENCE: ; ; CALL ATTACH(LUN,[ISW]) ; CALL DETACH(LUN,[ISW]) ; ; LUN = LOGICAL UNIT NUMBER OF DEVICE TO BE ATTACHED TO ; OR DETACHED FROM THE CALLING PROGRAM. ; ; ISW = VARIABLE TO RECEIVE THE INTEGER STATUS WORD. ; ; 00 = SUCCESS ; -NN = FCS ERROR CODE ; ; ; DESCRIPTION: ; ; "ATTACH" ATTACHES A DEVICE TO THE CALLING PROGRAM. "DETACH" DETACHES ; A DEVICE FROM THE CALLING PROGRAM. (NOTE: ATTACH AND DETACH SHOULD ONLY ; BE USED ON TERMINALS AND PRINTERS). ; ; .SBTTL SYMBOL DEFINITIONS ; ; ; .PSECT .MCALL QIOW$S ; ; QIOST: .WORD 0,0 ; QIO STATUS BLOCK ; .SBTTL ENTRY POINT ATTACH -- ATTACH DEVICE ; ; ; ATTACH:: ; QIOW$S #IO.ATT,@2(R5),@2(R5),,QIOST ; ATTACH DEVICE TSTB QIOST ; OPERATION SUCCESS? BLT ERR ; RETURN ON ERROR BR SUC ; ELSE RETURN ON SUCCESS ; .SBTTL ENTRY POINT DETACH -- DETACH DEVICE ; ; ; DETACH:: ; QIOW$S #IO.DET,@2(R5),@2(R5),,QIOST ; DETACH DEVICE TSTB QIOST ; OPERATION SUCCESS? BLT ERR ; RETURN ON ERROR ; .SBTTL PROCESS ERRORS AND RETURN TO CALLER ; ; ; SUC: CLR R4 ; SUCCESS BR RTN ; ERR: MOVB QIOST,R4 ; ATTACH ERROR ; ; RTN: CMPB #2,(R5) ; TWO ARGUMENTS? BGT 2$ ; NO, RETURN TO CALLER TST 4(R5) ; NULL ARGUMENT? BLT 2$ ; YES, RETURN TO CALLER MOV R4,@4(R5) ; NO, RETURN STATUS 2$: RTS PC ; RETURN TO CALLER .END ;