gtpg2m3p | General Macros |
This general macro provides a centralized mechanism for interrogating the FACE table. Various functions are provided by the RTCUC macro:
Format
|
Notes:
For NTOC, EXTENTS, and EXTRACT the general register Rx must contain the numerical value of the record type.
For CTON, general register Rx must contain the address of an 8-byte left-justified blank padded field containing the character representation of the SYSEQC tag.
For POOLSEGMENTS, general register Rx must point to an area of memory defined by DSECT IDSPS.
For DEACTIVATEDSEGMENTS, general register Rx must point to an area of memory defined by DSECT IDSPS.
Entry Requirements
Return Conditions
No system errors are issued by the RTCUC macro service routine. Any invalid or illogical input parameters or conditions detected during processing are signaled to the caller by the condition code setting on return.
IXTRINF_X0 - Information Byte 3 (unique indicators) | ||
IXTRSSU | X'80' | Indicates SSU unique (1) or SSU nonunique (0) |
IXTRPRC | X'40' | Indicates processor unique (1) or processor nonunique (0) |
IXTRIST | X'20' | Indicates I-stream unique (1) or I-stream nonunique (0) |
IXTRINF_X1 - Size index | ||
IXTRSM | X'00' | Indicates a small record |
IXTRLG | X'04' | Indicates a large record |
IXTR4K | X'08' | Indicates a 4-K record |
IXTRINF_X2 - Record Characteristics | ||
IXTRCOM | X'80' | Indicates shared (0) or unique (1) records |
IXTRASZ | X'40' | Indicates record size as 4 K (1) or not 4 K (0) |
IXTRPOOL | X'20' | Indicates a fixed file record (0) or a pool record (1) |
IXTRVRT | X'08' | Indicates a vertical record type |
IXTRNRST | X'04' | Indicates a record that cannot be restored |
IXTRDUM | X'01' | Indicates either a valid (1) or dummy (0) split chain header |
IXTRREC_X3 - Information Byte 2 | ||
IXTRLGE | X'01' | Indicates a small (0) or a large or 4-K (1) record |
Programming Considerations
This macro can be run on any I-stream.
Examples
RTCUC FUNCTION=CTON,REG=R5
RTCUC FUNCTION=NTOC,REG=R2
RTCUC FUNCTION=EXTENTS,REG=R4,LEVEL=DB
RTCUC FUNCTION=EXTRACT,REG=R7 GET RECORD CHARACTER BC CC1,BDBF200 BAD RECORD TYPE, GET NEXT ST R7,EBW040 SAVE RETURN VALUE LA R7,EBW040 GET ADDRESS OF RETURN VALUE PUSH USING IDSXTR REG=R7 DSECT RESULTS FROM EXTRACT TM IXTRINF_X2,IXTRPOOL IS THIS A POOL? BO BDBF200 THEN GET NEXT RECORD TYPE POP USING
IDSPS REG=R7 LA R7,EBX000 IDSPS is at EBX000 MVI PSERCC,#SLTA RCC for SLT on DEVA XC PSEITK,PSEITK Zero input token to get 1st segment AGAIN DS 0H RTCUC FUNCTION=POOLSEGMENTS,REG=R7 BC CC1,SKIP If SLTA does not exist, skip L R14,PSENTK Get next token ST R14,PSEITK Save as input token ... Do the work LTR R14,R14 Last pool segment? BNZ AGAIN No, get next ... SKIP DS 0H