.TITLE TERMINAL_CONTROL_PROCEDURES .IDENT /V01.0/ ; ; $DCDEF ; Terminal class definitions $TTDEF ; Terminal characteristics $IODEF ; I/O symbols $SSDEF ; System symbols ; ; ;****************************************************************************** .PSECT TCP_LOCAL, NOEXE, WRT ; ; SENSE_BUF: .BLKL 2 SET_BUF: .BLKL 2 IO_STATUS: .BLKL 2 ; ; TT_DESCR: .ASCID /SYS$INPUT/ DEV_DESCR: .BLKL 2 DEV_NAME: .BLKB 63 TT_CHAN: .BLKW 1 ; ; ;****************************************************************************** .PSECT TCP_DATA, NOEXE, NOWRT ; ; BELL: .QUAD ^X0707070707070707 ; ; ;****************************************************************************** .PSECT TCP_CODE, EXE, NOWRT ; ; TCP_ASSIGN:: .WORD ^M ; ; MOVAL DEV_DESCR, R2 MOVAL DEV_NAME, 4(R2) MOVL #63, (R2) ; $TRNLOG_S LOGNAM = TT_DESCR,- RSLLEN = (R2),- RSLBUF = DEV_DESCR CMPB DEV_NAME, #^X1B BNEQ 5$ SUBL #4, (R2) ADDL #4, 4(R2) ; 5$: $ASSIGN_S DEVNAM = DEV_DESCR,- CHAN = @4(AP) RET ; ; TCP_DEASSIGN:: .WORD ^M<> ; ; $DASSGN_S CHAN = 4(AP) RET ; ; TCP_NOECHO:: .WORD ^M ; ; MOVL #TT$V_NOECHO, R2 JMP TCP_CONT ; ; TCP_NOBRDCST:: .WORD ^M ; ; MOVL #TT$V_NOBRDCST, R2 JMP TCP_CONT ; ; TCP_NOTYPEAHD:: .WORD ^M ; ; MOVL #TT$V_NOTYPEAHD, R2 JMP TCP_CONT ; ; TCP_PASSALL:: .WORD ^M ; ; MOVL #TT$V_PASSALL, R2 JMP TCP_CONT ; ; TCP_CONT: CMPB (AP), #1 BGEQ 10$ MOVL #SS$_INSFARG, R0 RET ; 10$: PUSHAL TT_CHAN CALLS #1, TCP_ASSIGN BLBC R0, ERROR ; $QIOW_S CHAN = TT_CHAN,- FUNC = #IO$_SENSEMODE,- P1 = SENSE_BUF BLBC R0, ERROR ; MOVQ SENSE_BUF, SET_BUF MOVAL SET_BUF, R3 MOVW #80, 2(R3) MOVB #24, 7(R3) INSV 4(AP), R2, #1, 4(R3) ; $QIOW_S CHAN = TT_CHAN,- FUNC = #IO$_SETMODE,- P1 = SET_BUF BLBC R0, ERROR ; ; ; PUSHAL TT_CHAN ; CALLS #1, TCP_DEASSIGN ; Channel for SYS$INPUT can ; BLBC R0, ERROR ; not be deassigned. RET ; SS$_NOPRIV will result if ; ; attempted. ERROR: RET ; ; ;****************************************************************************** ; TCP_RINGBELL:: .WORD ^M ; MOVL 4(AP), R2 CMPB (AP), #1 BGEQ 25$ MOVL #SS$_INSFARG, R0 RET ; 25$: MOVL #0, R0 CMPL R2, #8 BGTR BELL_ERROR CMPL R2, #0 BLSS BELL_ERROR ; PUSHAL TT_CHAN CALLS #1, TCP_ASSIGN BLBC R0, BELL_ERROR ; $QIOW_S CHAN = TT_CHAN,- FUNC = #IO$_WRITELBLK,- P1 = BELL,- P2 = R2 BLBC R0, BELL_ERROR RET ; BELL_ERROR: RET .END