5 * Revision 1.3 1996/04/24 17:26:27 mclareni
6 * Extend the include file cleanup to dzebra, rz and tq, and also add
7 * dependencies in some cases.
9 * Revision 1.2 1996/04/18 16:10:48 mclareni
10 * Incorporate changes from J.Zoll for version 3.77
12 * Revision 1.1.1.1 1996/03/06 10:47:14 mclareni
16 #include "zebra/pilot.h"
17 SUBROUTINE FZOFFX (IUHEAD)
19 C- Write to buffer operations for file format Exchange,
20 C- subsidiary to FZOUT
22 C- Controlling parameter : IDX(2)
24 C- IDX(2) = 1 write start/end-of-run
25 C- > 1 write pilot for d/s
26 C- = 0 write bank material for d/s
27 C- = -1 flush the buffer
31 #include "zebra/zunit.inc"
32 #include "zebra/mqsys.inc"
33 #include "zebra/eqlqf.inc"
34 #include "zebra/mzct.inc"
35 #include "zebra/mzcn.inc"
36 #include "zebra/mzioc.inc"
37 #include "zebra/fzcx.inc"
38 #include "zebra/fzcseg.inc"
39 C-------------- End CDE --------------
41 #if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
43 DATA NAMESR / 4HFZOF, 4HFX /
45 #if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
46 DATA NAMESR / 6HFZOFFX /
48 #if !defined(CERNLIB_QTRHOLL)
50 PARAMETER (NAMESR = 'FZOFFX ')
52 #if !defined(CERNLIB_FQXISN)
53 #include "zebra/q_jbyt.inc"
56 #include "zebra/qtraceq.inc"
58 IF (IDX(2)) 71, 41, 11
59 11 IF (IDX(2).EQ.1) GO TO 61
61 C-----------------------------------------------------------
62 C------ WRITE PILOT INFORMATION, STARTING LR AND D/S
63 C-----------------------------------------------------------
65 IDX(1) = 10 + NWUHCX + NWSEGX + NWTXX + NWTABX + NWBKX
66 #if !defined(CERNLIB_FQXISN)
67 IF (IDAFOX.EQ.0) GO TO 31
69 C-----------------------------------------------------------
70 C-- Pilot in exchange data format
71 C-----------------------------------------------------------
78 CALL FZOTRX (IPILX, 10+NWIOX)
84 CALL FZOTRX (IUHEAD, NWUHX)
93 CALL FZOTRX (IQSEGH, 2*NQSEG)
96 CALL FZOTRX (IQSEGD, NQSEG)
106 CALL FZOTRX (IQ(KQSP+LTEXTX+5), NWTXX)
109 C-- Relocation table, only FZOUT, not FZCOPY
111 IF (ICOPYX.NE.0) GO TO 39
112 IF (NWTABX.NE.0) THEN
116 CALL FZOTRX (LQ(LQTA), NWTABX)
121 C-----------------------------------------------------------
122 C-- Pilot in native data format
123 C-----------------------------------------------------------
125 31 CALL FZOTRN (IPILX,10+NWIOX)
129 IF (NWUHCX.NE.0) CALL FZOTRN (IUHEAD, NWUHX)
133 IF (NWSEGX.NE.0) THEN
134 CALL FZOTRN (IQSEGH, 2*NQSEG)
135 CALL FZOTRN (IQSEGD, NQSEG)
141 CALL FZOTRN (IQ(KQSP+LTEXTX+5), NWTXX)
144 C-- Relocation table, only FZOUT, not FZCOPY
146 IF (ICOPYX.NE.0) GO TO 39
147 IF (NWTABX.NE.0) CALL FZOTRN (LQ(LQTA), NWTABX)
148 39 IF (NWBKX.NE.0) GO TO 999
151 C-----------------------------------------------------------
152 C-- WRITE BANK MATERIAL
153 C-----------------------------------------------------------
156 #if !defined(CERNLIB_FQXISN)
157 IF (IDAFOX.EQ.0) GO TO 51
159 C-----------------------------------------------------------
160 C-- Bank groups in exchange data format
161 C-----------------------------------------------------------
170 NST = JBYT (IWD,1,16) - 12
171 IF (NST.LT.0) GO TO 48
176 IQNIO = JBYT (IQ(KQS+IQLS),19,4)
177 IQNL = IQ(KQS+IQLS-3)
178 IQND = IQ(KQS+IQLS-1)
179 IQNX = IQLS + IQND + 9
181 C- first word, I/O words, links, next-link, up-link
186 C- origin, numeric ID
194 C- NL, NS, ND, status
198 CALL FZOTRX (LQ(KQS+L), N+10)
201 IF (IQND.EQ.0) GO TO 46
202 CALL MZIOCR (LQ(KQS+IQLN))
203 CALL FZOTRX (IQ(KQS+IQLS+1), IQND)
206 IF (L.LT.LE) GO TO 44
208 IF (LTB.LT.LQTE) GO TO 42
211 C-- Short dead region
218 CALL FZOTRX (LQ(KQS+L), NWD)
222 C-----------------------------------------------------------
223 C-- Bank-groups in native data format
224 C-----------------------------------------------------------
228 CALL FZOTRN (LQ(KQS+L), LE-L)
230 IF (LTB.LT.LQTE) GO TO 51
233 #include "zebra/qtrace99.inc"
236 C-----------------------------------------------------------
237 C-- WRITE START/END-OF-RUN
238 C-----------------------------------------------------------
242 #if !defined(CERNLIB_FQXISN)
243 IF (IDAFOX.EQ.0) GO TO 64
248 IF (NWUHU.EQ.0) GO TO 991
249 CALL FZOTRX (IUHEAD,NWUHU)
252 64 CALL FZOTRN (JRUN,1)
253 IF (NWUHU.NE.0) CALL FZOTRN (IUHEAD,NWUHU)
256 C-----------------------------------------------------------
257 C-- FLUSH BUFFER / ENDFILE
258 C-----------------------------------------------------------
262 * ==================================================
263 #include "zebra/qcardl.inc"