.TITLE CMDINP---INPUT COMMAND P$SECT=0 ; ; COMMMAND LINE INPUT FOR UICREC ; ; 3-FEB-81 ; O.TITZE ; ; COMMANDS: ; DEV:=DEV:/SW ; SWITCHES: ; /AL ALL UIC ; /AF:DATE CREATION DATE LATER THEN DATE ; /DE DELETED FILES ; /UI WRITE IN UFD'S ; /GR ALL WITH SAME GROUP CODE ; .MCALL CSI$,CSI$SW,CSI$SV,CSI$ND,CSI$1,CSI$2 .MCALL GCMLB$,GCML$,GCMLD$,EXIT$S,ALUN$S,DIR$,QIOW$ .MCALL FDOF$L,FCSBT$ ; TILUN=5 ALMSK==1 AFMSK==2 DEMSK==4 UIMSK==10 GRMSK==20 CSIFLG:: .WORD 0 DATBUF:: .BLKB 10. .EVEN .IF NE P$SECT .PSECT .ENDC ; CSISW: CSI$SW AL,ALMSK,CSIFLG CSI$SW AF,AFMSK,CSIFLG,,,AFTAB CSI$SW DE,DEMSK,CSIFLG CSI$SW UI,,CSIFLG CSI$SW GR,,CSIFLG CSI$ND ; AFTAB: CSI$SV ASCII,DATBUF,9. CSI$ND .EVEN ; CSI$ CSI: .BLKB C.SIZE .EVEN GCMLD$ GCMBLK: GCMLB$ 1,RCF,,TILUN ; ; MAINLINE CODE ; .IF NE P$SECT .PSECT CODE,RO .ENDC CMDINP:: GCML$ #GCMBLK ;GET CMD LINE BCC 10$ ;NO ERROR CMPB #GE.EOF,G.ERR(R0) ;EOF BNE ERR1 ;ERROR EXIT$S ; 10$: CSI$1 #CSI,GCMBLK+G.CMLD+2,GCMBLK+G.CMLD ;PARSE LINE BCC 20$ ;NO ERROR JMP ERR2 ;SYNTAX ERROR ; ; PARSE OUTPUT ; 20$: CSI$2 R0,OUTPUT,#CSISW BCC 30$ JMP ERR2 ;SYNTAX ERROR ; ; DEVICE TO DEFAULT NAME ; 30$: MOV R0,-(SP) ;SAVE FOR LATER MOV #OUTFDB,R0 ;GET FDB MOV R0,R1 ADD #F.FNB,R1 ;OFFSET TO FILE NAME BLOCK MOV #CSI+C.DSDS,R2 ;DEVICE STRING IN CSI MOV #DEFNAM,R3 ;DEFAULT FILENAME BLK CALL .PRSDV ;PARSE ONLY DEVICE(AND ASSIGN LUN!) MOV F.DVNM(R0),N.DVNM(R3) ;SAVE DEV IN DEFAULT NAME MOV F.UNIT(R0),N.UNIT(R3) ;AND UNIT MOV (SP)+,R0 ;RESTORE CSI ADR ; ; INPUT NOW ; CSI$2 R0,INPUT,#CSISW ;GET DEVICE AND SWITCHES BCC 40$ ;NO ERRORS JMP ERR2 40$: MOV #INFDB,R0 ;GET FDB MOV R0,R1 ADD #F.FNB,R1 ;OFFSET TO FNB MOV #CSI+C.DSDS,R2 ;DEVISE STRING MOV #DEFINN,R3 ;DEFAULT FNB CALL .PRSDV ;ONLY TO GET THE ASSIGN ; RETURN ; ; ERR1: MOV #ERRM1,MESS+Q.IOPL MOV #ERRM1L,MESS+Q.IOPL+2 BR ERROR ERR2: MOV #ERRM2,MESS+Q.IOPL MOV #ERRM2L,MESS+Q.IOPL+2 ERROR: DIR$ #MESS EXIT$S .IF NE P$SECT .PSECT .ENDC MESS: QIOW$ IO.WVB,TILUN,5,,,,<0,0,40> ERRM1: .ASCII <12><15>/UIC - CMD LINE ERROR/ ERRM1L=.-ERRM1 .EVEN ERRM2: .ASCII <12><15>/UIC - SYNTAX ERROR/ ERRM2L=.-ERRM2 .EVEN .END