10 common/lll/ mssg(28),namprog(2),logut,logup,lisflg,msgf
11 INTEGER*4 MSSG,NAMPROG,LOGUT,LOGUP
12 CHARACTER*4 LISFLG,MSGF
14 equivalence(cmssg,mssg)
16 common/ml01/ iwd(20),lwd(2,40),ityp(40),nf,nter
17 INTEGER*4 IWD, LWD, ITYP, NF,NTER
19 common/ml02/ iwdraw(20)
22 common/sc01/ namcmd(20)
24 CHARACTER*4 CNAMCMD(20)
25 equivalence(cnamcmd,namcmd)
30 common/sc04/ jcnf,ihedn,mbfl
34 common/sc05/ nhwh,lstl,lnby,maxip,nskip,iswab,lform
35 INTEGER*4 NHWH,LSTL,LNBY,MAXIP,NSKIP
36 CHARACTER*4 ISWAB,LFORM
38 common/sc12/ mem_style,shmid
39 CHARACTER*80 MEM_STYLE
42 common/sc13/ lcon,lcmd,lin,lban,lhep
43 INTEGER*4 LCON,LCMD,LIN,LBAN,LHEP
45 common/sc14/ nbred,nbtop,icnf
49 common/sc16/ indir(8192),intyp,inreci,luinf
50 INTEGER*4 INDIR, INRECI,LUINF
56 common/orphas/ strbufevt,numbufevts,buf_num,lastevt,sumevts,
59 REAL*8 STRBUFEVT,NUMBUFEVTS,BUF_NUM,LASTEVT,SUMEVTS,
64 INTEGER*4 RETN,IERR,STAT,I
66 INTEGER*4 NSEC,ISTAT,KIND,KERR
70 CHARACTER*4 IDONE,KMD,KOM
72 equivalence(kmd,lwd(1,1)),(kom,iwd(1))
75 equivalence(lut,luc(1)),
79 CHARACTER*4 CNAMCMDS(20),CIWD(20)
80 equivalence(cnamcmds,namcmds),(ciwd,iwd)
81 DATA cnamcmds,ciwd/40*
' '/
103 25
FORMAT(
'NUMBER OF BUFFERS PROCESSED = ',i8)
106 IF(intyp.EQ.
'SHM ')
THEN 110 WRITE(cmssg,28)lastevt-beginevt,
112 & lastevt-beginevt-sumevts
116 26
FORMAT(
' Total Events Seen Events Lost Events')
126 35
FORMAT(
'Error reading cmd-file or cmd-file not assigned')
131 45
FORMAT(
'END OF COMMAND FILE')
141 55
IF(lin.NE.lcon)
GO TO 1000
150 70
CALL nuinp(lcmd,ierr)
155 100
IF(lin.EQ.lcon)
WRITE(logut,105)
156 105
FORMAT(
' SCANOR->',$)
163 READ(lin,110,err=30,end=40)iwd
166 WRITE(cmssg,115)(iwd(i),i=1,12),(namcmd(i),i=1,5)
167 IF(lin.NE.lcon)
CALL messlog(logut,logup)
168 IF(lin.EQ.lcon)
CALL messlog(0,logup)
169 115
FORMAT(12a4,
' - FROM ',5a4)
177 IF(kom.EQ.
'CMDF')
GO TO 70
178 IF(kom.EQ.
'CMD ')
GO TO 70
179 IF(kom.EQ.
'CCON')
GO TO 50
180 IF(kom.EQ.
'CLCM')
GO TO 55
181 IF(kom.EQ.
'CCMD')
GO TO 60
185 CALL gread(iwd,lwd,ityp,nf,1,80,nter)
187 IF(kmd.EQ.
' ')
GO TO 100
189 CALL cmpsetup(idone,retn)
190 IF(idone.EQ.
'YES ')
THEN 191 IF(retn.EQ.50)
GO TO 50
195 CALL cmpinput(idone,retn)
196 IF(idone.EQ.
'YES ')
THEN 197 IF(retn.EQ.50)
GO TO 50
201 CALL cmpread(idone,retn)
202 IF(idone.EQ.
'YES ')
THEN 203 IF(retn.EQ.50)
GO TO 50
207 IF(nter.NE.0)
GO TO 1000
209 IF(kmd.EQ.
'ZERO')
GO TO 200
210 IF(kmd.EQ.
'Z ')
GO TO 210
211 IF(kmd.EQ.
'SUM ')
GO TO 220
213 IF(kmd.EQ.
'WAIT')
GO TO 230
215 IF(kmd.EQ.
'GO ')
GO TO 250
216 IF(kmd.EQ.
'GOEN')
GO TO 250
218 IF(kmd.EQ.
'END ')
then 223 IF(kmd.EQ.
'HUP ')
GO TO 320
224 IF(kmd.EQ.
'KILL')
then 235 200
CALL hisnit(luh,
'ZOT ')
259 230
CALL milv(lwd(1,2),nsec,xv,kind,kerr)
260 IF(kerr.NE.0)
GO TO 1000
262 IF(nsec.GT.300) nsec=300
263 CALL wait(nsec,2,istat)
270 250
CALL doscan(retn)
272 IF(msgf.NE.
' ')
GO TO 20
273 IF(retn.EQ.0)
GO TO 100
274 IF(retn.EQ.20)
GO TO 20
275 IF(retn.EQ.50)
GO TO 50
282 300
IF(lut.LT.0)
GO TO 320
290 320
CALL hisnit(luh,
'HUP ')
291 IF(kmd.EQ.
'HUP ')
GO TO 100
295 & status =
'UNKNOWN',
298 IF((mem_style(1:5).NE.
'LOCAL'))
THEN 299 CALL shm_delete(shmid, ierr)
300 CLOSE(unit=21,status=
'DELETE')
313 1000
WRITE(cmssg,1005)
315 1005
FORMAT(
'Syntax error or illegal command - ignored')
subroutine messlog(LUA, LUB)