Language Environment common anchor area

Each thread is represented by a common anchor area (CAA), as the code example below shows. The CAA is generated during thread initialization and deleted during thread termination. It is pointed to by CEELCA_CAA. For mapping information on the CAA, see the SCEEMAC(CEECAA) data set.

1   CEECAA

      OFFSET   OFFSET
     DECIMAL     HEX  TYPE        LENGTH   NAME (DIM)    DESCRIPTION
    ======== ======== ========= ========   ============= ==============================
           0      (0) STRUCTURE        0   CEECAA        , CAA mapping
           0      (0) BITSTRING     1280   CEECAA_EXTERNAL(0)
                                                         Fields external in 31-bit mode
           0      (0) BITSTRING      688   *             Reserved for "external" fields
         688    (2B0) BITSTRING        2   *             Padding
         690    (2B2) BITSTRING        2   CEECAA_INVAR(0)
                                                         Field that is at same fixed
                                                         offset in both 31-bit and
                                                         64-bit CAAs
         690    (2B2) BITSTRING        1   CEECAA_INVAR_0
                                                         Byte 0
                      1... ....            CEECAA_64     "X'80'" ON/OFF = 64/31-bit CAA
                                                         EQU X'40 Reserved
                                                         EQU X'20 Reserved
                                                         EQU X'10 Reserved
                                                         EQU X'08 Reserved
                                                         EQU X'04 Reserved
                                                         EQU X'02 Reserved
                                                         EQU X'01 Reserved            
      OFFSET   OFFSET
     DECIMAL     HEX  TYPE        LENGTH  NAME (DIM)     DESCRIPTION
    ======== ======== ========= ========  ============== ===============================
         691    (2B3) BITSTRING        1   CEECAA_INVAR_1
                                                         Byte 1
                                                         EQU X'80' Reserved
                                                         EQU X'40' Reserved
                                                         EQU X'20' Reserved
                                                         EQU X'10' Reserved
                                                         EQU X'08' Reserved
                                                         EQU X'04' Reserved
                                                         EQU X'02' Reserved
                                                         EQU X'01' Reserved
         692    (2B4) BITSTRING        4   *             Padding
         696    (2B8) BITSTRING       72   *             Reserved for "external fields"
         768    (300) BITSTRING       16   *             Reserved
         784    (310) BITSTRING       80   CEECAAMEMBER_AREA(0)
                                                         CGEN, for C Member
         784    (310) ADDRESS          8   CEECAACGENE   Reserved
         792    (318) BITSTRING       24   *             Reserved 
         816    (330) ADDRESS          8   CEECAACTHD    Address of CTHD
         824    (338) ADDRESS          8   *             Reserved              
         832    (340) ADDRESS          8   CEECAACPCB    Address of C PCB
         840    (348) ADDRESS          8   CEECAACEDB    Address of C CEDB
         848    (350) BITSTRING       16   *
         864    (360) BITSTRING        3   *             Reserved
         867    (363) BITSTRING        1   CEECAAFLAG2   2nd flags byte
                                                         EQU X'80' Reserved
                                                         EQU X'40' Reserved
                      ..1. ....            CEECAATIP     "X'20'" Thread termination in
                                                         progress 
                      ...1 ....            CEECAA_THREAD_INITIAL
                                                         "X'10'" If on, indicates this
                                                         is the IPT
                      .... 1...            CEECAA_TRACE_ACTIVE
                                                         "X'08'" If on, library trace is
                                                          active
                                                         (TRACE runtime option was set)
                      .... .1..            CEECAA_ALTSTK_ACTIVE
                                                         "X'04'" If on, alt stack active
                                                         EQU X'02' Reserved
                      .... ...1            CEECAA_USRSTK_ACTIVE
                                                         "X'01'" If on, context
                                                         switching user stack is active
         868    (364) BITSTRING        1   CEECAALEVEL   LE/370 level identifier
         869    (365) BITSTRING        3   *             Reserved
         872    (368) ADDRESS          8   CEECAADMC     Addr of ESPIE Devil-May-Care
                                                         rtn
         880    (370) BITSTRING        8   *             Reserved
         888    (378) ADDRESS          8   CEECAAERR     Addr of the current CIB
         896    (380) DBL WORD         8   CEECAA_FIRSTDSA(0)
                                                         LE64 First DSA
         896    (380) ADDRESS          8   CEECAADDSA    Addr of the dummy DSA
         904    (388) ADDRESS          8   CEECAAEDB     Address of the EDB
         912    (390) ADDRESS          8   CEECAAPCB     Address of the PCB

            The following two fields are used for the validation of the CAA
    ====================================================================================
         920    (398) ADDRESS          8   CEECAAEYEPTR  Addr of CAA eyecatcher
         928    (3A0) ADDRESS          8   CEECAAPTR     Addr of this CAA
         936    (3A8) BITSTRING       40   *             Reserved
         976    (3D0) CHARACTER        8   CEECAATHDID   Posix thread id
         984    (3D8) ADDRESS          8   CEECAARCB     A(RCB)
         992    (3E0) BITSTRING      104   *             End

Figure 1 shows the cross reference to the CAA.

Figure 1. Common anchor area (CAA) field descriptions (cross references) AMODE 64
1     CROSS REFERENCE
                                                   HEX          HEX
      NAME                                         OFFSET      VALUE     LEVEL
      ====                                         ======     ========   =====
      CEECAA                                            0                    1
      CEECAA_ALTSTK_ACTIVE                            363            4       2
      CEECAA_EXTERNAL                                   0                    2
      CEECAA_FIRSTDSA                                 380                    2
      CEECAA_INVAR                                    2B2                    2
      CEECAA_INVAR_0                                  2B2                    2
      CEECAA_INVAR_1                                  2B3                    2
      CEECAA_THREAD_INITIAL                           363           10       2
      CEECAA_TRACE_ACTIVE                             363            8       2
      CEECAA_USRSTK_ACTIVE                            363            1       2
      CEECAA_64                                       2B2           80       2
      CEECAACEDB                                      348                    2
      CEECAACGENE                                     310                    2
      CEECAACPCB                                      340                    2
      CEECAACTHD                                      330                    2
      CEECAADDSA                                      380                    2
      CEECAADMC                                       368                    2
      CEECAAEDB                                       388                    2
      CEECAAERR                                       378                    2
      CEECAAEYEPTR                                    398                    2
      CEECAAFLAG2                                     363                    2
      CEECAALEVEL                                     364                    2
      CEECAAMEMBER_AREA                               310                    2
      CEECAAPCB                                       390                    2
      CEECAAPTR                                       3A0                    2
      CEECAARCB                                       3D8                    2
      CEECAATHDID                                     3D0                    2
      CEECAATIP                                       363           20       2