.title stmode ;+ ; integer function stmode(int, mode) ;- ap=%5 int=2 mode=4 cooked=0 raw=1 .psect $r.roi,con,ro,rel,lcl,i .enabl lsb stmode:: mov @int(ap),r0 ; rat4 unit number call r$gfbk ; get RFDB address mov #err,r0 ; assume ERROR bcs 100$ ; c set => invalid unit bit #rf.clo,(r1) ; is unit open? bne 100$ ; NO, error mov #cooked,r0 ; assume COOKED cmp @int(ap),#errout ; is this ERROUT? beq 100$ ; YES, cannot reset ERROUT bic #rf.raw,(r1) ; assume COOKED cmp #raw,@mode(ap) ; is mode == RAW? bne 100$ ; NO bit #rf.tty,(r1) ; is unit to a terminal? beq 100$ ; NO bis #rf.raw,(r1) ; set unit to raw mode mov #raw,r0 ; ... 100$: return .end