gtpi1m2k | System Installation Support Reference |
User exit routine UCCUHL is invoked from the BUILDHDR routine if the exit point named UHL is active. UCCUHL allows you to modify tape header labels. Exit point UHL, which is nondynamic, is located in copy segment CEFM of CSECT CCTAPE.
User exit routine UCCUHL contains a control routine, UHLSTART, that calls user label subroutines that you can modify.
The user header label control routine calls subroutines UHL1, UHL2, ... UHL8 in order, until all 8 subroutines are called, or until any one of the subroutines fails to set up the user label properly. A properly setup user header label will start with the characters UHLx where x is the current label number. After verifying the label, it is written.
General Conditions at Entry
The following registers are set up for the user by each of the user label subroutines:
System Conditions at Entry
Programming Considerations at Entry
When UXTH is called to write user header records, the TSTB/3 entry for the tape is not yet set up. Therefore, to be consistent with UXTH, R4 has a pointer to the TLMR record. This requires you to use the equates in TAPEQ to access any fields in the TLMR.
When the first user label subroutine gets control (UHL1, UTL1, or IHL1), registers R2, R4, R5, and R6 will be set up as listed previously. R3 will point to the base of the user label work area (ULWA). It is recommended that you do not change this register. However, if it is necessary to use R3, the pointer to the ULWA can be found in CE1CR3. R7 will contain the return address and this value must not be changed. R0 and R1 can be used by the user label subroutine.
When any other user label subroutines get control, register R3 will once again point to the base of the previous user label work area. R0, R1, R2, R4, R5, and R6 will all contain whatever values they contained on exit from the previous user label subroutine.
Data Structures
DSECT ITUHL maps a 1055-byte working area that is used by UXTH. The working area is broken up into the following areas:
Programming Considerations on Return
See User Exit Routines - Common Return Conditions.
General Conditions on Return