Language Environment library control area

The library control area (LCA), Figure 1, is a control block that is allocated in the key of the caller when Language Environment is initialized. The LCA is pointed to by CEELAA_LCA64. For mapping information, see the SCEEMAC(CEELCA) data set.

Figure 1. Library control area (LCA) field descriptions
1   CEELCA

      OFFSET   OFFSET
     DECIMAL     HEX  TYPE        LENGTH  NAME (DIM)     DESCRIPTION
    ======== ======== ========= ========  ============== ===============================
           0      (0) STRUCTURE      864  CEELCA         Flags - byte 2
           0      (0) STRUCTURE      864  CEELCA         LCA mapping
           0      (0) CHARACTER      856  CEELCALEN      Length used for dwrd filler
           0      (0) CHARACTER        4   CEELCAEYE     eyecatcher 'LCA '
           4      (4) SIGNED           4   CEELCA_VER    version
           8      (8) ADDRESS          8   CEELCA_CAA    +8 ptr to the CAA
          16     (10) ADDRESS          4   CEELCA_DIA    +16 ptr to the DIA
          20     (14) CHARACTER        4   CEELCA_RSVD1B reserved
          24     (18) ADDRESS          4   CEELCA_LAA    addr of associated LAA
          28     (1C) ADDRESS          4   CEELCA_OSSPL@ Ptr to OS call parm list
          32     (20) ADDRESS          8   CEELCA_SAVSTACK
                                                         Saved Stack Pointer when OS_NOSTACK 
                                                         linkage routine is called. After the 
                                                         call returns, the CEELCA_SAVSTACK 
                                                         field must be set back to zero. 
                                                         When the value is not zero, condition
                                                         management and signal processing 
                                                         use this value as the current stack
                                                         pointer. Asynchronous signals are 
                                                         put back if the interrupt occurs
                                                         outside the bounds of the routine 
                                                         that owns the stack frame.
          40     (28) ADDRESS        256   CEELCA_CELQINIT
                                                         ptr to CELQINIT
          48     (30) CHARACTER      256   CEELCA_TRT    Space for C TRT
         304    (130) ADDRESS          8   CEELCA_SHUNT  ptr to the shunt routine
         312    (138) CHARACTER        4   CEELCA_FDSETFD
                                                         Work area used by 64-bit UU version
                                                         for 31-bit mode field in CAA
         316    (13C) CHARACTER        4   *             (reserved)
         320    (140) ADDRESS          8   CEELCA_RSVFLD01
                                                         Unavailable for use
         328    (148) ADDRESS          8   CEELCA_RSVFLD02
                                                         Unavailable for use
         336    (150) ADDRESS          8   CEELCA_SAVSTACK_ASYNC            
                                                         When the value is not zero, 
                                                         CEELCA_SAVSTACK_ASYNC contains the 
                                                         the address of a 8-byte field
                                                         provided by the application that
                                                         holds the Saved Stack Pointer
                                                         when the register for the stack 
                                                         pointer is being used for other purposes.
                                                         Zero otherwise. When the field exists 
                                                         and is not zero, Condition Management 
                                                         and signal processing will use this value 
                                                         as the current stack pointer. Asynchronous
                                                         signals will be processed even if the 
                                                         interrupt occurs outside the bounds of 
                                                         the routine that owns the stack frame. 
         816    (330) ADDRESS          8   CEELCA_CELQ6TLC
                                                         ptr to CELQ6TLC
         824    (338) CHARACTER       32   CEELCA_RSVD2  (reserved)
         856    (358) CHARACTER        8   *				      Dword boundary filler

Figure 2 provides the cross reference to the LCA.

Figure 2. Library control area (LCA) field descriptions (cross reference)
1     CROSS REFERENCE
                                                   HEX          HEX
      NAME                                         OFFSET      VALUE     LEVEL
      ====                                         ======     ========   =====
      CEELCA                                            0                    1
      CEELCA_CAA                                        8                    2
      CEELCA_CELQINIT                                  28                    2
      CEELCA_CELQ6TLC                                 330                    2
      CEELCA_DIA                                       10                    2
      CEELCA_FDSETFD                                  138                    2
      CEELCA_LAA                                       18                    2
      CEELCA_LEN                                      338          358       2
      CEELCA_OSSPL@                                    1C                    2
      CEELCA_RSVD1B                                    14                    2
      CEELCA_RSVD2                                    338                    2
      CEELCA_RSVFLD01                                 140                    2
      CEELCA_RSVFLD02                                 148                    2
      CEELCA_SAVSTACK                                  20                    2
      CEELCA_SAVSTACK_ASYNC                           150                    2
      CEELCA_SHUNT                                    130                    2
      CEELCA_TRT                                       30                    2
      CEELCA_VER                                        4                    2
      CEELCAEYE                                         0                    2
      CEELCALEN                                         0                    2