User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:sx3ucp.001

Deck SX3UCP Part 001

1 Modification

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
02250  M00S02049.sx3ucp  +++|#
02251  M00S02050.sx3ucp  +++|
02252  M00S02051.sx3ucp  +++|      ORD = CPR$FCT[0];
02253  M00S02052.sx3ucp  +++|      AST$STAT[ORD] = ASTENSTAT"UNASS$CUB";
02254  M00S02053.sx3ucp  +++|      CWTAST(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],ASTBADR,0,ERRSTAT);
02255  M00S02054.sx3ucp  +++|      IF ERRSTAT NQ CMASTAT"NOERR"
02256  M00S02055.sx3ucp  +++|      THEN
02257  M00S02056.sx3ucp  +++|        BEGIN
02258  M00S02057.sx3ucp  +++|        GOTO ERRORTN;
02259  M00S02058.sx3ucp  +++|        END
02260  M00S02059.sx3ucp  +++|
02261  M00S02060.sx3ucp  +++|
02262  M00S02061.sx3ucp  +++|      P<FCT> = FCTEADDR + FCTQHL;
02263  M00S02062.sx3ucp  +++|
02264  M00S02063.sx3ucp  +++|#
02265  M00S02064.sx3ucp  +++|*     REMOVE *FCT* ORDINAL AND FAMILY NAME FROM THE MAP ENTRY
02266  M00S02065.sx3ucp  +++|*     AND INDICATE THAT THE CUBE IS UNASSIGNED.
02267  M00S02066.sx3ucp  +++|#
02268  M00S02067.sx3ucp  +++|
02269  M00S02068.sx3ucp  +++|      P<SMUMAP> = LOC(MAPBUFR);
02270  M00S02069.sx3ucp  +++|      CM$CODE[0] = CUBSTAT"UNASGN";
02271  M00S02070.sx3ucp  +++|      CM$FCTORD[0] = 0;
02272  M00S02071.sx3ucp  +++|      CM$FMLYNM[0] = "       ";
02273  M00S02072.sx3ucp  +++|      CM$SUB[0] = 0;
02274  M00S02073.sx3ucp  +++|      CM$FLAG1[0] = FALSE;           # CLEAR ERROR FLAG IN MAP ENTRY #
02275  M00S02074.sx3ucp  +++|      MPUTENT(CPR$CSU,SMORD,LOC(MAPBUFR),ERRSTAT);
02276  M00S02075.sx3ucp  +++|
02277  M00S02076.sx3ucp  +++|#
02278  M00S02077.sx3ucp  +++|*     CONVERT THE REQUEST STATUS AND RETURN IT TO THE *UCP*.
02279  M00S02078.sx3ucp  +++|#
02280  M00S02079.sx3ucp  +++|
02281  M00S02080.sx3ucp  +++|
02282  M00S02081.sx3ucp  +++|ERRORTN:
02283  M00S02082.sx3ucp  +++|      CONVER3(CPR$RQT[0],CPR$RQC[0],ERRSTAT,ERRSTAT);
02284  M00S02083.sx3ucp  +++|      MFLUSH;
02285  M00S02084.sx3ucp  +++|      UCP$RES;
02286  M00S02085.sx3ucp  +++|      RETURN;
02287  M00S02086.sx3ucp  +++|
02288  M00S02087.sx3ucp  +++|      END  # RMVCUBE #
02289  M00S02088.sx3ucp  +++|
02290  M00S02089.sx3ucp  +++|    TERM
02291  M00S02090.sx3ucp  +++|PROC UPDCAT;
02292  M00S02091.sx3ucp  +++|# TITLE UPDCAT - UPDATE FIELDS IN THE *SFM* CATALOG.                  #
02293  M00S02092.sx3ucp  +++|
02294  M00S02093.sx3ucp  +++|      BEGIN  # UPDCAT #
02295  M00S02094.sx3ucp  +++|
02296  M00S02095.sx3ucp  +++|#
02297  M00S02096.sx3ucp  +++|**    UPDCAT - UPDATE FIELDS IN THE *SFM* CATALOG.
02298  M00S02097.sx3ucp  +++|*
02299  M00S02098.sx3ucp  +++|*     *UPDCAT* UPDATES FIELDS IN AN *SFM* CATALOG.
02300  M00S02099.sx3ucp  +++|*
02301  M00S02100.sx3ucp  +++|*     PROC UPDCAT
02302  M00S02101.sx3ucp  +++|*
02303  M00S02102.sx3ucp  +++|*     ENTRY     THE TYPE 3 UCP REQUEST TO BE PROCESSED IS IN ARRAY
02304  M00S02103.sx3ucp  +++|*               *CPR*.  THE BASE POINTER FOR *CPR* IS ALREADY SET.  THE
02305  M00S02104.sx3ucp  +++|*               *LTCT* ENTRY FOR THE REQUESTING UCP IS POINTED TO BY
02306  M00S02105.sx3ucp  +++|*               *LTCENTRY*.
02307  M00S02106.sx3ucp  +++|*
02308  M00S02107.sx3ucp  +++|*     EXIT      THE TYPE 3 REQUEST HAS BEEN PROCESSED AND A RESPONSE
02309  M00S02108.sx3ucp  +++|*               HAS BEEN SENT BACK TO THE UCP INDICATING COMPLETION
02310  M00S02109.sx3ucp  +++|*               OF THE REQUEST.
02311  M00S02110.sx3ucp  +++|*
02312  M00S02111.sx3ucp  +++|*               RESPONSES ARE RETURNED VIA LTC$RQR[LTCENTRY].
02313  M00S02112.sx3ucp  +++|*               THESE RESPONSE CODE VALUES ARE DEFINED IN *COMBCPR*.
02314  M00S02113.sx3ucp  +++|*                    = OK3             OK
02315  M00S02114.sx3ucp  +++|*                    = C$M$INTLCK      CATALOG/MAP INTERLOCKED
02316  M00S02115.sx3ucp  +++|*                    = C$M$NOPEN       CATALOG/MAP NOT OPEN
02317  M00S02116.sx3ucp  +++|*                    = NO$SUB$CAT      NO SUCH SUBCATALOG
02318  M00S02117.sx3ucp  +++|*                    = PF$PROB         PERMANENT FILE PROBLEM
02319  M00S02118.sx3ucp  +++|*                    = ILLEG$ORD       ORDINAL OUT OF RANGE
02320  M00S02119.sx3ucp  +++|*
02321  M00S02120.sx3ucp  +++|*     NOTE      IN ALL BOOLEAN CASES A VALUE OF ZERO IN THE UPDATE
02322  M00S02121.sx3ucp  +++|*               FIELD IS ASSUMED TO BE FALSE AND A NON-ZERO VALUE
02323  M00S02122.sx3ucp  +++|*               TO BE TRUE.
02324  M00S02123.sx3ucp  +++|#
02325  M00S02124.sx3ucp  +++|
02326  M00S02125.sx3ucp  +++|#
02327  M00S02126.sx3ucp  +++|****  PROC UPDCAT - XREF LIST BEGIN.
02328  M00S02127.sx3ucp  +++|#
02329  M00S02128.sx3ucp  +++|
02330  M00S02129.sx3ucp  +++|      XREF
02331  M00S02130.sx3ucp  +++|        BEGIN
02332  M00S02131.sx3ucp  +++|        PROC ACQ$FCT;                # FIND THE *FCTQ* ENTRY FOR CALLER
02333  M00S02132.sx3ucp  +++|                                     #
02334  M00S02133.sx3ucp  +++|        PROC CFLUSH;                 # FLUSHES THE CATALOG I/O BUFFER #
02335  M00S02134.sx3ucp  +++|        PROC CONVER3;                # CONVERT MAP/CATALOG ERRORS TO
02336  M00S02135.sx3ucp  +++|                                       *UCP* ERRORS #
02337  M00S02136.sx3ucp  +++|        PROC CPUTPD;                 # PUT PURGE DATE #
02338  M00S02137.sx3ucp  +++|        PROC CRDAST;                 # READ ALLOCATION SUMMARY TABLE #
02339  M00S02138.sx3ucp  +++|        PROC CWTAST;                 # WRITE ALLOCATION SUMMARY TABLE #
02340  M00S02139.sx3ucp  +++|        PROC KILL$UC;                # ABORT A *UCP* #
02341  M00S02140.sx3ucp  +++|        PROC LOANFCTQ;               # ADD OR RECLAIM *FCTQ* ENTRY #
02342  M00S02141.sx3ucp  +++|        PROC RLS$FCT;                # RELEASE *FCTQ* ENTRY #
02343  M00S02142.sx3ucp  +++|        PROC UCP$RES;                # NOTIFY *UCP* OF REQUEST COMPLETE
02344  M00S02143.sx3ucp  +++|                                     #
02345  M00S02144.sx3ucp  +++|        PROC UASTPRM;                  # UPDATE *AST* AND *PRM* #
02346  M00S02145.sx3ucp  +++|        END
02347  M00S02146.sx3ucp  +++|
02348  M00S02147.sx3ucp  +++|#
02349  M00S02148.sx3ucp  +++|****  PROC UPDCAT - XREF LIST END.
02350  M00S02149.sx3ucp  +++|#
02351  M00S02150.sx3ucp  +++|
02352  M00S02151.sx3ucp  +++|      DEF LISTCON #0#;               # DO NOT LIST COMMON DECKS #
02353  M00S02152.sx3ucp  +++|*CALL COMBFAS
02354  M00S02153.sx3ucp  +++|*CALL COMBCMD
02355  M00S02154.sx3ucp  +++|*CALL COMBCMS
02356  M00S02155.sx3ucp  +++|*CALL COMBCPR
02357  M00S02156.sx3ucp  +++|*CALL COMBMAP
02358  M00S02157.sx3ucp  +++|*CALL COMBMCT
02359  M00S02158.sx3ucp  +++|*CALL COMBUCR
02360  M00S02159.sx3ucp  +++|*CALL COMXFCQ
02361  M00S02160.sx3ucp  +++|*CALL COMXLTC
02362  M00S02161.sx3ucp  +++|
02363  M00S02162.sx3ucp  +++|      SWITCH   UPDUCF:UCF            # FIELDS TO BE UPDATED #
02364  M00S02163.sx3ucp  +++|             UPDFRCAR:FREEFL,        # FREE CARTRIDGE FLAG #
02365  M00S02164.sx3ucp  +++|             UPDINHIB:INHIB,         # INHIBIT ALLOCATION #
02366  M00S02165.sx3ucp  +++|              UPDLOST:LOST,          # LOST CARTRIDGE #
02367  M00S02166.sx3ucp  +++|              UPDEWPE:EWPE,          # EXCESSIVE WRITE PARITY ERRORS #
02368  M00S02167.sx3ucp  +++|              UPDCMAP:CMAP,          # *SMMAP* ERROR FLAG #
02369  M00S02168.sx3ucp  +++|              UPDFROZ:FROZ,          # FROZEN CHAIN FLAG #
02370  M00S02169.sx3ucp  +++|              UPDCONF:CONF,          # CONFLICT FLAG #
02371  M00S02170.sx3ucp  +++|               UPDSOF:SOF;           # START OF FRAGMENT FLAG #
02372  M00S02171.sx3ucp  +++|
02373  M00S02172.sx3ucp  +++|      ITEM FCTEADDR   U;             # *FCTQ* ENTRY ADDRESS #
02374  M00S02173.sx3ucp  +++|      ITEM POS        I;             # WORD POSITION #
02375  M00S02174.sx3ucp  +++|      ITEM WORD       I;             # POSITION WITHIN WORD #
02376  M00S02175.sx3ucp  +++|                                               CONTROL EJECT;
02377  M00S02176.sx3ucp  +++|
02378  M00S02177.sx3ucp  +++|#
02379  M00S02178.sx3ucp  +++|*     VALIDATE THE CATALOG FIELD NAME PARAMETER AND ABORT THE *UCP*
02380  M00S02179.sx3ucp  +++|*     IF NOT VALID.
02381  M00S02180.sx3ucp  +++|#
02382  M00S02181.sx3ucp  +++|
02383  M00S02182.sx3ucp  +++|      IF CPR$FLD[0] EQ UCF"UNUSED" OR CPR$FLD[0] GQ UCF"LSTSOF"
02384  M00S02183.sx3ucp  +++|      THEN
02385  M00S02184.sx3ucp  +++|        BEGIN
02386  M00S02185.sx3ucp  +++|        KILL$UC(KILLCODE"INVRQC");
02387  M00S02186.sx3ucp  +++|        RETURN;
02388  M00S02187.sx3ucp  +++|        END
02389  M00S02188.sx3ucp  +++|
02390  M00S02189.sx3ucp  +++|      LOANFCTQ(0);
02391  M00S02190.sx3ucp  +++|
02392  M00S02191.sx3ucp  +++|#
02393  M00S02192.sx3ucp  +++|*     GET THE ALLOCATION SUMMARY TABLE.
02394  M00S02193.sx3ucp  +++|#
02395  M00S02194.sx3ucp  +++|
02396  M00S02195.sx3ucp  +++|      CRDAST(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],ASTBADR,0,ERRSTAT);
02397  M00S02196.sx3ucp  +++|      IF ERRSTAT NQ CMASTAT"NOERR"
02398  M00S02197.sx3ucp  +++|      THEN
02399  M00S02198.sx3ucp  +++|        BEGIN
02400  M00S02199.sx3ucp  +++|        GOTO ERRORTN;
02401  M00S02200.sx3ucp  +++|        END
02402  M00S02201.sx3ucp  +++|
02403  M00S02202.sx3ucp  +++|#
02404  M00S02203.sx3ucp  +++|*     GET THE *FCTQ* ENTRY FOR THE REQUEST.
02405  M00S02204.sx3ucp  +++|#
02406  M00S02205.sx3ucp  +++|
02407  M00S02206.sx3ucp  +++|      ACQ$FCT(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],  ##
02408  M00S02207.sx3ucp  +++|        CPR$FCT[0],FCTEADDR,0,ERRSTAT);
02409  M00S02208.sx3ucp  +++|      IF ERRSTAT NQ CMASTAT"NOERR"
02410  M00S02209.sx3ucp  +++|      THEN
02411  M00S02210.sx3ucp  +++|        BEGIN
02412  M00S02211.sx3ucp  +++|        GOTO ERRORTN;
02413  M00S02212.sx3ucp  +++|        END
02414  M00S02213.sx3ucp  +++|
02415  M00S02214.sx3ucp  +++|
02416  M00S02215.sx3ucp  +++|      P<FCT> = FCTEADDR + FCTQHL;
02417  M00S02216.sx3ucp  +++|
02418  M00S02217.sx3ucp  +++|
02419  M00S02218.sx3ucp  +++|#
02420  M00S02219.sx3ucp  +++|*     UPDATE THE SPECIFIED CATALOG FIELD.
02421  M00S02220.sx3ucp  +++|#
02422  M00S02221.sx3ucp  +++|
02423  M00S02222.sx3ucp  +++|      GOTO UPDUCF[CPR$FLD[0]];
02424  M00S02223.sx3ucp  +++|
02425  M00S02224.sx3ucp  +++|
02426  M00S02225.sx3ucp  +++|UPDFRCAR:
02427  M00S02226.sx3ucp  +++|      IF CPR$VAL[0] EQ 0
02428  M00S02227.sx3ucp  +++|      THEN                           # SET FREE FLAG TO FALSE #
02429  M00S02228.sx3ucp  +++|        BEGIN
02430  M00S02229.sx3ucp  +++|        FCT$FCF[0] = FALSE;
02431  M00S02230.sx3ucp  +++|        END
02432  M00S02231.sx3ucp  +++|
02433  M00S02232.sx3ucp  +++|      ELSE
02434  M00S02233.sx3ucp  +++|        BEGIN
02435  M00S02234.sx3ucp  +++|        FCT$FCF[0] = TRUE;
02436  M00S02235.sx3ucp  +++|        END
02437  M00S02236.sx3ucp  +++|
02438  M00S02237.sx3ucp  +++|      IF NOT FCT$FCF[0]
02439  M00S02238.sx3ucp  +++|      THEN               # DO NOT CLEAR INHIBIT FLAG #
02440  M00S02239.sx3ucp  +++|        BEGIN
02441  M00S02240.sx3ucp  +++|        UASTPRM(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],FCTEADDR,ERRSTAT);
02442  M00S02241.sx3ucp  +++|        GOTO ERRORTN;
02443  M00S02242.sx3ucp  +++|        END
02444  M00S02243.sx3ucp  +++|
02445  M00S02244.sx3ucp  +++|
02446  M00S02245.sx3ucp  +++|UPDINHIB:
02447  M00S02246.sx3ucp  +++|      IF (NOT FCT$IAF[0] AND (CPR$VAL[0] EQ ON))  ##
02448  M00S02247.sx3ucp  +++|        OR (FCT$IAF[0] AND (CPR$VAL[0] EQ OFF))
02449  M00S02248.sx3ucp  +++|      THEN                           # FLAG UPDATE REQUIRED #
02450  M00S02249.sx3ucp  +++|        BEGIN  # UPDATE INHIBIT FLAG #
02451  M00S02250.sx3ucp  +++|        FCT$IAF[0] = NOT FCT$IAF[0];
02452  M00S02251.sx3ucp  +++|        END  # UPDATE INHIBIT FLAG #
02453  M00S02252.sx3ucp  +++|
02454  M00S02253.sx3ucp  +++|      UASTPRM(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],FCTEADDR,ERRSTAT);
02455  M00S02254.sx3ucp  +++|      GOTO ERRORTN;
02456  M00S02255.sx3ucp  +++|
02457  M00S02256.sx3ucp  +++|UPDLOST:
02458  M00S02257.sx3ucp  +++|      IF (NOT FCT$LCF[0] AND (CPR$VAL[0] EQ ON))  ##
02459  M00S02258.sx3ucp  +++|        OR (FCT$LCF[0] AND (CPR$VAL[0] EQ OFF))
02460  M00S02259.sx3ucp  +++|      THEN                           # FLAG UPDATE REQUIRED #
02461  M00S02260.sx3ucp  +++|        BEGIN  # UPDATE LOST FLAG #
02462  M00S02261.sx3ucp  +++|        FCT$LCF[0] = NOT FCT$LCF[0];
02463  M00S02262.sx3ucp  +++|      UASTPRM(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],FCTEADDR,ERRSTAT);
02464  M00S02263.sx3ucp  +++|        END  # UPDATE LOST FLAG #
02465  M00S02264.sx3ucp  +++|
02466  M00S02265.sx3ucp  +++|      GOTO ERRORTN;
02467  M00S02266.sx3ucp  +++|
02468  M00S02267.sx3ucp  +++|UPDEWPE:
02469  M00S02268.sx3ucp  +++|      IF (NOT FCT$EEF[0] AND (CPR$VAL[0] EQ ON))  ##
02470  M00S02269.sx3ucp  +++|        OR (FCT$EEF[0] AND (CPR$VAL[0] EQ OFF))
02471  M00S02270.sx3ucp  +++|      THEN                           # FLAG UPDATE REQUIRED #
02472  M00S02271.sx3ucp  +++|        BEGIN  # UPDATE WRITE PARITY ERROR FLAG #
02473  M00S02272.sx3ucp  +++|        FCT$EEF[0] = NOT FCT$EEF[0];
02474  M00S02273.sx3ucp  +++|      UASTPRM(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],FCTEADDR,ERRSTAT);
02475  M00S02274.sx3ucp  +++|        END  # UPDATE WRITE PARITY ERROR FLAG #
02476  M00S02275.sx3ucp  +++|
02477  M00S02276.sx3ucp  +++|      GOTO ERRORTN;
02478  M00S02277.sx3ucp  +++|
02479  M00S02278.sx3ucp  +++|UPDCMAP:
02480  M00S02279.sx3ucp  +++|      FCT$SEF[0] = CPR$VAL[0] NQ OFF;
02481  M00S02280.sx3ucp  +++|      AST$AAF[CPR$FCT[0]] = FALSE;
02482  M00S02281.sx3ucp  +++|      GOTO ERRORTN;
02483  M00S02282.sx3ucp  +++|
02484  M00S02283.sx3ucp  +++|UPDFROZ:
02485  M00S02284.sx3ucp  +++|      WORD = FCT$WD(CPR$AU[0]);
02486  M00S02285.sx3ucp  +++|      POS = FCT$WP(CPR$AU[0]);
02487  M00S02286.sx3ucp  +++|      FCT$FRCF(WORD,POS) = CPR$VAL[0];
02488  M00S02287.sx3ucp  +++|
02489  M00S02288.sx3ucp  +++|      GOTO ERRORTN;
02490  M00S02289.sx3ucp  +++|
02491  M00S02290.sx3ucp  +++|UPDCONF:
02492  M00S02291.sx3ucp  +++|      FCT$AUCF(FCT$WD(CPR$AU[0]),FCT$WP(CPR$AU[0])) = CPR$VAL[0];
02493  M00S02292.sx3ucp  +++|
02494  M00S02293.sx3ucp  +++|      GOTO ERRORTN;
02495  M00S02294.sx3ucp  +++|
02496  M00S02295.sx3ucp  +++|UPDSOF:
02497  M00S02296.sx3ucp  +++|      IF CPR$VAL EQ 0
02498  M00S02297.sx3ucp  +++|      THEN
02499  M00S02298.sx3ucp  +++|        BEGIN
02500  M00S02299.sx3ucp  +++|        FCT$SFF(FCT$WD(CPR$AU[0]),FCT$WP(CPR$AU[0])) = OFF;
02501  M00S02300.sx3ucp  +++|        END
02502  M00S02301.sx3ucp  +++|
02503  M00S02302.sx3ucp  +++|      ELSE
02504  M00S02303.sx3ucp  +++|        BEGIN
02505  M00S02304.sx3ucp  +++|        FCT$SFF(FCT$WD(CPR$AU[0]),FCT$WP(CPR$AU[0])) = ON;
02506  M00S02305.sx3ucp  +++|        CPUTPD(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],0,ERRSTAT);
02507  M00S02306.sx3ucp  +++|        END
02508  M00S02307.sx3ucp  +++|
02509  M00S02308.sx3ucp  +++|
02510  M00S02309.sx3ucp  +++|
02511  M00S02310.sx3ucp  +++|ERRORTN:
02512  M00S02311.sx3ucp  +++|      CONVER3(CPR$RQT[0],CPR$RQC[0],ERRSTAT,ERRSTAT);
02513  M00S02312.sx3ucp  +++|      LTC$RQR[LTCENTRY] = ERRSTAT;
02514  M00S02313.sx3ucp  +++|      RLS$FCT(FCTEADDR,0,ERRSTAT);
02515  M00S02314.sx3ucp  +++|      LOANFCTQ(-1);
02516  M00S02315.sx3ucp  +++|      CFLUSH(CPR$FAM[0],CPR$SUB[0],0,ERRSTAT);
02517  M00S02316.sx3ucp  +++|      CWTAST(CPR$FAM[0],CPR$SUB[0],CPR$CSU[0],ASTBADR,0,ERRSTAT);
02518  M00S02317.sx3ucp  +++|      UCP$RES;
02519  M00S02318.sx3ucp  +++|      RETURN;
02520  M00S02319.sx3ucp  +++|
02521  M00S02320.sx3ucp  +++|      END  # UPDCAT #
02522  M00S02321.sx3ucp  +++|
02523  M00S02322.sx3ucp  +++|    TERM
02524  M00S02323.sx3ucp  +++|PROC UPDMAP;
02525  M00S02324.sx3ucp  +++|# TITLE UPDMAP - UPDATE MAP ENTRY.                                    #
02526  M00S02325.sx3ucp  +++|
02527  M00S02326.sx3ucp  +++|      BEGIN  # UPDMAP #
02528  M00S02327.sx3ucp  +++|
02529  M00S02328.sx3ucp  +++|#
02530  M00S02329.sx3ucp  +++|**    UPDMAP - UPDATE MAP ENTRY.
02531  M00S02330.sx3ucp  +++|*
02532  M00S02331.sx3ucp  +++|*     *UPDMAP* UPDATES THE *SMMAP* ENTRY WITH DATA FROM THE
02533  M00S02332.sx3ucp  +++|*     *UCP* REQUEST BLOCK.
02534  M00S02333.sx3ucp  +++|*
02535  M00S02334.sx3ucp  +++|*     PROC UPDMAP
02536  M00S02335.sx3ucp  +++|*
02537  M00S02336.sx3ucp  +++|*     ENTRY     THE TYPE 3 UCP REQUEST TO BE PROCESSED IS IN ARRAY
02538  M00S02337.sx3ucp  +++|*               *CPR*.  THE BASE POINTER FOR *CPR* IS ALREADY SET.  THE
02539  M00S02338.sx3ucp  +++|*               *LTCT* ENTRY FOR THE REQUESTING UCP IS POINTED TO BY
02540  M00S02339.sx3ucp  +++|*               *LTCENTRY*.
02541  M00S02340.sx3ucp  +++|*
02542  M00S02341.sx3ucp  +++|*     EXIT      THE TYPE 3 REQUEST HAS BEEN PROCESSED AND A RESPONSE
02543  M00S02342.sx3ucp  +++|*               HAS BEEN SENT BACK TO THE UCP INDICATING COMPLETION
02544  M00S02343.sx3ucp  +++|*               OF THE REQUEST.
02545  M00S02344.sx3ucp  +++|*
02546  M00S02345.sx3ucp  +++|*               RESPONSES ARE RETURNED VIA LTC$RQR[LTCENTRY].
02547  M00S02346.sx3ucp  +++|*               THESE RESPONSE CODE VALUES ARE DEFINED IN *COMBCPR*.
02548  M00S02347.sx3ucp  +++|*                    = OK3             OK
02549  M00S02348.sx3ucp  +++|*                    = C$M$INTLCK      CATALOG/MAP INTERLOCKED
02550  M00S02349.sx3ucp  +++|*                    = C$M$NOPEN       CATALOG/MAP NOT OPEN
02551  M00S02350.sx3ucp  +++|*                    = PF$PROB         PERMANENT FILE PROBLEM
02552  M00S02351.sx3ucp  +++|*                    = ILLEG$ORD       ORDINAL OUT OF RANGE
02553  M00S02352.sx3ucp  +++|#
02554  M00S02353.sx3ucp  +++|
02555  M00S02354.sx3ucp  +++|#
02556  M00S02355.sx3ucp  +++|****  PROC UPDMAP - XREF LIST BEGIN.
02557  M00S02356.sx3ucp  +++|#
02558  M00S02357.sx3ucp  +++|
02559  M00S02358.sx3ucp  +++|      XREF
02560  M00S02359.sx3ucp  +++|        BEGIN
02561  M00S02360.sx3ucp  +++|        PROC CONVER3;                # CONVERT MAP/CATALOG ERRORS TO
02562  M00S02361.sx3ucp  +++|                                       *UCP* ERRORS #
02563  M00S02362.sx3ucp  +++|        PROC MFLUSH;                 # FLUSH MAP TO FILE #
02564  M00S02363.sx3ucp  +++|        PROC MPUTENT;                # MAP ENTRY TO THE MAP FILE BUFFER
02565  M00S02364.sx3ucp  +++|                                     #
02566  M00S02365.sx3ucp  +++|        PROC UCP$RES;                # NOTIFY *UCP* OF REQUEST COMPLETE
02567  M00S02366.sx3ucp  +++|                                     #
02568  M00S02367.sx3ucp  +++|        END
02569  M00S02368.sx3ucp  +++|
02570  M00S02369.sx3ucp  +++|#
02571  M00S02370.sx3ucp  +++|****  PROC UPDMAP - XREF LIST END.
02572  M00S02371.sx3ucp  +++|#
02573  M00S02372.sx3ucp  +++|
02574  M00S02373.sx3ucp  +++|
02575  M00S02374.sx3ucp  +++|
02576  M00S02375.sx3ucp  +++|      DEF LISTCON #0#;               # DO NOT LIST COMMON DECKS #
02577  M00S02376.sx3ucp  +++|*CALL COMBFAS
02578  M00S02377.sx3ucp  +++|*CALL COMBCPR
02579  M00S02378.sx3ucp  +++|*CALL COMBMAP
02580  M00S02379.sx3ucp  +++|*CALL COMXLTC
02581  M00S02380.sx3ucp  +++|*CALL COMXMSC
02582  M00S02381.sx3ucp  +++|
02583  M00S02382.sx3ucp  +++|
02584  M00S02383.sx3ucp  +++|
02585  M00S02384.sx3ucp  +++|
02586  M00S02385.sx3ucp  +++|
02587  M00S02386.sx3ucp  +++|#
02588  M00S02387.sx3ucp  +++|*     UPDATE THE MAP ENTRY WITH *UCP* DATA.
02589  M00S02388.sx3ucp  +++|#
02590  M00S02389.sx3ucp  +++|
02591  M00S02390.sx3ucp  +++|      MPUTENT(CPR$CSU[0],SMORD,LOC(CPR$MAPENT[0]),ERRSTAT);
02592  M00S02391.sx3ucp  +++|
02593  M00S02392.sx3ucp  +++|#
02594  M00S02393.sx3ucp  +++|*     SEND RESPONSE TO *UCP* AND RETURN TO CALLER.
02595  M00S02394.sx3ucp  +++|#
02596  M00S02395.sx3ucp  +++|
02597  M00S02396.sx3ucp  +++|      CONVER3(CPR$RQT[0],CPR$RQC[0],ERRSTAT,ERRSTAT);
02598  M00S02397.sx3ucp  +++|      LTC$RQR[LTCENTRY] = ERRSTAT;
02599  M00S02398.sx3ucp  +++|      MFLUSH;
02600  M00S02399.sx3ucp  +++|      UCP$RES;
02601  M00S02400.sx3ucp  +++|      RETURN;
02602  M00S02401.sx3ucp  +++|      END  # UPDMAP #
02603  M00S02402.sx3ucp  +++|
02604  M00S02403.sx3ucp  +++|    TERM
cdc/nos2.source/opl.opl871/deck/sx3ucp.001.txt ยท Last modified: by 127.0.0.1