Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.m86serv +++|PROC BZFILL(CHAR,(TYP),(NUM));
00002 M01S00002.m86serv +++|# TITLE BZFILL - BLANK OR ZERO FILLS A CHARACTER ITEM. #
00003 M01S00003.m86serv +++|
00004 M01S00004.m86serv +++| BEGIN # BZFILL #
00005 M01S00005.m86serv +++|
00006 M01S00006.m86serv +++|#
00007 M01S00007.m86serv +++|** BZFILL - BLANK OR ZERO FILLS A CHARACTER ITEM.
00008 M01S00008.m86serv +++|*
00009 M01S00009.m86serv +++|* PROC BZFILL(CHAR,(TYP),(NUM))
00010 M01S00010.m86serv +++|*
00011 M01S00011.m86serv +++|* ENTRY (TYP) = TYPE OF FILLING REQUIRED.
00012 M01S00012.m86serv +++|* = S"BFILL", BLANK FILLING.
00013 M01S00013.m86serv +++|* = S"ZFILL", ZERO FILLING.
00014 M01S00014.m86serv +++|* (NUM) = LENGTH OF CHARACTER ITEM IN NUMBER
00015 M01S00015.m86serv +++|* OF CHARACTERS.
00016 M01S00016.m86serv +++|*
00017 M01S00017.m86serv +++|* EXIT (CHAR) = BLANK OR ZERO FILLED CHARACTER.
00018 M01S00018.m86serv +++|*
00019 M01S00019.m86serv +++|* NOTES DEPENDING ON THE TYPE OF CONVERSION, ZEROES
00020 M01S00020.m86serv +++|* ARE REPLACED BY BLANKS OR BLANKS BY ZEROES.
00021 M01S00021.m86serv +++|#
00022 M01S00022.m86serv +++|
00023 M01S00023.m86serv +++| ITEM CHAR C(240); # ITEM TO BE BLANK/ZERO FILLED #
00024 M01S00024.m86serv +++| ITEM TYP U; # TYPE OF FILLING REQUIRED #
00025 M01S00025.m86serv +++| ITEM NUM I; # LENGTH OF *CHAR* IN NUMBER OF
00026 M01S00026.m86serv +++| CHARACTERS #
00027 M01S00027.m86serv +++|
00028 M01S00028.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS #
00029 M01S00029.m86serv +++|*CALL COMBFAS
00030 M01S00030.m86serv +++|*CALL COMBBZF
00031 M01S00031.m86serv +++|
00032 M01S00032.m86serv +++| ITEM I I; # LOOP INDUCTION VARIABLE #
00033 M01S00033.m86serv +++|
00034 M01S00034.m86serv +++|CONTROL EJECT;
00035 M01S00035.m86serv +++|
00036 M01S00036.m86serv +++|#
00037 M01S00037.m86serv +++|* START OF EXECUTABLE CODE.
00038 M01S00038.m86serv +++|#
00039 M01S00039.m86serv +++|
00040 M01S00040.m86serv +++| IF TYP EQ TYPFILL"BFILL"
00041 M01S00041.m86serv +++| THEN
00042 M01S00042.m86serv +++| BEGIN # BLANK FILL #
00043 M01S00043.m86serv +++| FASTFOR I = 0 STEP 1 UNTIL NUM-1
00044 M01S00044.m86serv +++| DO
00045 M01S00045.m86serv +++| BEGIN
00046 M01S00046.m86serv +++| IF C<I,1>CHAR EQ 0 # REPLACE ZEROES BY BLANKS #
00047 M01S00047.m86serv +++| THEN
00048 M01S00048.m86serv +++| BEGIN
00049 M01S00049.m86serv +++| C<I,1>CHAR = " ";
00050 M01S00050.m86serv +++| END
00051 M01S00051.m86serv +++|
00052 M01S00052.m86serv +++| END
00053 M01S00053.m86serv +++|
00054 M01S00054.m86serv +++| RETURN;
00055 M01S00055.m86serv +++| END # BLANK FILL #
00056 M01S00056.m86serv +++|
00057 M01S00057.m86serv +++| IF TYP EQ TYPFILL"ZFILL"
00058 M01S00058.m86serv +++| THEN
00059 M01S00059.m86serv +++| BEGIN # ZERO FILL #
00060 M01S00060.m86serv +++| FASTFOR I = 0 STEP 1 UNTIL NUM-1
00061 M01S00061.m86serv +++| DO
00062 M01S00062.m86serv +++| BEGIN
00063 M01S00063.m86serv +++| IF B<I*6,6>CHAR EQ O"55" # REPLACE BLANKS BY ZEROES #
00064 M01S00064.m86serv +++| THEN
00065 M01S00065.m86serv +++| BEGIN
00066 M01S00066.m86serv +++| B<I*6,6>CHAR = 0;
00067 M01S00067.m86serv +++| END
00068 M01S00068.m86serv +++|
00069 M01S00069.m86serv +++| END
00070 M01S00070.m86serv +++|
00071 M01S00071.m86serv +++| RETURN;
00072 M01S00072.m86serv +++|
00073 M01S00073.m86serv +++| END # ZERO FILL #
00074 M01S00074.m86serv +++|
00075 M01S00075.m86serv +++| END # BZFILL #
00076 M01S00076.m86serv +++|
00077 M01S00077.m86serv +++| TERM
00078 M01S00078.m86serv +++|PROC LOFPROC((LFN));
00079 M01S00079.m86serv +++|# TITLE LOFPROC - LIST OF FILES PROCESSOR. #
00080 M01S00080.m86serv +++|
00081 M01S00081.m86serv +++| BEGIN # LOFPROC #
00082 M01S00082.m86serv +++|
00083 M01S00083.m86serv +++|#
00084 M01S00084.m86serv +++|** LOFPROC - LIST OF FILES PROCESSOR.
00085 M01S00085.m86serv +++|*
00086 M01S00086.m86serv +++|* *LOFPROC* IS USED TO CREATE A LIST OF LOCAL FILE NAMES, AND ALSO
00087 M01S00087.m86serv +++|* TO RETURN THE FILES NAMED IN THIS LIST.
00088 M01S00088.m86serv +++|*
00089 M01S00089.m86serv +++|* PROC LOFPROC((LFN))
00090 M01S00090.m86serv +++|*
00091 M01S00091.m86serv +++|* ENTRY (LFN) = NONZERO, LOCAL FILE NAME TO BE ADDED TO THE
00092 M01S00092.m86serv +++|* LIST OF FILES.
00093 M01S00093.m86serv +++|* = 0, ALL FILES IN THE LIST ARE TO BE RETURNED.
00094 M01S00094.m86serv +++|*
00095 M01S00095.m86serv +++|* EXIT THE SPECIFIED FILE HAS BEEN ADDED TO THE LIST, OR ALL
00096 M01S00096.m86serv +++|* FILES IN THE LIST HAVE BEEN RETURNED.
00097 M01S00097.m86serv +++|#
00098 M01S00098.m86serv +++|
00099 M01S00099.m86serv +++| ITEM LFN I; # FILE NAME TO BE ADDED TO LIST #
00100 M01S00100.m86serv +++|
00101 M01S00101.m86serv +++|#
00102 M01S00102.m86serv +++|**** PROC LOFPROC - XREF LIST BEGIN.
00103 M01S00103.m86serv +++|#
00104 M01S00104.m86serv +++|
00105 M01S00105.m86serv +++| XREF
00106 M01S00106.m86serv +++| BEGIN
00107 M01S00107.m86serv +++| PROC BZFILL; # BLANK OR ZERO FILL ITEM #
00108 M01S00108.m86serv +++| PROC RETERN; # RETURN FILE #
00109 M01S00109.m86serv +++| PROC ZSETFET; # INITIALIZE FET #
00110 M01S00110.m86serv +++| END
00111 M01S00111.m86serv +++|
00112 M01S00112.m86serv +++|#
00113 M01S00113.m86serv +++|**** PROC LOFPROC - XREF LIST END.
00114 M01S00114.m86serv +++|#
00115 M01S00115.m86serv +++|
00116 M01S00116.m86serv +++| DEF LOFMAX #15#; # MAXIMUM LENGTH OF FILE LIST #
00117 M01S00117.m86serv +++|
00118 M01S00118.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS #
00119 M01S00119.m86serv +++|*CALL COMBFAS
00120 M01S00120.m86serv +++|*CALL COMBFET
00121 M01S00121.m86serv +++|
00122 M01S00122.m86serv +++| ITEM I I; # INDUCTION VARIABLE #
00123 M01S00123.m86serv +++| ITEM ORD U = 0; # CURRENT TABLE ORDINAL #
00124 M01S00124.m86serv +++|
00125 M01S00125.m86serv +++| ARRAY LFET [0:0] S(SFETL); ; # FET USED FOR *RETURN* REQUEST #
00126 M01S00126.m86serv +++| ARRAY LOF [0:LOFMAX] S(1); # LIST OF FILES TABLE #
00127 M01S00127.m86serv +++| BEGIN
00128 M01S00128.m86serv +++| ITEM LOF$WRD U(00,00,60); # FULL WORD DEFINITION #
00129 M01S00129.m86serv +++| ITEM LOF$LFN C(00,00,07); # LOCAL FILE NAME #
00130 M01S00130.m86serv +++| END
00131 M01S00131.m86serv +++|
00132 M01S00132.m86serv +++| CONTROL EJECT;
00133 M01S00133.m86serv +++|
00134 M01S00134.m86serv +++| IF LFN NQ 0 AND ORD LQ LOFMAX
00135 M01S00135.m86serv +++| THEN # ADD LFN TO LIST OF FILES #
00136 M01S00136.m86serv +++| BEGIN
00137 M01S00137.m86serv +++| BZFILL(LFN,1,7);
00138 M01S00138.m86serv +++| LOF$WRD[ORD] = LFN;
00139 M01S00139.m86serv +++| ORD = ORD + 1;
00140 M01S00140.m86serv +++| RETURN;
00141 M01S00141.m86serv +++| END
00142 M01S00142.m86serv +++|
00143 M01S00143.m86serv +++| IF LFN EQ 0
00144 M01S00144.m86serv +++| THEN # RETURN ALL FILES LISTED #
00145 M01S00145.m86serv +++| BEGIN # RETURN FILES #
00146 M01S00146.m86serv +++| ZSETFET(LOC(LFET[0]),"",0,0,SFETL);
00147 M01S00147.m86serv +++|
00148 M01S00148.m86serv +++| SLOWFOR I = 0 STEP 1 WHILE I LS ORD
00149 M01S00149.m86serv +++| DO
00150 M01S00150.m86serv +++| BEGIN
00151 M01S00151.m86serv +++| FET$LFN[0] = LOF$LFN[I];
00152 M01S00152.m86serv +++| RETERN(LFET[0],RCL);
00153 M01S00153.m86serv +++| END
00154 M01S00154.m86serv +++|
00155 M01S00155.m86serv +++| END # RETURN FILES #
00156 M01S00156.m86serv +++|
00157 M01S00157.m86serv +++| RETURN;
00158 M01S00158.m86serv +++| END # LOFPROC #
00159 M01S00159.m86serv +++|
00160 M01S00160.m86serv +++| TERM
00161 M01S00161.m86serv +++|PROC MSG((DFMSG),(OP));
00162 M01S00162.m86serv +++|# TITLE MSG - DISPLAY DAYFILE MESSAGE. #
00163 M01S00163.m86serv +++|
00164 M01S00164.m86serv +++| BEGIN # MSG #
00165 M01S00165.m86serv +++|
00166 M01S00166.m86serv +++|#
00167 M01S00167.m86serv +++|** MSG - DISPLAY DAYFILE MESSAGE.
00168 M01S00168.m86serv +++|*
00169 M01S00169.m86serv +++|* *MSG* SEARCHES A MESSAGE FOR A TERMINATING CHARACTER AND
00170 M01S00170.m86serv +++|* ZERO FILLS THE MESSAGE FROM THE TERMINATOR TO THE END
00171 M01S00171.m86serv +++|* OF THE MESSAGE.
00172 M01S00172.m86serv +++|*
00173 M01S00173.m86serv +++|* PROC MSG((DFMSG),(OP))
00174 M01S00174.m86serv +++|*
00175 M01S00175.m86serv +++|* ENTRY (DFMSG) - MESSAGE TO BE DISPLAYED, 80 CHARACTER
00176 M01S00176.m86serv +++|* MAXIMUM.
00177 M01S00177.m86serv +++|* (OP) - MESSAGE ROUTING OPTION.
00178 M01S00178.m86serv +++|* (VALUES DEFINED IN *COMBFAS*)
00179 M01S00179.m86serv +++|*
00180 M01S00180.m86serv +++|* EXIT THE MESSAGE HAS BEEN DISPLAYED AT THE LOCATION
00181 M01S00181.m86serv +++|* SPECIFIED BY (OP).
00182 M01S00182.m86serv +++|#
00183 M01S00183.m86serv +++|
00184 M01S00184.m86serv +++| ITEM DFMSG C(80); # MESSAGE TEXT #
00185 M01S00185.m86serv +++| ITEM OP I; # MESSAGE ROUTING OPTION #
00186 M01S00186.m86serv +++|
00187 M01S00187.m86serv +++|#
00188 M01S00188.m86serv +++|**** PROC MSG - XREF LIST BEGIN.
00189 M01S00189.m86serv +++|#
00190 M01S00190.m86serv +++|
00191 M01S00191.m86serv +++| XREF
00192 M01S00192.m86serv +++| BEGIN
00193 M01S00193.m86serv +++| PROC MESSAGE; # ISSUE MESSAGE #
00194 M01S00194.m86serv +++| END
00195 M01S00195.m86serv +++|
00196 M01S00196.m86serv +++|#
00197 M01S00197.m86serv +++|**** PROC MSG - XREF LIST END.
00198 M01S00198.m86serv +++|#
00199 M01S00199.m86serv +++|
00200 M01S00200.m86serv +++| DEF BLANK #" "#; # BLANK CHARACTER #
00201 M01S00201.m86serv +++| DEF TERMCHAR #";"#; # TERMINATOR CHARACTER #
00202 M01S00202.m86serv +++|
00203 M01S00203.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS #
00204 M01S00204.m86serv +++|*CALL COMBFAS
00205 M01S00205.m86serv +++|
00206 M01S00206.m86serv +++| ITEM I I; # LOOP COUNTER #
00207 M01S00207.m86serv +++| ITEM CP I; # CHARACTER POSITION #
00208 M01S00208.m86serv +++|
00209 M01S00209.m86serv +++|CONTROL EJECT;
00210 M01S00210.m86serv +++|
00211 M01S00211.m86serv +++| CP = 0;
00212 M01S00212.m86serv +++| FASTFOR I = 0 STEP 1 WHILE I LS 80 AND CP EQ 0
00213 M01S00213.m86serv +++| DO # FIND TERMINATOR #
00214 M01S00214.m86serv +++| BEGIN
00215 M01S00215.m86serv +++| IF C<I,1>DFMSG EQ TERMCHAR
00216 M01S00216.m86serv +++| THEN
00217 M01S00217.m86serv +++| BEGIN
00218 M01S00218.m86serv +++| CP = I;
00219 M01S00219.m86serv +++| END
00220 M01S00220.m86serv +++|
00221 M01S00221.m86serv +++| END
00222 M01S00222.m86serv +++|
00223 M01S00223.m86serv +++| IF CP NQ 0
00224 M01S00224.m86serv +++| THEN # ZERO FILL END OF MESSAGE #
00225 M01S00225.m86serv +++| BEGIN
00226 M01S00226.m86serv +++| B<CP*6,(80-CP)*6>DFMSG = 0;
00227 M01S00227.m86serv +++| END
00228 M01S00228.m86serv +++|
00229 M01S00229.m86serv +++| MESSAGE(DFMSG,OP); # ISSUE MESSAGE #
00230 M01S00230.m86serv +++| RETURN;
00231 M01S00231.m86serv +++| END # MSG #
00232 M01S00232.m86serv +++|
00233 M01S00233.m86serv +++| TERM
00234 M01S00234.m86serv +++|PROC RESTPFP((OPTION));
00235 M01S00235.m86serv +++|# TITLE RESTPFP - RESTORE USER *PFP* AND ABORT OR RETURN. #
00236 M01S00236.m86serv +++|
00237 M01S00237.m86serv +++| BEGIN # RESTPFP #
00238 M01S00238.m86serv +++|
00239 M01S00239.m86serv +++|#
00240 M01S00240.m86serv +++|** RESTPFP - RESTORE USER *PFP* AND ABORT OR RETURN.
00241 M01S00241.m86serv +++|*
00242 M01S00242.m86serv +++|* *RESTPFP* RESTORES THE USER-S FAMILY AND USER INDEX, AND
00243 M01S00243.m86serv +++|* OPTIONALLY CALLS *LOFPROC* TO RETURN ANY LISTED FILES.
00244 M01S00244.m86serv +++|*
00245 M01S00245.m86serv +++|* PROC RESTPFP((OPTION))
00246 M01S00246.m86serv +++|*
00247 M01S00247.m86serv +++|* ENTRY (OPTION) - PROCESSING OPTION (VALUES DEFINED IN
00248 M01S00248.m86serv +++|* *COMBFAS*).
00249 M01S00249.m86serv +++|* = *PFP$ABORT*, RESTORE *PFP*, RETURN ANY
00250 M01S00250.m86serv +++|* LISTED FILES, AND ABORT PROCESSING.
00251 M01S00251.m86serv +++|* = *PFP$END*, RESTORE *PFP*, RETURN ANY LISTED
00252 M01S00252.m86serv +++|* FILES, AND RETURN TO CALLING PROGRAM.
00253 M01S00253.m86serv +++|* = *PFP$RESUME*, RESTORE *PFP* AND RETURN TO
00254 M01S00254.m86serv +++|* CALLING PROGRAM (NO FILES RETURNED).
00255 M01S00255.m86serv +++|* (USER$FAM) = USER-S CURRENT FAMILY (IN *APFPCOM*).
00256 M01S00256.m86serv +++|* (USER$UI) = USER-S CURRENT USER INDEX (IN *APFPCOM*).
00257 M01S00257.m86serv +++|*
00258 M01S00258.m86serv +++|* EXIT THE USER INDEX AND FAMILY OF THE USER HAVE BEEN
00259 M01S00259.m86serv +++|* RESTORED. DEPENDING ON THE VALUE OF *OPTION*,
00260 M01S00260.m86serv +++|* LISTED FILES MAY HAVE BEEN RETURNED, AND/OR
00261 M01S00261.m86serv +++|* PROCESSING MAY HAVE BEEN ABORTED.
00262 M01S00262.m86serv +++|*
00263 M01S00263.m86serv +++|* MESSAGE * PROGRAM ABNORMAL, RESTPFP.*.
00264 M01S00264.m86serv +++|#
00265 M01S00265.m86serv +++|
00266 M01S00266.m86serv +++| ITEM OPTION I; # PROCESSING OPTION #
00267 M01S00267.m86serv +++|
00268 M01S00268.m86serv +++|#
00269 M01S00269.m86serv +++|**** PROC RESTPFP - XREF LIST BEGIN.
00270 M01S00270.m86serv +++|#
00271 M01S00271.m86serv +++|
00272 M01S00272.m86serv +++| XREF
00273 M01S00273.m86serv +++| BEGIN
00274 M01S00274.m86serv +++| PROC ABORT; # ISSUE ABORT #
00275 M01S00275.m86serv +++| PROC LOFPROC; # LIST OF FILES PROCESSOR #
00276 M01S00276.m86serv +++| PROC MESSAGE; # ISSUE MESSAGE #
00277 M01S00277.m86serv +++| PROC SETPFP; # SET FAMILY AND USER INDEX #
00278 M01S00278.m86serv +++| END
00279 M01S00279.m86serv +++|
00280 M01S00280.m86serv +++|#
00281 M01S00281.m86serv +++|**** PROC RESTPFP - XREF LIST BEGIN.
00282 M01S00282.m86serv +++|#
00283 M01S00283.m86serv +++|
00284 M01S00284.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS #
00285 M01S00285.m86serv +++|
00286 M01S00286.m86serv +++|*CALL COMBFAS
00287 M01S00287.m86serv +++|*CALL COMBPFP
00288 M01S00288.m86serv +++|
00289 M01S00289.m86serv +++| ARRAY PFPMSG [0:0] S(3); # ABNORMAL CONDITION MESSAGE #
00290 M01S00290.m86serv +++| BEGIN
00291 M01S00291.m86serv +++| ITEM PFPLINE C(00,00,28) =[ # MESSAGE LINE #
00292 M01S00292.m86serv +++| " PROGRAM ABNORMAL, RESTPFP."];
00293 M01S00293.m86serv +++| ITEM PFPZERO U(02,48,12)=[0]; # ZERO BYTE TERMINATOR #
00294 M01S00294.m86serv +++| END
00295 M01S00295.m86serv +++|
00296 M01S00296.m86serv +++| CONTROL EJECT;
00297 M01S00297.m86serv +++|
00298 M01S00298.m86serv +++|#
00299 M01S00299.m86serv +++|* RESTORE FAMILY AND USER INDEX TO USER VALUES.
00300 M01S00300.m86serv +++|#
00301 M01S00301.m86serv +++|
00302 M01S00302.m86serv +++| PFP$WRD0[0] = 0;
00303 M01S00303.m86serv +++| PFP$FAM[0] = USER$FAM[0];
00304 M01S00304.m86serv +++| PFP$UI[0] = USER$UI[0];
00305 M01S00305.m86serv +++| PFP$FG1[0] = TRUE;
00306 M01S00306.m86serv +++| PFP$FG4[0] = TRUE;
00307 M01S00307.m86serv +++| SETPFP(PFP[0]);
00308 M01S00308.m86serv +++| IF PFP$STAT[0] NQ OK
00309 M01S00309.m86serv +++| THEN
00310 M01S00310.m86serv +++| BEGIN
00311 M01S00311.m86serv +++| MESSAGE(PFPMSG[0],UDFL1);
00312 M01S00312.m86serv +++| ABORT;
00313 M01S00313.m86serv +++| END
00314 M01S00314.m86serv +++|
00315 M01S00315.m86serv +++|#
00316 M01S00316.m86serv +++|* OPTIONALLY RETURN LISTED FILES.
00317 M01S00317.m86serv +++|#
00318 M01S00318.m86serv +++|
00319 M01S00319.m86serv +++| IF OPTION NQ PFP$RESUME
00320 M01S00320.m86serv +++| THEN
00321 M01S00321.m86serv +++| BEGIN
00322 M01S00322.m86serv +++| LOFPROC(0);
00323 M01S00323.m86serv +++| END
00324 M01S00324.m86serv +++|
00325 M01S00325.m86serv +++|#
00326 M01S00326.m86serv +++|* OPTIONALLY ABORT PROCESSING.
00327 M01S00327.m86serv +++|#
00328 M01S00328.m86serv +++|
00329 M01S00329.m86serv +++| IF OPTION EQ PFP$ABORT
00330 M01S00330.m86serv +++| THEN # ABORT REQUESTED #
00331 M01S00331.m86serv +++| BEGIN
00332 M01S00332.m86serv +++| ABORT;
00333 M01S00333.m86serv +++| END
00334 M01S00334.m86serv +++|
00335 M01S00335.m86serv +++| RETURN;
00336 M01S00336.m86serv +++| END # RESTPFP #
00337 M01S00337.m86serv +++|
00338 M01S00338.m86serv +++| TERM
00339 M01S00339.m86serv +++|PROC ZFILL(ZBUF,(WDLEN));
00340 M01S00340.m86serv +++|# TITLE ZFILL - ZERO FILLS A BUFFER. #
00341 M01S00341.m86serv +++|
00342 M01S00342.m86serv +++| BEGIN # ZFILL #
00343 M01S00343.m86serv +++|
00344 M01S00344.m86serv +++|#
00345 M01S00345.m86serv +++|** ZFILL - ZERO FILLS A BUFFER.
00346 M01S00346.m86serv +++|*
00347 M01S00347.m86serv +++|* PROC ZFILL(ZBUF,(WDLEN))
00348 M01S00348.m86serv +++|*
00349 M01S00349.m86serv +++|* ENTRY (WDLEN) = NUMBER OF WORDS TO BE ZERO FILLED.
00350 M01S00350.m86serv +++|*
00351 M01S00351.m86serv +++|* EXIT (ZBUF) = ZERO FILLED BUFFER.
00352 M01S00352.m86serv +++|#
00353 M01S00353.m86serv +++|
00354 M01S00354.m86serv +++| ARRAY ZBUF [0:0] ; # ARRAY TO BE ZERO FILLED #
00355 M01S00355.m86serv +++| BEGIN
00356 M01S00356.m86serv +++| ITEM ZWORD U(00,00,60);
00357 M01S00357.m86serv +++| END
00358 M01S00358.m86serv +++|
00359 M01S00359.m86serv +++| ITEM WDLEN I; # NUMBER OF WORDS TO BE ZEROED #
00360 M01S00360.m86serv +++|
00361 M01S00361.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS #
00362 M01S00362.m86serv +++|*CALL COMBFAS
00363 M01S00363.m86serv +++|
00364 M01S00364.m86serv +++| ITEM I I; # LOOP INDUCTION VARIABLE #
00365 M01S00365.m86serv +++|
00366 M01S00366.m86serv +++|CONTROL EJECT;
00367 M01S00367.m86serv +++|
00368 M01S00368.m86serv +++|#
00369 M01S00369.m86serv +++|* ZERO FILL THE SPECIFIED NUMBER OF
00370 M01S00370.m86serv +++|* WORDS IN THE BUFFER.
00371 M01S00371.m86serv +++|#
00372 M01S00372.m86serv +++|
00373 M01S00373.m86serv +++| FASTFOR I = 0 STEP 1 UNTIL WDLEN-1
00374 M01S00374.m86serv +++| DO
00375 M01S00375.m86serv +++| BEGIN
00376 M01S00376.m86serv +++| ZWORD[I] = 0;
00377 M01S00377.m86serv +++| END
00378 M01S00378.m86serv +++|
00379 M01S00379.m86serv +++| END # ZFILL #
00380 M01S00380.m86serv +++|
00381 M01S00381.m86serv +++| TERM
00382 M01S00382.m86serv +++|PROC ZSETFET((ADDR),(LFN),(FWA),(LEN),(FETL));
00383 M01S00383.m86serv +++|# TITLE ZSETFET - INITIALIZES A *FET*. #
00384 M01S00384.m86serv +++|
00385 M01S00385.m86serv +++| BEGIN # ZSETFET #
00386 M01S00386.m86serv +++|
00387 M01S00387.m86serv +++|#
00388 M01S00388.m86serv +++|** ZSETFET - INITIALIZES A FILE ENVIRONMENT TABLE.
00389 M01S00389.m86serv +++|*
00390 M01S00390.m86serv +++|* THIS PROCEDURE CREATES A *FET* AT THE SPECIFIED
00391 M01S00391.m86serv +++|* ADDRESS AND SETS STANDARD FIELDS. OTHER FIELDS MUST BE SET
00392 M01S00392.m86serv +++|* BY THE USER.
00393 M01S00393.m86serv +++|*
00394 M01S00394.m86serv +++|* PROC ZSETFET((ADDR),(LFN),(FWA),(LEN),(FETL)).
00395 M01S00395.m86serv +++|*
00396 M01S00396.m86serv +++|* ENTRY (ADDR) - ADDRESS *FET* IS TO START AT.
00397 M01S00397.m86serv +++|* (LFN) - NAME OF FILE TO BE ACCESSED.
00398 M01S00398.m86serv +++|* (FWA) - FIRST WORD ADDRESS OF *CIO* BUFFER.
00399 M01S00399.m86serv +++|* (LEN) - LENGTH OF THE *CIO* BUFFER.
00400 M01S00400.m86serv +++|* (FETL) - LENGTH OF THE *FET*.
00401 M01S00401.m86serv +++|*
00402 M01S00402.m86serv +++|* EXIT *FET* IS INITIALIZED (I.E. *FIRST*, *IN*, *OUT*, AND
00403 M01S00403.m86serv +++|* *LIMIT* POINTERS , AND *FET* LENGTH FIELDS ARE SET
00404 M01S00404.m86serv +++|* AND THE *LFN* FIELD IS ZERO FILLED).
00405 M01S00405.m86serv +++|*
00406 M01S00406.m86serv +++|* NOTES VALUES SPECIFIED BY PARAMETERS ARE PLACED IN THE
00407 M01S00407.m86serv +++|* APPROPRIATE ARRAY FIELDS, AND THE POINTER OF BASED
00408 M01S00408.m86serv +++|* ARRAY *FETSET* IS SET TO *ADDR*.
00409 M01S00409.m86serv +++|#
00410 M01S00410.m86serv +++|
00411 M01S00411.m86serv +++|
00412 M01S00412.m86serv +++| ITEM ADDR U; # ADDRESS OF *FET* #
00413 M01S00413.m86serv +++| ITEM LFN C(7); # FILE NAME #
00414 M01S00414.m86serv +++| ITEM FWA U; # *FWA* OF *CIO* BUFFER #
00415 M01S00415.m86serv +++| ITEM LEN U; # LENGTH OF *CIO* BUFFER #
00416 M01S00416.m86serv +++| ITEM FETL U; # LENGTH OF *FET* #
00417 M01S00417.m86serv +++|
00418 M01S00418.m86serv +++|#
00419 M01S00419.m86serv +++|**** PROC ZSETFET - XREF LIST BEGIN.
00420 M01S00420.m86serv +++|#
00421 M01S00421.m86serv +++|
00422 M01S00422.m86serv +++| XREF
00423 M01S00423.m86serv +++| BEGIN
00424 M01S00424.m86serv +++| PROC BZFILL; # ZERO OR BLANK FILLS ITEM #
00425 M01S00425.m86serv +++| PROC ZFILL; # ZERO FILLS AN ARRAY #
00426 M01S00426.m86serv +++| END
00427 M01S00427.m86serv +++|
00428 M01S00428.m86serv +++|#
00429 M01S00429.m86serv +++|**** PROC ZSETFET - XREF LIST END.
00430 M01S00430.m86serv +++|#
00431 M01S00431.m86serv +++|
00432 M01S00432.m86serv +++| DEF MINFETL #5#; # MINIMUM *FET* LENGTH #
00433 M01S00433.m86serv +++|
00434 M01S00434.m86serv +++| DEF LISTCON #0#; # CONTROLS LISTING OF COMDECKS #
00435 M01S00435.m86serv +++|
00436 M01S00436.m86serv +++|*CALL COMBFAS
00437 M01S00437.m86serv +++|*CALL COMBBZF
00438 M01S00438.m86serv +++|*CALL COMBFET
00439 M01S00439.m86serv +++|CONTROL EJECT;
00440 M01S00440.m86serv +++|
00441 M01S00441.m86serv +++|#
00442 M01S00442.m86serv +++|* ZERO FILL *FET* AND SET STANDARD FIELDS.
00443 M01S00443.m86serv +++|#
00444 M01S00444.m86serv +++|
00445 M01S00445.m86serv +++| P<FETSET> = ADDR;
00446 M01S00446.m86serv +++| ZFILL(FETSET[0],FETL);
00447 M01S00447.m86serv +++| BZFILL(LFN,TYPFILL"ZFILL",7); # ZERO-FILL FILE NAME #
00448 M01S00448.m86serv +++| FET$LFN[0] = LFN;
00449 M01S00449.m86serv +++| FET$LOCK[0] = TRUE;
00450 M01S00450.m86serv +++| FET$FRST[0] = FWA;
00451 M01S00451.m86serv +++| FET$IN[0] = FWA;
00452 M01S00452.m86serv +++| FET$OUT[0] = FWA;
00453 M01S00453.m86serv +++| FET$LIM[0] = FWA + LEN;
00454 M01S00454.m86serv +++| FET$L[0] = FETL - MINFETL; # SET LENGTH OF *FET* #
00455 M01S00455.m86serv +++| RETURN;
00456 M01S00456.m86serv +++| END # ZSETFET #
00457 M01S00457.m86serv +++|
00458 M01S00458.m86serv +++| TERM