;CLRBUF - clear terminal input buffer
;Copyright (C) 1986 by UltraSoft.  All Rights Reserved.
;
;Written by: David Pallmann
;
;Edit History:
;1.0 09-May-86 created. /DFP
;
;Notes:
;       Usage(s):       .CLRBUF     - clears your own terminal input buffer
;                       .CLRBUF trm - clears designated terminal's buffer
;                       .CLRBUF *   - clears buffers of all terminals

       VMAJOR=1
       VMINOR=0

       SEARCH  SYS
       SEARCH  SYSSYM
       SEARCH  TRM

       MEM=A4
       TRM=A5

       .OFINI
       .OFDEF  TRMNAM,4                ; terminal name RAD50
       .OFSIZ  MEMSIZ

START:  PHDR    -1,PV$RSM!PV$WSM,PH$REE!PH$REU
       GETIMP  MEMSIZ,MEM

DEFALT: JOBIDX  A0
       MOV     JOBTRM(A0),D7
       JEQ     EXIT
       MOV     D7,TRM

CMDLIN: BYP
       LIN
       JEQ     SINGLE
       CMMB    @A2,#'*
       JEQ     ALL
       LEA     A1,TRMNAM(MEM)
       PACK
       PACK

SEARCH: MOV     TRMDFC,D7
10$:    MOV     D7,A0
       CMM     4(A0),TRMNAM(MEM)
       BEQ     20$
       MOV     @A0,D7
       BNE     10$
       TYPECR  ?Terminal Specification Error
       EXIT
20$:    ADD     #10,A0
       MOV     A0,TRM

SINGLE: CLR     T.ICC(TRM)
       EXIT

ALL:    MOV     TRMDFC,D7
10$:    MOV     D7,A0
       MOV     A0,TRM
       ADD     #10,TRM
       CLR     T.ICC(TRM)
       MOV     @A0,D7
       BNE     10$

EXIT:   EXIT

       END