User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:accmap

Deck ACCMAP

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.accmap  +++|PROC MBUFMAN ((SM$ID),(ORDINAL),OFFSET,RSTATUS);
00002  M00S00002.accmap  +++|# TITLE MBUFMAN - RETURNS MAP ENTRY OFFSET.                           #
00003  M00S00003.accmap  +++|
00004  M00S00004.accmap  +++|      BEGIN  # MBUFMAN  #
00005  M00S00005.accmap  +++|
00006  M00S00006.accmap  +++|#
00007  M00S00007.accmap  +++|**    MBUFMAN - ENSURES THAT THE DESIRED MAP ENTRY IS IN THE BUFFER
00008  M00S00008.accmap  +++|*               AND RETURNS THE WORD OFFSET OF THE ENTRY WITHIN
00009  M00S00009.accmap  +++|*               THE BUFFER.
00010  M00S00010.accmap  +++|*
00011  M00S00011.accmap  +++|*     MBUFMAN - IS CALLED BY MGETENT AND MPUTENT.
00012  M00S00012.accmap  +++|*
00013  M00S00013.accmap  +++|*     PROC MBUFMAN (SM$ID,ORDINAL,OFFSET,RSTATUS)
00014  M00S00014.accmap  +++|*
00015  M00S00015.accmap  +++|*     ENTRY     SM$ID   - *SM* NUMBER.
00016  M00S00016.accmap  +++|*               ORDINAL  - *XY* COORDINATE ORDINAL.
00017  M00S00017.accmap  +++|*
00018  M00S00018.accmap  +++|*     EXIT      OFFSET   - OFFSET OF ENTRY.
00019  M00S00019.accmap  +++|*               RSTATUS  - ERROR STATUS.
00020  M00S00020.accmap  +++|*                          (VALUES DEFINED IN *COMBCMS*)
00021  M00S00021.accmap  +++|*                          = NO ERRORS.
00022  M00S00022.accmap  +++|*                          = *CIO* ERROR.
00023  M00S00023.accmap  +++|*                          = MAP ORDINAL OUT OF RANGE.
00024  M00S00024.accmap  +++|#
00025  M00S00025.accmap  +++|
00026  M00S00026.accmap  +++|      ITEM SM$ID      U;             # *SM* NUMBER  #
00027  M00S00027.accmap  +++|      ITEM ORDINAL    U;             # *XY* COORDINATE ORDINAL  #
00028  M00S00028.accmap  +++|      ITEM OFFSET     U;             # ENTRY OFFSET  #
00029  M00S00029.accmap  +++|      ITEM RSTATUS    U;             # STATUS RETURNED TO CALLER  #
00030  M00S00030.accmap  +++|
00031  M00S00031.accmap  +++|#
00032  M00S00032.accmap  +++|****  PROC MBUFMAN - XREF LIST BEGIN.
00033  M00S00033.accmap  +++|#
00034  M00S00034.accmap  +++|
00035  M00S00035.accmap  +++|      XREF
00036  M00S00036.accmap  +++|        BEGIN
00037  M00S00037.accmap  +++|        PROC MCLOSE;                 # CLOSE MAP  #
00038  M00S00038.accmap  +++|        PROC MFLUSH;                 # FLUSH MAP TO FILE  #
00039  M00S00039.accmap  +++|        PROC READ;                   # INTERFACE TO *READ* MACRO #
00040  M00S00040.accmap  +++|        PROC ZSETFET;                # INITIALIZES A *FET* FOR *I/O* #
00041  M00S00041.accmap  +++|        END
00042  M00S00042.accmap  +++|
00043  M00S00043.accmap  +++|#
00044  M00S00044.accmap  +++|****  PROC MBUFMAN - EXREF LIST END.
00045  M00S00045.accmap  +++|#
00046  M00S00046.accmap  +++|
00047  M00S00047.accmap  +++|      DEF  LISTCON   #0#;      # DO NOT LIST COMMON DECKS #
00048  M00S00048.accmap  +++|*CALL COMBFAS
00049  M00S00049.accmap  +++|*CALL COMBCMD
00050  M00S00050.accmap  +++|*CALL COMBCMS
00051  M00S00051.accmap  +++|*CALL COMBFET
00052  M00S00052.accmap  +++|*CALL COMBMAP
00053  M00S00053.accmap  +++|*CALL COMBMCT
00054  M00S00054.accmap  +++|*CALL COMXMSC
00055  M00S00055.accmap  +++|*CALL COMSPFM
00056  M00S00056.accmap  +++|
00057  M00S00057.accmap  +++|      ITEM BFWA       U;             # WORD ADDRESS OF FIRST ENTRY
00058  M00S00058.accmap  +++|                                       IN BUFFER  #
00059  M00S00059.accmap  +++|      ITEM DWA        U;             # WORD ADDRESS OF DESIRED ENTRY #
00060  M00S00060.accmap  +++|      ITEM PRUNUM     U;             # *PRU* NUMBER WHERE *XY* ENTRY
00061  M00S00061.accmap  +++|                                       RESIDES  #
00062  M00S00062.accmap  +++|
00063  M00S00063.accmap  +++|
00064  M00S00064.accmap  +++|
00065  M00S00065.accmap  +++|
00066  M00S00066.accmap  +++|
00067  M00S00067.accmap  +++|      RSTATUS = CMASTAT"NOERR";
00068  M00S00068.accmap  +++|
00069  M00S00069.accmap  +++|#
00070  M00S00070.accmap  +++|*     *XY* COORDINATE HAS TO BE 1 -  352.
00071  M00S00071.accmap  +++|#
00072  M00S00072.accmap  +++|
00073  M00S00073.accmap  +++|      IF ORDINAL LQ 0 OR ORDINAL GR MAXORD
00074  M00S00074.accmap  +++|      THEN
00075  M00S00075.accmap  +++|        BEGIN
00076  M00S00076.accmap  +++|        RSTATUS = CMASTAT"ORDERR";
00077  M00S00077.accmap  +++|        RETURN;
00078  M00S00078.accmap  +++|        END
00079  M00S00079.accmap  +++|
00080  M00S00080.accmap  +++|#
00081  M00S00081.accmap  +++|*     COMPUTE
00082  M00S00082.accmap  +++|*       DWA - WORD ADDRESS IN MAP OF DESIRED MAP ENTRY.
00083  M00S00083.accmap  +++|*       BFWA - WORD ADDRESS OF FIRST ENTRY IN BUFFER.
00084  M00S00084.accmap  +++|#
00085  M00S00085.accmap  +++|
00086  M00S00086.accmap  +++|      DWA = ORDINAL * MAPENTL;
00087  M00S00087.accmap  +++|      BFWA = (MB$PRUNUM[0] - 1) * PRULEN;
00088  M00S00088.accmap  +++|
00089  M00S00089.accmap  +++|#
00090  M00S00090.accmap  +++|*     ENSURE DESIRED ENTRY IS IN THE BUFFER.
00091  M00S00091.accmap  +++|#
00092  M00S00092.accmap  +++|
00093  M00S00093.accmap  +++|      IF MB$SMID[0] NQ SM$ID  OR MB$PRUNUM[0] EQ 0 # #
00094  M00S00094.accmap  +++|        OR BFWA GR DWA OR DWA GR (BFWA + MAPBUFL - MAPENTL)
00095  M00S00095.accmap  +++|      THEN
00096  M00S00096.accmap  +++|        BEGIN  # ENTRY NOT IN BUFFER #
00097  M00S00097.accmap  +++|        IF MB$BMF[0]
00098  M00S00098.accmap  +++|        THEN
00099  M00S00099.accmap  +++|          BEGIN
00100  M00S00100.accmap  +++|          MFLUSH;
00101  M00S00101.accmap  +++|          END
00102  M00S00102.accmap  +++|
00103  M00S00103.accmap  +++|        PRUNUM = (DWA/PRULEN) + 1;
00104  M00S00104.accmap  +++|        ZSETFET(MAPFADR,OMT$LFN[SM$ID],MAPBADR,MAPBUFL,RFETL);
00105  M00S00105.accmap  +++|        FET$R[0] = TRUE;
00106  M00S00106.accmap  +++|        FET$RR[0] = PRUNUM;
00107  M00S00107.accmap  +++|        FET$EP[0] = TRUE;
00108  M00S00108.accmap  +++|        READ(MAPFET,RCL);
00109  M00S00109.accmap  +++|        IF FET$AT[0] NQ 0
00110  M00S00110.accmap  +++|        THEN
00111  M00S00111.accmap  +++|          BEGIN
00112  M00S00112.accmap  +++|          MCLOSE(ORDINAL);
00113  M00S00113.accmap  +++|          RSTATUS = CMASTAT"CIOERR";
00114  M00S00114.accmap  +++|          RETURN;
00115  M00S00115.accmap  +++|          END
00116  M00S00116.accmap  +++|
00117  M00S00117.accmap  +++|        MB$PRUNUM[0] = PRUNUM;
00118  M00S00118.accmap  +++|        MB$SMID[0] = SM$ID;
00119  M00S00119.accmap  +++|        MB$LFN[0] = OMT$LFN[SM$ID];
00120  M00S00120.accmap  +++|        BFWA = (PRUNUM - 1) * PRULEN;
00121  M00S00121.accmap  +++|        END  # ENTRY NOT IN BUFFER #
00122  M00S00122.accmap  +++|
00123  M00S00123.accmap  +++|      OFFSET = (DWA - BFWA);
00124  M00S00124.accmap  +++|      RETURN;
00125  M00S00125.accmap  +++|      END  # MBUFMAN #
00126  M00S00126.accmap  +++|
00127  M00S00127.accmap  +++|    TERM
00128  M00S00128.accmap  +++|PROC MCLOSE((SM$ID),RSTATUS);
00129  M00S00129.accmap  +++|# TITLE MCLOSE - TERMINATE MAP REFERENCE BY CALLER.                   #
00130  M00S00130.accmap  +++|      BEGIN  # MCLOSE  #
00131  M00S00131.accmap  +++|
00132  M00S00132.accmap  +++|#
00133  M00S00133.accmap  +++|**    MCLOSE - INDICATES TERMINATION OF MAP REFERENCES BY CALLER.
00134  M00S00134.accmap  +++|*
00135  M00S00135.accmap  +++|*     MCLOSE - IS CALLED BY  DBCMAP,DBFLAG,DBRDSTM,MBUFMAN,MOPEN,
00136  M00S00136.accmap  +++|*              TERMCAT,USRPC,VLSUBFM.
00137  M00S00137.accmap  +++|*
00138  M00S00138.accmap  +++|*     PROC MCLOSE (SM$ID,RSTATUS)
00139  M00S00139.accmap  +++|*
00140  M00S00140.accmap  +++|*     ENTRY     SM$ID  - *SM* NUMBER FROM CALLER.
00141  M00S00141.accmap  +++|*
00142  M00S00142.accmap  +++|*     EXIT      RSTATUS - ERROR STATUS.
00143  M00S00143.accmap  +++|*                         (VALUES DEFINED IN *COMBCMS*)
00144  M00S00144.accmap  +++|*                         = NO ERRORS.
00145  M00S00145.accmap  +++|*                         = MAP NOT OPEN.
00146  M00S00146.accmap  +++|*
00147  M00S00147.accmap  +++|#
00148  M00S00148.accmap  +++|
00149  M00S00149.accmap  +++|      ITEM SM$ID     U;             # *SM* NUMBER FROM CALLER  #
00150  M00S00150.accmap  +++|      ITEM RSTATUS    U;             # ERROR STATUS RETURNED  #
00151  M00S00151.accmap  +++|
00152  M00S00152.accmap  +++|#
00153  M00S00153.accmap  +++|****  PROC MCLOSE - XREF LIST BEGIN.
00154  M00S00154.accmap  +++|#
00155  M00S00155.accmap  +++|
00156  M00S00156.accmap  +++|      XREF
00157  M00S00157.accmap  +++|        BEGIN
00158  M00S00158.accmap  +++|        PROC MFLUSH;                 # FLUSH MAP TO FILE  #
00159  M00S00159.accmap  +++|        PROC RETERN;                 # INTERFACE TO *RETURN* MACRO  #
00160  M00S00160.accmap  +++|        PROC ZSETFET;                # INITIALIZES A *FET* FOR *I/O* #
00161  M00S00161.accmap  +++|        END
00162  M00S00162.accmap  +++|
00163  M00S00163.accmap  +++|#
00164  M00S00164.accmap  +++|****  PROC MCLOSE - EXREF LIST END.
00165  M00S00165.accmap  +++|#
00166  M00S00166.accmap  +++|
00167  M00S00167.accmap  +++|      DEF LISTCON #0#;               # CONTROLS COMDECK LISTING #
00168  M00S00168.accmap  +++|*CALL COMBFAS
00169  M00S00169.accmap  +++|*CALL COMBCMD
00170  M00S00170.accmap  +++|*CALL COMBCMS
00171  M00S00171.accmap  +++|*CALL COMBFET
00172  M00S00172.accmap  +++|*CALL COMBMCT
00173  M00S00173.accmap  +++|*CALL COMXMSC
00174  M00S00174.accmap  +++|*CALL COMSPFM
00175  M00S00175.accmap  +++|
00176  M00S00176.accmap  +++|
00177  M00S00177.accmap  +++|
00178  M00S00178.accmap  +++|
00179  M00S00179.accmap  +++|
00180  M00S00180.accmap  +++|      RSTATUS = CMASTAT"NOERR";
00181  M00S00181.accmap  +++|
00182  M00S00182.accmap  +++|#
00183  M00S00183.accmap  +++|*     MAP HAS TO BE OPEN.
00184  M00S00184.accmap  +++|#
00185  M00S00185.accmap  +++|
00186  M00S00186.accmap  +++|      IF NOT OMT$OPEN[SM$ID]
00187  M00S00187.accmap  +++|      THEN
00188  M00S00188.accmap  +++|        BEGIN
00189  M00S00189.accmap  +++|        RSTATUS = CMASTAT"NOTOPEN";
00190  M00S00190.accmap  +++|        RETURN;
00191  M00S00191.accmap  +++|        END
00192  M00S00192.accmap  +++|
00193  M00S00193.accmap  +++|#
00194  M00S00194.accmap  +++|*     CLEAR *OMT* ENTRY IF INTERLOCKED.
00195  M00S00195.accmap  +++|#
00196  M00S00196.accmap  +++|
00197  M00S00197.accmap  +++|      IF OMT$INTLK[SM$ID]
00198  M00S00198.accmap  +++|      THEN
00199  M00S00199.accmap  +++|        BEGIN
00200  M00S00200.accmap  +++|        OMT$OPEN[SM$ID] = FALSE;
00201  M00S00201.accmap  +++|        OMT$INTLK[SM$ID] = FALSE;
00202  M00S00202.accmap  +++|        RETURN;
00203  M00S00203.accmap  +++|        END
00204  M00S00204.accmap  +++|
00205  M00S00205.accmap  +++|
00206  M00S00206.accmap  +++|#
00207  M00S00207.accmap  +++|*     FLUSH BUFFER IF *MODIFY* MODE.
00208  M00S00208.accmap  +++|#
00209  M00S00209.accmap  +++|
00210  M00S00210.accmap  +++|      IF MB$SMID[0] EQ SM$ID AND OMT$ATTM[SM$ID] EQ "M"
00211  M00S00211.accmap  +++|      THEN
00212  M00S00212.accmap  +++|        BEGIN
00213  M00S00213.accmap  +++|        MFLUSH;
00214  M00S00214.accmap  +++|        END
00215  M00S00215.accmap  +++|
00216  M00S00216.accmap  +++|#
00217  M00S00217.accmap  +++|*     SET UP *FET* AND RETURN THE FILE.
00218  M00S00218.accmap  +++|#
00219  M00S00219.accmap  +++|
00220  M00S00220.accmap  +++|      ZSETFET(MAPFADR,OMT$LFN[SM$ID],MAPBADR,MAPBUFL,RFETL);
00221  M00S00221.accmap  +++|      RETERN(MAPFET,RCL);
00222  M00S00222.accmap  +++|      OMT$OPEN[SM$ID] = FALSE;
00223  M00S00223.accmap  +++|      RETURN;
00224  M00S00224.accmap  +++|      END  # MCLOSE  #
00225  M00S00225.accmap  +++|
00226  M00S00226.accmap  +++|    TERM
00227  M00S00227.accmap  +++|PROC MFLUSH;
00228  M00S00228.accmap  +++|# TITLE MFLUSH - FLUSH MAP TO FILE.                                   #
00229  M00S00229.accmap  +++|      BEGIN  # MFLUSH  #
00230  M00S00230.accmap  +++|
00231  M00S00231.accmap  +++|#
00232  M00S00232.accmap  +++|**    MFLUSH - ENSURES THAT THE RESULTS OF ANY PREVIOUS *MPUTENT*
00233  M00S00233.accmap  +++|*              REQUESTS ARE WRITTEN TO THE MAP FILE.
00234  M00S00234.accmap  +++|*
00235  M00S00235.accmap  +++|*
00236  M00S00236.accmap  +++|*     MFLUSH - IS CALLED BY ADDCAR,ADDCUBE,MBUFMAN,MCLOSE,MRELSLK,
00237  M00S00237.accmap  +++|*              RVMCAR,RVMCUBE.
00238  M00S00238.accmap  +++|*
00239  M00S00239.accmap  +++|*     PROC MFLUSH
00240  M00S00240.accmap  +++|*
00241  M00S00241.accmap  +++|#
00242  M00S00242.accmap  +++|
00243  M00S00243.accmap  +++|#
00244  M00S00244.accmap  +++|****  PROC MFLUSH - XREF LIST BEGIN.
00245  M00S00245.accmap  +++|#
00246  M00S00246.accmap  +++|
00247  M00S00247.accmap  +++|      XREF
00248  M00S00248.accmap  +++|        BEGIN
00249  M00S00249.accmap  +++|        PROC REWRITE;                # INTERFACE TO *REWRITE* MACRO  #
00250  M00S00250.accmap  +++|        PROC REWRITR;             # INTERFACE #
00251  M00S00251.accmap  +++|        END
00252  M00S00252.accmap  +++|
00253  M00S00253.accmap  +++|#
00254  M00S00254.accmap  +++|****  PROC MFLUSH - EXREF LIST END.
00255  M00S00255.accmap  +++|#
00256  M00S00256.accmap  +++|
00257  M00S00257.accmap  +++|      DEF LISTCON #0#;               # CONTROLS COMDECK LISTING  #
00258  M00S00258.accmap  +++|*CALL COMBFAS
00259  M00S00259.accmap  +++|*CALL COMBCMD
00260  M00S00260.accmap  +++|*CALL COMBCMS
00261  M00S00261.accmap  +++|*CALL COMBFET
00262  M00S00262.accmap  +++|*CALL COMBMAP
00263  M00S00263.accmap  +++|*CALL COMBMCT
00264  M00S00264.accmap  +++|*CALL COMXMSC
00265  M00S00265.accmap  +++|*CALL COMSPFM
00266  M00S00266.accmap  +++|
00267  M00S00267.accmap  +++|
00268  M00S00268.accmap  +++|
00269  M00S00269.accmap  +++|
00270  M00S00270.accmap  +++|
00271  M00S00271.accmap  +++|#
00272  M00S00272.accmap  +++|*     IF BUFFER NOT MODIFIED, EXIT.
00273  M00S00273.accmap  +++|#
00274  M00S00274.accmap  +++|
00275  M00S00275.accmap  +++|      IF NOT MB$BMF[0]
00276  M00S00276.accmap  +++|      THEN
00277  M00S00277.accmap  +++|        BEGIN
00278  M00S00278.accmap  +++|        IF OMT$ATTM[MB$SMID[0]] NQ "M"
00279  M00S00279.accmap  +++|        THEN
00280  M00S00280.accmap  +++|          BEGIN
00281  M00S00281.accmap  +++|          MB$CWRD[0] = 0;
00282  M00S00282.accmap  +++|          END
00283  M00S00283.accmap  +++|
00284  M00S00284.accmap  +++|        RETURN;
00285  M00S00285.accmap  +++|        END
00286  M00S00286.accmap  +++|
00287  M00S00287.accmap  +++|#
00288  M00S00288.accmap  +++|*     REWRITE MAP BUFFER TO THE FILE.
00289  M00S00289.accmap  +++|#
00290  M00S00290.accmap  +++|
00291  M00S00291.accmap  +++|      P<FETSET> = MAPFADR;
00292  M00S00292.accmap  +++|      FET$R[0] = TRUE;
00293  M00S00293.accmap  +++|      FET$RR[0] = MB$PRUNUM[0];
00294  M00S00294.accmap  +++|      FET$EP[0] = TRUE;
00295  M00S00295.accmap  +++|      FET$LFN[0] = MB$LFN[0];
00296  M00S00296.accmap  +++|      IF MB$PRUNUM[0] EQ 17
00297  M00S00297.accmap  +++|      THEN                         # PARTIAL PRU #
00298  M00S00298.accmap  +++|        BEGIN
00299  M00S00299.accmap  +++|        REWRITR(MAPFET,RCL);
00300  M00S00300.accmap  +++|        END
00301  M00S00301.accmap  +++|
00302  M00S00302.accmap  +++|      ELSE
00303  M00S00303.accmap  +++|        BEGIN
00304  M00S00304.accmap  +++|        IF MB$PRUNUM[0] EQ 16
00305  M00S00305.accmap  +++|        THEN                         # PARTIAL PRU STILL REMAINS #
00306  M00S00306.accmap  +++|          BEGIN
00307  M00S00307.accmap  +++|          REWRITE(MAPFET,RCL);
00308  M00S00308.accmap  +++|          FET$RR[0] = 17;
00309  M00S00309.accmap  +++|          REWRITR(MAPFET,RCL);
00310  M00S00310.accmap  +++|          END
00311  M00S00311.accmap  +++|
00312  M00S00312.accmap  +++|        ELSE
00313  M00S00313.accmap  +++|          BEGIN
00314  M00S00314.accmap  +++|          REWRITE(MAPFET,RCL);
00315  M00S00315.accmap  +++|          END
00316  M00S00316.accmap  +++|        END
00317  M00S00317.accmap  +++|
00318  M00S00318.accmap  +++|      P<FETSET> = TFETADR;
00319  M00S00319.accmap  +++|      MB$CWRD[0] = 0;
00320  M00S00320.accmap  +++|      RETURN;
00321  M00S00321.accmap  +++|      END  # MFLUSH  #
00322  M00S00322.accmap  +++|
00323  M00S00323.accmap  +++|    TERM
00324  M00S00324.accmap  +++|PROC MGETENT ((SM$ID),(ORDINAL),(MAPADR),RSTATUS);
00325  M00S00325.accmap  +++|# TITLE MGETENT - RETURN THE MAP ENTRY TO THE CALLER.                 #
00326  M00S00326.accmap  +++|      BEGIN  # MGETENT  #
00327  M00S00327.accmap  +++|
00328  M00S00328.accmap  +++|#
00329  M00S00329.accmap  +++|**    MGETENT - RETURNS THE REQUESTED MAP ENTRY TO THE CALLERS
00330  M00S00330.accmap  +++|*               MEMORY SPACE.
00331  M00S00331.accmap  +++|*
00332  M00S00332.accmap  +++|*     MGETENT - IS CALLED BY ADDCAR,ADDCUBE,DBCMAP,DBFLAG,
00333  M00S00333.accmap  +++|*               DBVSN,MSFINIT,RMVCAR,RMVCUBE,SERCSU,USRPG,VLCMAP,
00334  M00S00334.accmap  +++|*               VLCSUSC.
00335  M00S00335.accmap  +++|*
00336  M00S00336.accmap  +++|*
00337  M00S00337.accmap  +++|*     PROC MGETENT (SM$ID,ORDINAL,MAPADR,RSTATUS)
00338  M00S00338.accmap  +++|*
00339  M00S00339.accmap  +++|*     ENTRY     SM$ID   - *SM* NUMBER.
00340  M00S00340.accmap  +++|*               ORDINAL  - *XY* COORDINATE ORDINAL.
00341  M00S00341.accmap  +++|*               MAPADR   - ADDRESS OF ENTRY DESTINATION.
00342  M00S00342.accmap  +++|*
00343  M00S00343.accmap  +++|*     EXIT      (MAPADR) - MAP ENTRY.
00344  M00S00344.accmap  +++|*               RSTATUS  - ERROR STATUS.
00345  M00S00345.accmap  +++|*                          (VALUES DEFINED IN *COMBCMS*)
00346  M00S00346.accmap  +++|*                          = NO ERRORS.
00347  M00S00347.accmap  +++|*                          = MAP INTERLOCKED.
00348  M00S00348.accmap  +++|*                          = MAP NOT OPEN.
00349  M00S00349.accmap  +++|*                          = *CIO* ERROR.
00350  M00S00350.accmap  +++|*                          = MAP ORDINAL OUT OF RANGE.
00351  M00S00351.accmap  +++|#
00352  M00S00352.accmap  +++|
00353  M00S00353.accmap  +++|      ITEM SM$ID     U;             # *SM* NUMBER  #
00354  M00S00354.accmap  +++|      ITEM ORDINAL    U;             # *XY* COORDINATE ORDINAL  #
00355  M00S00355.accmap  +++|      ITEM MAPADR     U;             # ENTRY DESTINATION  #
00356  M00S00356.accmap  +++|      ITEM RSTATUS    U;             # STATUS RETURNED TO CALLER  #
00357  M00S00357.accmap  +++|
00358  M00S00358.accmap  +++|#
00359  M00S00359.accmap  +++|****  PROC MGETENT - XREF LIST BEGIN.
00360  M00S00360.accmap  +++|#
00361  M00S00361.accmap  +++|
00362  M00S00362.accmap  +++|      XREF
00363  M00S00363.accmap  +++|        BEGIN
00364  M00S00364.accmap  +++|        PROC MBUFMAN;                # GET ENTRY OFFSET  #
00365  M00S00365.accmap  +++|        END
00366  M00S00366.accmap  +++|
00367  M00S00367.accmap  +++|#
00368  M00S00368.accmap  +++|****  PROC MGETENT - EXREF LIST END.
00369  M00S00369.accmap  +++|#
00370  M00S00370.accmap  +++|
00371  M00S00371.accmap  +++|      DEF LISTCON #0#;               # CONTROLS COMDECK LISTING  #
00372  M00S00372.accmap  +++|*CALL COMBFAS
00373  M00S00373.accmap  +++|*CALL COMBCMD
00374  M00S00374.accmap  +++|*CALL COMBCMS
00375  M00S00375.accmap  +++|*CALL COMBMAP
00376  M00S00376.accmap  +++|
00377  M00S00377.accmap  +++|      ITEM I          I;             # INDUCTION VARIABLE  #
00378  M00S00378.accmap  +++|      ITEM OFFSET     U;             # RELATIVE LOCATION OF *XY* IN
00379  M00S00379.accmap  +++|                                       BUFFER  #
00380  M00S00380.accmap  +++|
00381  M00S00381.accmap  +++|      BASED
00382  M00S00382.accmap  +++|      ARRAY MENTRY [0:0] P(1);
00383  M00S00383.accmap  +++|        BEGIN
00384  M00S00384.accmap  +++|        ITEM ENT$WRD    U(00,00,60);  # ENTRY WORD  #
00385  M00S00385.accmap  +++|        END
00386  M00S00386.accmap  +++|
00387  M00S00387.accmap  +++|
00388  M00S00388.accmap  +++|
00389  M00S00389.accmap  +++|
00390  M00S00390.accmap  +++|
00391  M00S00391.accmap  +++|      RSTATUS = CMASTAT"NOERR";
00392  M00S00392.accmap  +++|
00393  M00S00393.accmap  +++|#
00394  M00S00394.accmap  +++|*     RETURN ERROR IF FILE INTERLOCKED.
00395  M00S00395.accmap  +++|#
00396  M00S00396.accmap  +++|
00397  M00S00397.accmap  +++|      IF OMT$INTLK[SM$ID]
00398  M00S00398.accmap  +++|      THEN
00399  M00S00399.accmap  +++|        BEGIN
00400  M00S00400.accmap  +++|        RSTATUS = CMASTAT"INTLK";
00401  M00S00401.accmap  +++|        RETURN;
00402  M00S00402.accmap  +++|        END
00403  M00S00403.accmap  +++|
00404  M00S00404.accmap  +++|#
00405  M00S00405.accmap  +++|*     MAP FILE HAS TO BE OPEN.
00406  M00S00406.accmap  +++|#
00407  M00S00407.accmap  +++|
00408  M00S00408.accmap  +++|      IF NOT OMT$OPEN[SM$ID]
00409  M00S00409.accmap  +++|      THEN
00410  M00S00410.accmap  +++|        BEGIN
00411  M00S00411.accmap  +++|        RSTATUS = CMASTAT"NOTOPEN";
00412  M00S00412.accmap  +++|        RETURN;
00413  M00S00413.accmap  +++|        END
00414  M00S00414.accmap  +++|
00415  M00S00415.accmap  +++|#
00416  M00S00416.accmap  +++|*     GET OFFSET OF ENTRY IN BUFFER.
00417  M00S00417.accmap  +++|#
00418  M00S00418.accmap  +++|
00419  M00S00419.accmap  +++|      MBUFMAN(SM$ID,ORDINAL,OFFSET,RSTATUS);
00420  M00S00420.accmap  +++|      IF RSTATUS NQ 0
00421  M00S00421.accmap  +++|      THEN
00422  M00S00422.accmap  +++|        BEGIN
00423  M00S00423.accmap  +++|        RETURN;
00424  M00S00424.accmap  +++|        END
00425  M00S00425.accmap  +++|
00426  M00S00426.accmap  +++|#
00427  M00S00427.accmap  +++|*     TRANSFER ENTRY TO CALLER.
00428  M00S00428.accmap  +++|#
00429  M00S00429.accmap  +++|
00430  M00S00430.accmap  +++|      P<MENTRY> = MAPADR;
00431  M00S00431.accmap  +++|      P<MAPBUF> = MAPBADR;
00432  M00S00432.accmap  +++|      FASTFOR I = 1 STEP 1 UNTIL MAPENTL
00433  M00S00433.accmap  +++|      DO
00434  M00S00434.accmap  +++|        BEGIN
00435  M00S00435.accmap  +++|        ENT$WRD[I - 1] = MAPB$W[OFFSET + I];
00436  M00S00436.accmap  +++|        END
00437  M00S00437.accmap  +++|
00438  M00S00438.accmap  +++|      RETURN;
00439  M00S00439.accmap  +++|      END  # MGETENT #
00440  M00S00440.accmap  +++|
00441  M00S00441.accmap  +++|    TERM
00442  M00S00442.accmap  +++|PROC MINIT ((LFN),(SM$ID),RSTATUS);
00443  M00S00443.accmap  +++|# TITLE MINIT - INITIALIZE A *SMU* MAP.                               #
00444  M00S00444.accmap  +++|      BEGIN  # MINIT #
00445  M00S00445.accmap  +++|
00446  M00S00446.accmap  +++|#
00447  M00S00447.accmap  +++|**    MINIT - INITIALIZE A *SMMAP* TO INDICATE CARTRIDGES ARE
00448  M00S00448.accmap  +++|*             EITHER:
00449  M00S00449.accmap  +++|*                  1. NON EXISTENT (NO CUBES)
00450  M00S00450.accmap  +++|*                  2. RESERVED FOR CE USE OR
00451  M00S00451.accmap  +++|*                  3. UNASSIGNED
00452  M00S00452.accmap  +++|*                  4. RESERVED FOR SYSTEM USE
00453  M00S00453.accmap  +++|*
00454  M00S00454.accmap  +++|*              THE PREAMBLE OF THE FILE WHICH CONTAINS THE MAP AND
00455  M00S00455.accmap  +++|*              OTHER FIELDS IN THE MAP ARE APPROPRIATELY FILLED IN
00456  M00S00456.accmap  +++|*              WITH ZEROES OR SPACES.
00457  M00S00457.accmap  +++|*
00458  M00S00458.accmap  +++|*
00459  M00S00459.accmap  +++|*     MINIT - IS CALLED BY SSDEF FOR EACH SM THAT SSDF CREATES.
00460  M00S00460.accmap  +++|*
00461  M00S00461.accmap  +++|*     PROC MINIT(LFN,RSTATUS)
00462  M00S00462.accmap  +++|*
00463  M00S00463.accmap  +++|*     ENTRY     LFN     - MAP FILE NAME.
00464  M00S00464.accmap  +++|*
00465  M00S00465.accmap  +++|*     EXIT      RSTATUS - ERROR STATUS.
00466  M00S00466.accmap  +++|*                         (VALUES DEFINED IN *COMBCMS*)
00467  M00S00467.accmap  +++|*                         = NO ERRORS.
00468  M00S00468.accmap  +++|*                         = MAP ALREADY EXISTS.
00469  M00S00469.accmap  +++|*                         = *CIO* ERROR.
00470  M00S00470.accmap  +++|*                         = MAP DEFINE ERROR.
00471  M00S00471.accmap  +++|#
00472  M00S00472.accmap  +++|
00473  M00S00473.accmap  +++|      ITEM LFN        C(6);         # NAME OF MAP FILE #
00474  M00S00474.accmap  +++|      ITEM SM$ID      U;             # *SM* NUMBER #
00475  M00S00475.accmap  +++|      ITEM RSTATUS    I;             # ERROR STATUS #
00476  M00S00476.accmap  +++|
00477  M00S00477.accmap  +++|#
00478  M00S00478.accmap  +++|****  PROC MINIT - XREF LIST BEGIN.
00479  M00S00479.accmap  +++|#
00480  M00S00480.accmap  +++|
00481  M00S00481.accmap  +++|      XREF
00482  M00S00482.accmap  +++|        BEGIN
00483  M00S00483.accmap  +++|        PROC PFD;                    # PERMANENT FILE REQUEST DELAYS #
00484  M00S00484.accmap  +++|        PROC RETERN;                 # INTERFACE TO *RETURN* MACRO  #
00485  M00S00485.accmap  +++|        PROC WRITER;                 # INTERFACE TO *WRITER* MACRO  #
00486  M00S00486.accmap  +++|        PROC WRITEW;                 # INTERFACE TO *WRITEW* MACRO  #
00487  M00S00487.accmap  +++|        PROC ZSETFET;                # INITIALIZES A *FET* FOR *I/O* #
00488  M00S00488.accmap  +++|        END
00489  M00S00489.accmap  +++|
00490  M00S00490.accmap  +++|#
00491  M00S00491.accmap  +++|****  PROC MINIT - EXREF LIST END.
00492  M00S00492.accmap  +++|#
00493  M00S00493.accmap  +++|
00494  M00S00494.accmap  +++|      DEF LISTCON #0#;               # CONTROLS COMDECK LISTING  #
00495  M00S00495.accmap  +++|*CALL COMBFAS
00496  M00S00496.accmap  +++|*CALL COMBCMD
00497  M00S00497.accmap  +++|*CALL COMBCMS
00498  M00S00498.accmap  +++|*CALL COMBFET
00499  M00S00499.accmap  +++|*CALL COMBMAP
00500  M00S00500.accmap  +++|*CALL COMBMCT
00501  M00S00501.accmap  +++|*CALL COMBPFS
00502  M00S00502.accmap  +++|*CALL COMXMSC
00503  M00S00503.accmap  +++|*CALL COMSPFM
00504  M00S00504.accmap  +++|
00505  M00S00505.accmap  +++|
00506  M00S00506.accmap  +++|      ITEM ZI         U;             # *Z* COUNTER FOR ORDINAL
00507  M00S00507.accmap  +++|                                       CALCULATION  #
00508  M00S00508.accmap  +++|      ITEM YI         U;             # *Y* COUNTER FOR ORDINAL
00509  M00S00509.accmap  +++|                                       CALCULATION  #
00510  M00S00510.accmap  +++|      ITEM MAPORD     U;             # ORDINAL OF CARTRIDGE IN MAP  #
00511  M00S00511.accmap  +++|      ITEM WRITESTAT  U;             # STATUS FROM *WRITEW* MACRO  #
00512  M00S00512.accmap  +++|
00513  M00S00513.accmap  +++|#
00514  M00S00514.accmap  +++|*     DEFINITION OF A MAP ENTRY WHICH IS USED
00515  M00S00515.accmap  +++|*     TO INITIALIZE A MAP FILE.
00516  M00S00516.accmap  +++|#
00517  M00S00517.accmap  +++|
00518  M00S00518.accmap  +++|      ARRAY SMUENTRY [0:0] P(MAPENTL); # CHANGE LINES 2032,2035,2099 #
00519  M00S00519.accmap  +++|        BEGIN
00520  M00S00520.accmap  +++|        ITEM FILLWRD1   U(00,00,60) = [O"0000 0055 5555 5555 5555"];
00521  M00S00521.accmap  +++|        ITEM FILLWRD2  U(01,00,60);
00522  M00S00522.accmap  +++|        ITEM FILLWRD3  U(02,00,60) = [O"0000 5555 5555 5555 5555"];
00523  M00S00523.accmap  +++|        END
00524  M00S00524.accmap  +++|
00525  M00S00525.accmap  +++|
00526  M00S00526.accmap  +++|
00527  M00S00527.accmap  +++|
00528  M00S00528.accmap  +++|      RSTATUS = CMASTAT"NOERR";
00529  M00S00529.accmap  +++|#
00530  M00S00530.accmap  +++|*     DEFINE A PERMANENT FILE FOR THE MAP.
00531  M00S00531.accmap  +++|#
00532  M00S00532.accmap  +++|
00533  M00S00533.accmap  +++|      PFD("DEFINE",LFN,0,"BR","Y","RC",PFSTAT,"UP",0,0);
00534  M00S00534.accmap  +++|      IF PFSTAT NQ 0
00535  M00S00535.accmap  +++|      THEN
00536  M00S00536.accmap  +++|        BEGIN
00537  M00S00537.accmap  +++|        IF PFSTAT EQ FAP
00538  M00S00538.accmap  +++|        THEN
00539  M00S00539.accmap  +++|          BEGIN
00540  M00S00540.accmap  +++|          RSTATUS = CMASTAT"INTLZD";
00541  M00S00541.accmap  +++|          END
00542  M00S00542.accmap  +++|
00543  M00S00543.accmap  +++|        ELSE
00544  M00S00544.accmap  +++|          BEGIN
00545  M00S00545.accmap  +++|          RSTATUS = CMASTAT"DEFERR";
00546  M00S00546.accmap  +++|          END
00547  M00S00547.accmap  +++|
00548  M00S00548.accmap  +++|        RETURN;
00549  M00S00549.accmap  +++|        END
00550  M00S00550.accmap  +++|
00551  M00S00551.accmap  +++|#
00552  M00S00552.accmap  +++|*     INITIALIZE A *SMUMAP* FET.
00553  M00S00553.accmap  +++|#
00554  M00S00554.accmap  +++|
00555  M00S00555.accmap  +++|      ZSETFET (MAPFADR,LFN,MAPBADR,MAPBUFL,RFETL);
00556  M00S00556.accmap  +++|      FET$EP[0] =TRUE;
00557  M00S00557.accmap  +++|
00558  M00S00558.accmap  +++|#
00559  M00S00559.accmap  +++|*     INITIALIZE THE PREAMBLE FOR THE MAP FILE.
00560  M00S00560.accmap  +++|#
00561  M00S00561.accmap  +++|
00562  M00S00562.accmap  +++|      P<SMUMAP> = LOC(SMUENTRY); # CHANGE CSUMAP TO SMUMAP #
00563  M00S00563.accmap  +++|      CM$CODE[0] = CUBSTAT"NOCUBE";
00564  M00S00564.accmap  +++|      CM$SMID = SM$ID;
00565  M00S00565.accmap  +++|      WRITEW(MAPFET,SMUENTRY,MAPENTL,WRITESTAT);
00566  M00S00566.accmap  +++|      IF FET$AT[0] NQ 0
00567  M00S00567.accmap  +++|      THEN
00568  M00S00568.accmap  +++|        BEGIN
00569  M00S00569.accmap  +++|        RSTATUS = CMASTAT"CIOERR";
00570  M00S00570.accmap  +++|        RETERN(MAPFET);
00571  M00S00571.accmap  +++|        RETURN;
00572  M00S00572.accmap  +++|        END
00573  M00S00573.accmap  +++|
00574  M00S00574.accmap  +++|
00575  M00S00575.accmap  +++|#
00576  M00S00576.accmap  +++|*     PREPARE A BUFFER FOR THE FILE.
00577  M00S00577.accmap  +++|*     DATA IS MOVED INTO THE CIRCULAR BUFFER IN ORDINAL FASHION BY
00578  M00S00578.accmap  +++|*     EXECUTING A DRECEMENTING * DO*  LOOP FOR * Z*  INSIDE A
00579  M00S00579.accmap  +++|*     *DO* LOOP FOR *Y*.  THIS IS EQUIVALENT TO THE ORDINAL
00580  M00S00580.accmap  +++|*     CALCULATION DESCRIBED BY NOCUBES-Z-(Y-MAX$Z).
00581  M00S00581.accmap  +++|#
00582  M00S00582.accmap  +++|
00583  M00S00583.accmap  +++|
00584  M00S00584.accmap  +++|# CHANGE LINES 2054 THROUGH 2110 #
00585  M00S00585.accmap  +++|      FASTFOR YI = MAX$Y STEP -1 UNTIL 0
00586  M00S00586.accmap  +++|      DO
00587  M00S00587.accmap  +++|        BEGIN  # YI DO #
00588  M00S00588.accmap  +++|        FASTFOR ZI = MAX$Z STEP -1 UNTIL 0
00589  M00S00589.accmap  +++|        DO
00590  M00S00590.accmap  +++|          BEGIN  # ZI DO #
00591  M00S00591.accmap  +++|          CM$CODE[0] = CUBSTAT"UNASGN";
00592  M00S00592.accmap  +++|
00593  M00S00593.accmap  +++|#
00594  M00S00594.accmap  +++|*      THERE ARE NO CUBICLES FOR CARTRIDGES AT *Z* = 6 BECAUSE
00595  M00S00595.accmap  +++|*      THE DRDS RESIDE IN THIS AREA. THERE ARE NO CUBICLES
00596  M00S00596.accmap  +++|*      AT THE FOLLOWING COORDINATES: *Z* = 0 *Y* = 15,
00597  M00S00597.accmap  +++|*      *Z* = 1  *Y* = 15, *Z* = 0 *Y* = 14, *Z* = 1 *Y* = 14,
00598  M00S00598.accmap  +++|*      *Z* = 0  *Y* = 13, *Z* = 1 *Y* = 13, *Z* = 0 *Y* = 12,
00599  M00S00599.accmap  +++|*      *Z* = 1  *Y* = 12, *Z* = 0 *Y* = 11, *Z* = 1 *Y* = 11.
00600  M00S00600.accmap  +++|*      THERE ARE NO CUBLICLES IN  THE PREVIOUSLY LISTED COORDINATES
00601  M00S00601.accmap  +++|*      BECAUSE THE ENTRY TRAY IS PHYSICALLY LOCATED AT THESE LOCATIONS.
00602  M00S00602.accmap  +++|#
00603  M00S00603.accmap  +++|
00604  M00S00604.accmap  +++|          IF ZI EQ 6 OR (( YI LQ 15 AND YI GQ 11)
00605  M00S00605.accmap  +++|             AND (ZI EQ 0 OR ZI EQ 1))
00606  M00S00606.accmap  +++|          THEN
00607  M00S00607.accmap  +++|            BEGIN
00608  M00S00608.accmap  +++|            CM$CODE[0] = CUBSTAT"NOCUBE";
00609  M00S00609.accmap  +++|            END
00610  M00S00610.accmap  +++|
00611  M00S00611.accmap  +++|#
00612  M00S00612.accmap  +++|*     RESERVE *CE* CUBICLES.
00613  M00S00613.accmap  +++|#
00614  M00S00614.accmap  +++|
00615  M00S00615.accmap  +++|          IF ((YI EQ 0) AND ( ZI EQ 0 OR   ZI EQ 15))
00616  M00S00616.accmap  +++|             OR (( ZI EQ 15) AND ( YI EQ 11 OR YI EQ 21))
00617  M00S00617.accmap  +++|          THEN
00618  M00S00618.accmap  +++|            BEGIN
00619  M00S00619.accmap  +++|            CM$CODE[0] = CUBSTAT"CEUSE";
00620  M00S00620.accmap  +++|            END
00621  M00S00621.accmap  +++|
Line S00622 Modification History
M01 (Removed by) msea013
Seq #  *Modification Id* Act 
----------------------------+
00622  M01S00622.msea013 ---|
00623  M01S00623.msea013 ---|#
00624  M01S00624.msea013 ---|*     RESERVE SYSTEM CARTRIDGES.
00625  M01S00625.msea013 ---|#
00626  M01S00626.msea013 ---|
00627  M01S00627.msea013 ---|          IF (( YI EQ 0) AND ( ZI EQ 1 OR ZI EQ 14 ))
00628  M01S00628.msea013 ---|             OR (( YI EQ 21)  AND ( ZI EQ 0 OR ZI EQ 14))
00629  M01S00629.msea013 ---|          THEN
00630  M01S00630.msea013 ---|            BEGIN
00631  M01S00631.msea013 ---|            CM$CODE[0] = CUBSTAT"SYSUSE";
00632  M01S00632.msea013 ---|            END
00633  M00S00633.accmap  +++|
00634  M00S00634.accmap  +++|          WRITEW(MAPFET,SMUENTRY,MAPENTL,WRITESTAT);
00635  M00S00635.accmap  +++|          IF FET$AT[0] NQ 0
00636  M00S00636.accmap  +++|          THEN
00637  M00S00637.accmap  +++|            BEGIN
00638  M00S00638.accmap  +++|            RSTATUS = CMASTAT"CIOERR";
00639  M00S00639.accmap  +++|            RETERN(MAPFET);
00640  M00S00640.accmap  +++|            RETURN;
00641  M00S00641.accmap  +++|            END
00642  M00S00642.accmap  +++|
00643  M00S00643.accmap  +++|          END  # ZI DO  #
00644  M00S00644.accmap  +++|
00645  M00S00645.accmap  +++|        END  # YI DO  #
00646  M00S00646.accmap  +++|
00647  M00S00647.accmap  +++|#
00648  M00S00648.accmap  +++|*     FLUSH THE CIRCULAR BUFFER TO DISK.
00649  M00S00649.accmap  +++|#
00650  M00S00650.accmap  +++|
00651  M00S00651.accmap  +++|      WRITER(MAPFET,RCL);
00652  M00S00652.accmap  +++|      IF FET$AT[0] NQ 0
00653  M00S00653.accmap  +++|      THEN
00654  M00S00654.accmap  +++|        BEGIN
00655  M00S00655.accmap  +++|        RSTATUS = CMASTAT"CIOERR";
00656  M00S00656.accmap  +++|        END
00657  M00S00657.accmap  +++|
00658  M00S00658.accmap  +++|      RETERN(MAPFET);
00659  M00S00659.accmap  +++|      RETURN;
00660  M00S00660.accmap  +++|      END  # MINIT #
00661  M00S00661.accmap  +++|
00662  M00S00662.accmap  +++|    TERM
00663  M00S00663.accmap  +++|PROC MOPEN ((SM$ID),(LFN),(MODE),RSTATUS);
00664  M00S00664.accmap  +++|# TITLE MOPEN - ESTABLISH CALLER ACCESS TO MAP FILE.                  #
00665  M00S00665.accmap  +++|      BEGIN  # MOPEN  #
00666  M00S00666.accmap  +++|
00667  M00S00667.accmap  +++|#
00668  M00S00668.accmap  +++|**    MOPEN - PREPARES THE MAP FILE FOR SUBSEQUENT REFERENCES BY THE
00669  M00S00669.accmap  +++|*             CALLER.
00670  M00S00670.accmap  +++|*
00671  M00S00671.accmap  +++|*     MOPEN - IS CALLED BY USRPC,VLSUBSM.
00672  M00S00672.accmap  +++|*
00673  M00S00673.accmap  +++|*     PROC MOPEN (SM$ID,LFN,MODE,RSTATUS)
00674  M00S00674.accmap  +++|*
00675  M00S00675.accmap  +++|*     ENTRY     SM$ID   - *SM* NUMBER FOR THE MAP.
00676  M00S00676.accmap  +++|*               LFN     - NAME OF MAP FILE.
00677  M00S00677.accmap  +++|*               MODE    - FILE ATTACH MODE IN DISPLAY CODE.
00678  M00S00678.accmap  +++|*                         = *M*, MODIFY MODE.
00679  M00S00679.accmap  +++|*                         = *RM*, READ/ALLOW MODIFY MODE.
00680  M00S00680.accmap  +++|*
00681  M00S00681.accmap  +++|*     EXIT      RSTATUS - ERROR STATUS.
00682  M00S00682.accmap  +++|*                         (VALUES DEFINED IN *COMBCMS*)
00683  M00S00683.accmap  +++|*                         = NO ERRORS.
00684  M00S00684.accmap  +++|*                         = MAP INTERLOCKED.
00685  M00S00685.accmap  +++|*                         = MAP ALREADY OPEN.
00686  M00S00686.accmap  +++|*                         = *CIO* ERROR.
00687  M00S00687.accmap  +++|*                         = MAP ATTACH ERROR.
00688  M00S00688.accmap  +++|#
00689  M00S00689.accmap  +++|
00690  M00S00690.accmap  +++|      ITEM SM$ID     U;             # *SM* NUMBER FOR MAP  #
00691  M00S00691.accmap  +++|      ITEM LFN        C(6);         # NAME OF MAP FILE #
00692  M00S00692.accmap  +++|      ITEM MODE       C(2);          # FILE ATTACH MODE #
00693  M00S00693.accmap  +++|      ITEM RSTATUS    U;             # ERROR STATUS RETURNED  #
00694  M00S00694.accmap  +++|
00695  M00S00695.accmap  +++|#
00696  M00S00696.accmap  +++|****  PROC MOPEN - XREF LIST BEGIN.
00697  M00S00697.accmap  +++|#
00698  M00S00698.accmap  +++|
00699  M00S00699.accmap  +++|
00700  M00S00700.accmap  +++|      XREF
00701  M00S00701.accmap  +++|        BEGIN
00702  M00S00702.accmap  +++|        PROC MCLOSE;                 # CLOSE MAP #
00703  M00S00703.accmap  +++|        PROC MFLUSH;                 # FLUSH MAP TO FILE  #
00704  M00S00704.accmap  +++|        PROC PFD;                    # PERMANENT FILE REQUEST DELAYS #
00705  M00S00705.accmap  +++|        PROC READ;                   # INTERFACE TO *READ* MACRO #
00706  M00S00706.accmap  +++|        PROC ZSETFET;                # INITIALIZES A *FET* FOR *I/O* #
00707  M00S00707.accmap  +++|        END
00708  M00S00708.accmap  +++|
00709  M00S00709.accmap  +++|#
00710  M00S00710.accmap  +++|****  PROC MOPEN - EXREF LIST END.
00711  M00S00711.accmap  +++|#
00712  M00S00712.accmap  +++|
00713  M00S00713.accmap  +++|
00714  M00S00714.accmap  +++|      DEF LISTCON #0#;               # NO LISTING OF COMMON DECKS  #
00715  M00S00715.accmap  +++|*CALL COMBFAS
00716  M00S00716.accmap  +++|*CALL COMBCMD
00717  M00S00717.accmap  +++|*CALL COMBCMS
00718  M00S00718.accmap  +++|*CALL COMBFET
00719  M00S00719.accmap  +++|*CALL COMBMAP
00720  M00S00720.accmap  +++|*CALL COMBMCT
00721  M00S00721.accmap  +++|*CALL COMBPFS
00722  M00S00722.accmap  +++|*CALL COMXCTF
00723  M00S00723.accmap  +++|*CALL COMXMSC
00724  M00S00724.accmap  +++|*CALL COMSPFM
00725  M00S00725.accmap  +++|
00726  M00S00726.accmap  +++|
00727  M00S00727.accmap  +++|      ITEM ZERO       U = 0;         # WORD OF ZERO  #
00728  M00S00728.accmap  +++|
00729  M00S00729.accmap  +++|
00730  M00S00730.accmap  +++|
00731  M00S00731.accmap  +++|
00732  M00S00732.accmap  +++|
00733  M00S00733.accmap  +++|      RSTATUS = CMASTAT"NOERR";
00734  M00S00734.accmap  +++|      P<OMT> = OMTADR;
00735  M00S00735.accmap  +++|
00736  M00S00736.accmap  +++|#
00737  M00S00737.accmap  +++|*     RETURN ERROR IF FILE OPEN.
00738  M00S00738.accmap  +++|#
00739  M00S00739.accmap  +++|
00740  M00S00740.accmap  +++|      IF OMT$OPEN [SM$ID]
00741  M00S00741.accmap  +++|      THEN
00742  M00S00742.accmap  +++|        BEGIN
00743  M00S00743.accmap  +++|        RSTATUS = CMASTAT"FOPEN";
00744  M00S00744.accmap  +++|        RETURN;
00745  M00S00745.accmap  +++|        END
00746  M00S00746.accmap  +++|
00747  M00S00747.accmap  +++|      PFD("ATTACH",LFN,0,"M",MODE,"RC",PFSTAT,"NA",0,"UP",0,0);
00748  M00S00748.accmap  +++|
00749  M00S00749.accmap  +++|#
00750  M00S00750.accmap  +++|*     RETURN ATTACH ERROR IF NOT BUSY.
00751  M00S00751.accmap  +++|#
00752  M00S00752.accmap  +++|
00753  M00S00753.accmap  +++|      IF PFSTAT NQ 0 AND PFSTAT NQ FBS
00754  M00S00754.accmap  +++|      THEN
00755  M00S00755.accmap  +++|        BEGIN
00756  M00S00756.accmap  +++|        RSTATUS = CMASTAT"ATTERR";
00757  M00S00757.accmap  +++|        RETURN;
00758  M00S00758.accmap  +++|        END
00759  M00S00759.accmap  +++|
00760  M00S00760.accmap  +++|#
00761  M00S00761.accmap  +++|*     CREATE AN OPEN MAP TABLE ENTRY FOR AN EXISTING FILE.
00762  M00S00762.accmap  +++|#
00763  M00S00763.accmap  +++|
00764  M00S00764.accmap  +++|      OMT$ATTM[SM$ID] = MODE;
00765  M00S00765.accmap  +++|      OMT$LFN[SM$ID] = LFN;
00766  M00S00766.accmap  +++|      OMT$ZER[SM$ID] = 0;
00767  M00S00767.accmap  +++|
00768  M00S00768.accmap  +++|#
00769  M00S00769.accmap  +++|*     INTERLOCK THE FILE IF BUSY.
00770  M00S00770.accmap  +++|#
00771  M00S00771.accmap  +++|
00772  M00S00772.accmap  +++|      IF PFSTAT EQ FBS
00773  M00S00773.accmap  +++|      THEN
00774  M00S00774.accmap  +++|        BEGIN
00775  M00S00775.accmap  +++|        OMT$INTLK[SM$ID] = TRUE;
00776  M00S00776.accmap  +++|        MAPINTLK = TRUE;
00777  M00S00777.accmap  +++|        RSTATUS = CMASTAT"INTLK";
00778  M00S00778.accmap  +++|        RETURN;
00779  M00S00779.accmap  +++|        END
00780  M00S00780.accmap  +++|
00781  M00S00781.accmap  +++|#
00782  M00S00782.accmap  +++|*     SET FILE OPEN AND AVAILABLE.
00783  M00S00783.accmap  +++|#
00784  M00S00784.accmap  +++|
00785  M00S00785.accmap  +++|      OMT$INTLK[SM$ID] = FALSE;
00786  M00S00786.accmap  +++|      OMT$OPEN[SM$ID] = TRUE;
00787  M00S00787.accmap  +++|      MFLUSH;
00788  M00S00788.accmap  +++|      ZSETFET (MAPFADR,LFN,MAPBADR,MAPBUFL,RFETL);
00789  M00S00789.accmap  +++|      P<MAPFET> = MAPFADR;
00790  M00S00790.accmap  +++|      FET$EP[0] = TRUE;
00791  M00S00791.accmap  +++|      FET$R[0] = TRUE;
00792  M00S00792.accmap  +++|      FET$RR[0] = 1;
00793  M00S00793.accmap  +++|      READ(MAPFET,RCL);
00794  M00S00794.accmap  +++|      IF FET$AT[0] NQ 0
00795  M00S00795.accmap  +++|      THEN
00796  M00S00796.accmap  +++|        BEGIN
00797  M00S00797.accmap  +++|        MCLOSE(SM$ID);
00798  M00S00798.accmap  +++|        RSTATUS = CMASTAT"CIOERR";
00799  M00S00799.accmap  +++|        RETURN;
00800  M00S00800.accmap  +++|        END
00801  M00S00801.accmap  +++|
00802  M00S00802.accmap  +++|#
00803  M00S00803.accmap  +++|*     UPDATE MAP BUFFER CONTROL WORD TO REFLECT CURRENT CONTENTS.
00804  M00S00804.accmap  +++|#
00805  M00S00805.accmap  +++|
00806  M00S00806.accmap  +++|      P<SMUMAP> = MAPBADR;
00807  M00S00807.accmap  +++|      MB$PRUNUM[0] = 1;
00808  M00S00808.accmap  +++|      MB$SMID[0] = CM$SMID[0];
00809  M00S00809.accmap  +++|      MB$LFN[0] = OMT$LFN[SM$ID];
00810  M00S00810.accmap  +++|
00811  M00S00811.accmap  +++|#
00812  M00S00812.accmap  +++|*     VERIFY THAT THE RIGHT FILE HAS BEEN ATTACHED.
00813  M00S00813.accmap  +++|#
00814  M00S00814.accmap  +++|
00815  M00S00815.accmap  +++|      IF CM$SMID[0] NQ SM$ID
00816  M00S00816.accmap  +++|      THEN
00817  M00S00817.accmap  +++|        BEGIN
00818  M00S00818.accmap  +++|        MCLOSE(SM$ID,RSTATUS);
00819  M00S00819.accmap  +++|        RSTATUS = CMASTAT"ATTERR";
00820  M00S00820.accmap  +++|        END
00821  M00S00821.accmap  +++|
00822  M00S00822.accmap  +++|      RETURN;
00823  M00S00823.accmap  +++|      END  # MOPEN  #
00824  M00S00824.accmap  +++|
00825  M00S00825.accmap  +++|    TERM
00826  M00S00826.accmap  +++|PROC MPUTENT ((SM$ID),(ORDINAL),(MAPADR),RSTATUS);
00827  M00S00827.accmap  +++|# TITLE MPUTENT - MAP ENTRY TO THE MAP FILE BUFFER.                   #
00828  M00S00828.accmap  +++|      BEGIN  # MPUTENT  #
00829  M00S00829.accmap  +++|
00830  M00S00830.accmap  +++|#
00831  M00S00831.accmap  +++|**    MPUTENT - MOVES THE REQUESTED MAP ENTRY FROM THE CALLERS
00832  M00S00832.accmap  +++|*               MEMORY SPACE TO THE MAP *I/O* BUFFER.
00833  M00S00833.accmap  +++|*
00834  M00S00834.accmap  +++|*               THE BUFFER IS NOT WRITTEN TO THE FILE AT THIS TIME
00835  M00S00835.accmap  +++|*               BUT THE BUFFER MODIFIED FLAG IS SET.
00836  M00S00836.accmap  +++|*               THE CALLER IS RESPONSIBLE FOR CALLING *MFLUSH* AT THE
00837  M00S00837.accmap  +++|*               TIME THE BUFFER SHOULD BE WRITTEN TO THE FILE.
00838  M00S00838.accmap  +++|*
00839  M00S00839.accmap  +++|*     MPUTENT - IS CALLED BY ADDCAR,ADDCUBE,RMVCAR,RMVCUBE,
00840  M00S00840.accmap  +++|*               UPDMAP.
00841  M00S00841.accmap  +++|*
00842  M00S00842.accmap  +++|*     PROC MPUTENT (SM$ID,ORDINAL,MAPADR,RSTATUS)
00843  M00S00843.accmap  +++|*
00844  M00S00844.accmap  +++|*     ENTRY     SM$ID   - *SM* NUMBER OF MAP FILE.
00845  M00S00845.accmap  +++|*               ORDINAL - *XY* COORDINATE ORDINAL FOR THE ENTRY.
00846  M00S00846.accmap  +++|*               MAPADR  - ADDRESS OF MAP ENTRY WITHIN CALLER AREA.
00847  M00S00847.accmap  +++|*
00848  M00S00848.accmap  +++|*     EXIT      RSTATUS - ERROR STATUS.
00849  M00S00849.accmap  +++|*                         (VALUES DEFINED IN *COMBCMS*)
00850  M00S00850.accmap  +++|*                         = NO ERRORS.
00851  M00S00851.accmap  +++|*                         = MAP INTERLOCKED.
00852  M00S00852.accmap  +++|*                         = MAP NOT OPEN.
00853  M00S00853.accmap  +++|*                         = MAP NOT OPEN IN MODIFY MODE.
00854  M00S00854.accmap  +++|*                         = *CIO* ERROR.
00855  M00S00855.accmap  +++|*                         = MAP ORDINAL OUT OF RANGE.
00856  M00S00856.accmap  +++|#
00857  M00S00857.accmap  +++|
00858  M00S00858.accmap  +++|      ITEM SM$ID     U;             # *SM* NUMBER  #
00859  M00S00859.accmap  +++|      ITEM ORDINAL    U;             # *XY* COORDINATE ORDINAL  #
00860  M00S00860.accmap  +++|      ITEM MAPADR     U;             # SOURCE OF CATALOG ENTRY  #
00861  M00S00861.accmap  +++|      ITEM RSTATUS    U;             # STATUS RETURNED TO THE CALLER  #
00862  M00S00862.accmap  +++|
00863  M00S00863.accmap  +++|#
00864  M00S00864.accmap  +++|****  PROC MPUTENT - XREF LIST BEGIN.
00865  M00S00865.accmap  +++|#
00866  M00S00866.accmap  +++|
00867  M00S00867.accmap  +++|      XREF
00868  M00S00868.accmap  +++|        BEGIN
00869  M00S00869.accmap  +++|        PROC MBUFMAN;                # GET ENTRY INTO BUFFER #
00870  M00S00870.accmap  +++|        END
00871  M00S00871.accmap  +++|
00872  M00S00872.accmap  +++|#
00873  M00S00873.accmap  +++|****  PROC MPUTENT - EXREF LIST END.
00874  M00S00874.accmap  +++|#
00875  M00S00875.accmap  +++|
00876  M00S00876.accmap  +++|      DEF LISTCON #0#;               # CONTROLS COMDECK LISTING  #
00877  M00S00877.accmap  +++|*CALL COMBFAS
00878  M00S00878.accmap  +++|*CALL COMBCMD
00879  M00S00879.accmap  +++|*CALL COMBCMS
00880  M00S00880.accmap  +++|*CALL COMBMAP
00881  M00S00881.accmap  +++|*CALL COMSPFM
00882  M00S00882.accmap  +++|
00883  M00S00883.accmap  +++|      ITEM I          I;             # INDUCTION VARIABLE  #
00884  M00S00884.accmap  +++|      ITEM OFFSET     U;             # RELATIVE LOCATION OF *XY* IN
00885  M00S00885.accmap  +++|                                       BUFFER  #
00886  M00S00886.accmap  +++|
00887  M00S00887.accmap  +++|      BASED
00888  M00S00888.accmap  +++|      ARRAY MENTRY [0:0] P(1);
00889  M00S00889.accmap  +++|        BEGIN
00890  M00S00890.accmap  +++|        ITEM ENT$WRD     U(00,00,60);  # ENTRY WORD  #
00891  M00S00891.accmap  +++|        END
00892  M00S00892.accmap  +++|
00893  M00S00893.accmap  +++|
00894  M00S00894.accmap  +++|
00895  M00S00895.accmap  +++|
00896  M00S00896.accmap  +++|
00897  M00S00897.accmap  +++|      RSTATUS = CMASTAT"NOERR";
00898  M00S00898.accmap  +++|
00899  M00S00899.accmap  +++|#
00900  M00S00900.accmap  +++|*     RETURN ERROR IF FILE INTERLOCKED.
00901  M00S00901.accmap  +++|#
00902  M00S00902.accmap  +++|
00903  M00S00903.accmap  +++|      IF OMT$INTLK[SM$ID]
00904  M00S00904.accmap  +++|      THEN
00905  M00S00905.accmap  +++|        BEGIN
00906  M00S00906.accmap  +++|        RSTATUS = CMASTAT"INTLK";
00907  M00S00907.accmap  +++|        RETURN;
00908  M00S00908.accmap  +++|        END
00909  M00S00909.accmap  +++|
00910  M00S00910.accmap  +++|#
00911  M00S00911.accmap  +++|*
00912  M00S00912.accmap  +++|*     MAP FILE HAS TO BE OPENED IN *MODIFY* MODE.
00913  M00S00913.accmap  +++|#
00914  M00S00914.accmap  +++|
00915  M00S00915.accmap  +++|      IF NOT OMT$OPEN[SM$ID]
00916  M00S00916.accmap  +++|      THEN
00917  M00S00917.accmap  +++|        BEGIN
00918  M00S00918.accmap  +++|        RSTATUS = CMASTAT"NOTOPEN";
00919  M00S00919.accmap  +++|        RETURN;
00920  M00S00920.accmap  +++|        END
00921  M00S00921.accmap  +++|
00922  M00S00922.accmap  +++|      IF OMT$ATTM[SM$ID] EQ "RM"
00923  M00S00923.accmap  +++|      THEN
00924  M00S00924.accmap  +++|        BEGIN
00925  M00S00925.accmap  +++|        RSTATUS = CMASTAT"MODERR";
00926  M00S00926.accmap  +++|        RETURN;
00927  M00S00927.accmap  +++|        END
00928  M00S00928.accmap  +++|
00929  M00S00929.accmap  +++|#
00930  M00S00930.accmap  +++|*     GET OFFSET OF ENTRY IN BUFFER.
00931  M00S00931.accmap  +++|#
00932  M00S00932.accmap  +++|
00933  M00S00933.accmap  +++|      MBUFMAN(SM$ID,ORDINAL,OFFSET,RSTATUS);
00934  M00S00934.accmap  +++|      IF RSTATUS NQ 0
00935  M00S00935.accmap  +++|      THEN
00936  M00S00936.accmap  +++|        BEGIN
00937  M00S00937.accmap  +++|        RETURN;
00938  M00S00938.accmap  +++|        END
00939  M00S00939.accmap  +++|
00940  M00S00940.accmap  +++|#
00941  M00S00941.accmap  +++|*     TRANSFER ENTRY TO BUFFER.
00942  M00S00942.accmap  +++|#
00943  M00S00943.accmap  +++|
00944  M00S00944.accmap  +++|      P<MENTRY> = MAPADR;
00945  M00S00945.accmap  +++|      P<MAPBUF> = MAPBADR;
00946  M00S00946.accmap  +++|      FASTFOR I = 1 STEP 1 UNTIL MAPENTL
00947  M00S00947.accmap  +++|      DO
00948  M00S00948.accmap  +++|        BEGIN
00949  M00S00949.accmap  +++|        MAPB$W[OFFSET + I] = ENT$WRD[I - 1];
00950  M00S00950.accmap  +++|        END
00951  M00S00951.accmap  +++|
00952  M00S00952.accmap  +++|      MB$BMF[0] = TRUE;
00953  M00S00953.accmap  +++|      RETURN;
00954  M00S00954.accmap  +++|      END  # MPUTENT #
00955  M00S00955.accmap  +++|
00956  M00S00956.accmap  +++|    TERM
00957  M00S00957.accmap  +++|PROC MRCLMLK((SM$ID),RSTATUS);
00958  M00S00958.accmap  +++|# TITLE MRCLMLK - RECLAIM MAP INTERLOCK.                              #
00959  M00S00959.accmap  +++|      BEGIN  # MRCLMLK  #
00960  M00S00960.accmap  +++|
00961  M00S00961.accmap  +++|#
00962  M00S00962.accmap  +++|**    MRCLMLK - TRIES TO RECLAIM THE MAP FILE FOR THE SPECIFIED *SM*.
00963  M00S00963.accmap  +++|*               IT IS ASSUMED THAT THE CALLER IS RUNNING UNDER THE
00964  M00S00964.accmap  +++|*               DEFAULT FAMILY AND USER INDEX OF 377760B.
00965  M00S00965.accmap  +++|*
00966  M00S00966.accmap  +++|*     MRCLMLK - IS CALLED BY RCLMLK AND MAPRCLM.
00967  M00S00967.accmap  +++|*
00968  M00S00968.accmap  +++|*     PROC MRCLMLK(SM$ID,RSTATUS)
00969  M00S00969.accmap  +++|*
00970  M00S00970.accmap  +++|*     ENTRY     SM$ID  - *SM* NUMBER OF THE MAP.
00971  M00S00971.accmap  +++|*
00972  M00S00972.accmap  +++|*     EXIT      RSTATUS - ERROR STATUS.
00973  M00S00973.accmap  +++|*                         (VALUES DEFINED IN *COMBCMS*)
00974  M00S00974.accmap  +++|*                         = NO ERRORS.
00975  M00S00975.accmap  +++|*                         = MAP INTERLOCKED.
00976  M00S00976.accmap  +++|*                         = MAP ATTACH ERROR.
00977  M00S00977.accmap  +++|*
00978  M00S00978.accmap  +++|*
00979  M00S00979.accmap  +++|*     MESSAGES   * UNABLE TO REATTACH SMUMAP.
00980  M00S00980.accmap  +++|*                  CSMAPX CLOSED.*
00981  M00S00981.accmap  +++|#
00982  M00S00982.accmap  +++|
00983  M00S00983.accmap  +++|      ITEM SM$ID     U;             # *SM* NUMBER  #
00984  M00S00984.accmap  +++|      ITEM RSTATUS    U;             # ERROR STATUS RETURNED  #
00985  M00S00985.accmap  +++|
00986  M00S00986.accmap  +++|#
00987  M00S00987.accmap  +++|****  PROC MRCLMLK - XREF LIST BEGIN.
00988  M00S00988.accmap  +++|#
00989  M00S00989.accmap  +++|
00990  M00S00990.accmap  +++|      XREF
00991  M00S00991.accmap  +++|        BEGIN
00992  M00S00992.accmap  +++|        PROC MESSAGE;                # ISSUE MESSAGE #
00993  M00S00993.accmap  +++|        PROC MOPEN;                  # OPEN MAP #
00994  M00S00994.accmap  +++|        PROC PF;                     # *PFM* REQUEST INTERFACE #
00995  M00S00995.accmap  +++|        END
00996  M00S00996.accmap  +++|
00997  M00S00997.accmap  +++|#
00998  M00S00998.accmap  +++|****  PROC MRCLMLK - EXREF LIST END.
00999  M00S00999.accmap  +++|#
01000  M00S01000.accmap  +++|
01001  M00S01001.accmap  +++|      DEF LISTCON #0#;               # DO NOT LIST COMMON DECKS  #
01002  M00S01002.accmap  +++|*CALL COMBFAS
01003  M00S01003.accmap  +++|*CALL COMBCMD
01004  M00S01004.accmap  +++|*CALL COMBCMS
01005  M00S01005.accmap  +++|*CALL COMBMCT
01006  M00S01006.accmap  +++|*CALL COMXMSC
01007  M00S01007.accmap  +++|*CALL COMSPFM
01008  M00S01008.accmap  +++|
01009  M00S01009.accmap  +++|      ITEM ATCH$STAT  U;             # STATUS FROM *ATTACH* REQUEST #
01010  M00S01010.accmap  +++|
01011  M00S01011.accmap  +++|      RSTATUS = CMASTAT"NOERR";
01012  M00S01012.accmap  +++|      P<OMT> = OMTADR;
01013  M00S01013.accmap  +++|
01014  M00S01014.accmap  +++|#
01015  M00S01015.accmap  +++|*     EXIT IF MAP NOT INTERLOCKED.
01016  M00S01016.accmap  +++|#
01017  M00S01017.accmap  +++|
01018  M00S01018.accmap  +++|      IF NOT OMT$INTLK[SM$ID]
01019  M00S01019.accmap  +++|      THEN
01020  M00S01020.accmap  +++|        BEGIN
01021  M00S01021.accmap  +++|        RETURN;
01022  M00S01022.accmap  +++|        END
01023  M00S01023.accmap  +++|
01024  M00S01024.accmap  +++|#
01025  M00S01025.accmap  +++|*     IF THE FILE IS OPEN, ATTACH IT.
01026  M00S01026.accmap  +++|*     IF THE FILE IS NOT OPEN, OPEN IT.
01027  M00S01027.accmap  +++|#
01028  M00S01028.accmap  +++|
01029  M00S01029.accmap  +++|      IF NOT OMT$OPEN[SM$ID]
01030  M00S01030.accmap  +++|      THEN
01031  M00S01031.accmap  +++|        BEGIN
01032  M00S01032.accmap  +++|        MOPEN(SM$ID,OMT$LFN[SM$ID],OMT$ATTM[SM$ID],RSTATUS);
01033  M00S01033.accmap  +++|        RETURN;
01034  M00S01034.accmap  +++|        END
01035  M00S01035.accmap  +++|
01036  M00S01036.accmap  +++|      PF("ATTACH",OMT$LFN[SM$ID],0,"M",OMT$ATTM[SM$ID],
01037  M00S01037.accmap  +++|        "RC",ATCH$STAT,"NA",0,"UP",0,0);
01038  M00S01038.accmap  +++|      IF ATCH$STAT NQ 0
01039  M00S01039.accmap  +++|      THEN
01040  M00S01040.accmap  +++|        BEGIN          # INTERLOCK NOT RECLAIMED #
01041  M00S01041.accmap  +++|        IF ATCH$STAT EQ FBS OR ATCH$STAT EQ PFA  ##
01042  M00S01042.accmap  +++|          OR ATCH$STAT EQ INA OR ATCH$STAT EQ FTF  ##
01043  M00S01043.accmap  +++|          OR ATCH$STAT EQ PEA
01044  M00S01044.accmap  +++|        THEN                         # MAP BUSY OR TEMPORARY ERROR #
01045  M00S01045.accmap  +++|          BEGIN
01046  M00S01046.accmap  +++|          RSTATUS = CMASTAT"INTLK";
01047  M00S01047.accmap  +++|          END
01048  M00S01048.accmap  +++|
01049  M00S01049.accmap  +++|        ELSE
01050  M00S01050.accmap  +++|          BEGIN
01051  M00S01051.accmap  +++|          RSTATUS = CMASTAT"ATTERR";
01052  M00S01052.accmap  +++|          OMT$OPEN[SM$ID] = FALSE;
01053  M00S01053.accmap  +++|          OMT$INTLK[SM$ID] = FALSE;
01054  M00S01054.accmap  +++|          CMSGLINE[0] = MMSG1;       # ISSUE ERROR MESSAGE #
01055  M00S01055.accmap  +++|          MESSAGE(CMSGAREA,UDFL1);
01056  M00S01056.accmap  +++|          CMSGLINE[0] = MMSGCLOSE;
01057  M00S01057.accmap  +++|          CMSGMAPID[0] = SM$ID;
01058  M00S01058.accmap  +++|          MESSAGE(CMSGAREA,UDFL1);
01059  M00S01059.accmap  +++|          END
01060  M00S01060.accmap  +++|
01061  M00S01061.accmap  +++|        END            # INTERLOCK NOT RECLAIMED #
01062  M00S01062.accmap  +++|
01063  M00S01063.accmap  +++|      ELSE                         # INTERLOCK RECLAIMED #
01064  M00S01064.accmap  +++|        BEGIN
01065  M00S01065.accmap  +++|        OMT$INTLK[SM$ID] = FALSE;
01066  M00S01066.accmap  +++|        END
01067  M00S01067.accmap  +++|
01068  M00S01068.accmap  +++|
01069  M00S01069.accmap  +++|      RETURN;
01070  M00S01070.accmap  +++|
01071  M00S01071.accmap  +++|      END  # MRCLMLK  #
01072  M00S01072.accmap  +++|
01073  M00S01073.accmap  +++|    TERM
01074  M00S01074.accmap  +++|PROC MRELSLK ((SM$ID));
01075  M00S01075.accmap  +++|# TITLE MRELSLK - RETURN A MAP FILE.                                  #
01076  M00S01076.accmap  +++|      BEGIN  # MRELSLK  #
01077  M00S01077.accmap  +++|
01078  M00S01078.accmap  +++|#
01079  M00S01079.accmap  +++|**    MRELSLK - RETURNS A *SMMAP* FILE FOR A *SMID* WHICH HAS BEEN
01080  M00S01080.accmap  +++|*               PREVIOUSLY OPENED IN *MODIFY* MODE.
01081  M00S01081.accmap  +++|*
01082  M00S01082.accmap  +++|*     MRELSLK - IS CALLED BY MAPRELS.
01083  M00S01083.accmap  +++|*
01084  M00S01084.accmap  +++|*     PROC MRELSLK (SM$ID)
01085  M00S01085.accmap  +++|*
01086  M00S01086.accmap  +++|*     ENTRY     SM$ID  - *SM* NUMBER OF MAP FILE.
01087  M00S01087.accmap  +++|#
01088  M00S01088.accmap  +++|
01089  M00S01089.accmap  +++|      ITEM SM$ID     U;             # *SM* NUMBER FROM CALLER  #
01090  M00S01090.accmap  +++|
01091  M00S01091.accmap  +++|#
01092  M00S01092.accmap  +++|****  PROC MRELSLK - XREF LIST BEGIN.
01093  M00S01093.accmap  +++|#
01094  M00S01094.accmap  +++|
01095  M00S01095.accmap  +++|      XREF
01096  M00S01096.accmap  +++|        BEGIN
01097  M00S01097.accmap  +++|        PROC MFLUSH;                 # FLUSH MAP TO FILE  #
01098  M00S01098.accmap  +++|        PROC RETERN;                 # INTERFACE TO *RETURN* MACRO  #
01099  M00S01099.accmap  +++|        PROC RTIME;                  # GET CURRENT TIME #
01100  M00S01100.accmap  +++|        PROC ZSETFET;                # INITIALIZES A *FET* FOR *I/O* #
01101  M00S01101.accmap  +++|        END
01102  M00S01102.accmap  +++|
01103  M00S01103.accmap  +++|#
01104  M00S01104.accmap  +++|****  PROC MRELSLK - EXREF LIST END.
01105  M00S01105.accmap  +++|#
01106  M00S01106.accmap  +++|
01107  M00S01107.accmap  +++|      DEF LISTCON #0#;               # CONTROLS COMDECK LISTING  #
01108  M00S01108.accmap  +++|*CALL COMBFAS
01109  M00S01109.accmap  +++|*CALL COMBCMD
01110  M00S01110.accmap  +++|*CALL COMBCMS
01111  M00S01111.accmap  +++|*CALL COMBFET
01112  M00S01112.accmap  +++|*CALL COMBMCT
01113  M00S01113.accmap  +++|*CALL COMXCTF
01114  M00S01114.accmap  +++|*CALL COMXIPR
01115  M00S01115.accmap  +++|*CALL COMXMSC
01116  M00S01116.accmap  +++|*CALL COMSPFM
01117  M00S01117.accmap  +++|
01118  M00S01118.accmap  +++|
01119  M00S01119.accmap  +++|
01120  M00S01120.accmap  +++|
01121  M00S01121.accmap  +++|
01122  M00S01122.accmap  +++|#
01123  M00S01123.accmap  +++|*     MAP FILE HAS TO BE OPEN AND IN *MODIFY* MODE.
01124  M00S01124.accmap  +++|#
01125  M00S01125.accmap  +++|
01126  M00S01126.accmap  +++|      IF OMT$OPEN[SM$ID]                    # #
01127  M00S01127.accmap  +++|        AND OMT$ATTM[SM$ID] EQ "M"           # #
01128  M00S01128.accmap  +++|        AND NOT OMT$INTLK[SM$ID]
01129  M00S01129.accmap  +++|      THEN
01130  M00S01130.accmap  +++|        BEGIN
01131  M00S01131.accmap  +++|        MFLUSH;
01132  M00S01132.accmap  +++|        P<FETSET> = MAPFADR;
01133  M00S01133.accmap  +++|        FET$LFN[0] = OMT$LFN[SM$ID];
01134  M00S01134.accmap  +++|        RETERN(MAPFET,RCL);
01135  M00S01135.accmap  +++|        OMT$INTLK[SM$ID] = TRUE;
01136  M00S01136.accmap  +++|        MAPINTLK = TRUE;
01137  M00S01137.accmap  +++|        RTIME(RTIMESTAT[0]);
01138  M00S01138.accmap  +++|        MAP$EXPIR = RTIMSECS[0] + MAP$INTV;
01139  M00S01139.accmap  +++|        END
01140  M00S01140.accmap  +++|
01141  M00S01141.accmap  +++|      RETURN;
01142  M00S01142.accmap  +++|      END  # MRELSLK  #
01143  M00S01143.accmap  +++|
01144  M00S01144.accmap  +++|    TERM
cdc/nos2.source/opl.opl871/deck/accmap.txt ยท Last modified: (external edit)