ESD entry (version 2)

Please note that the version 2 ESD buffer has been significantly changed from the Version 1 buffer.
    Field              Field  Off Leng           Description
    Name               Type   set

   IEWBESD                              Binder ESD buffer, Version 2
   ESDH_BUFFER_ID      Char     0   8   Buffer identifier "IEWBESD"
   ESDH_BUFFER_LENG    Binary   8   4   Length of the buffer,
                                           including the header
   ESDH_VERSION        Binary  12   1   Version identifier (Constant 2)
   *** RESERVED ***    Binary  13   3   Reserved, must be zeros
   ESDH_ENTRY_LENG     Binary  16   4   Length of each entry
   ESDH_ENTRY_COUNT    Binary  20   4   Number of entries in the buffer
   *** RESERVED ***    Binary  24   8   Reserved
   ESDH_ENTRY_ORIGIN           32       First ESD entry

   ESD_ENTRY                            ESD entry
   ESD_TYPE            Char     0   2   ESD Type
       C'  '                            Null Entry
       C'SD'                            Control Section
       C'LD'                            Label Definition
       C'ER'                            External Reference
       C'PR'                            Part Reference
       C'PD'                            Part Definition
       C'ED'                            Element Definition
                                     
   ESD_TYPE_QUAL       Char     2   2   ESD Type Qualifier
       C' '                             (no qualification)
       C'SD'                            Section Definition (SD)
       C'CM'                            Common (SD) 
       C'ST'                            Segment Table (SD)
       C'ET'                            Entry Table (SD)
       C'PC'                            Unnamed Section (SD)
       C'PR'                            Part Reference (PR, PD)
       C'PD'                            Part Definition (PR, PD)
       C'ER'                            External Reference (ER)
       C'WX'                            Weak Reference (ER) 

   ESD_NAME_SPACE      Binary   4   1   Name Space for symbols
       X'00'                              Section names 
       X'01'                              Labels and references (LD, ER)
       X'02'                              Pseudoregisters (PR, PD)
       X'03'                              Parts (PR, PD) or ED record for 
                                                   merge class 
       X'04'-x'07'                        Reserved
   ESD_SCOPE           Char     5   1   Scope of Name
       ' '                                Not applicable
       'S'                                Section (Types SD/private,ST,ET)
       'M'                                Module (Types SD/CSECT,LD,
                                                 ER/weak,CM,PR,DS,PD)
       'L'                                Library (Type ER/strong)
   ESD_NAME            Name     6   6   Symbol represented by ESD record
     ESD_NAME_CHARS    Binary   6   2     length of name in bytes
     ESD_NAME_PTR      Pointer  8   4     pointer to name string
   *** RESERVED ***    Char    12   2   Reserved
1  ESD_RES_SECTION     Name    14   6   Name of containing section
     ESD_RESIDENT_CHARS Binary 14   2     length of name in bytes
     ESD_RESIDENT_PTR  Pointer 16   4     pointer to name string
   ESD_LENG            Binary  20   4   Length of defined element
                                           (ED, PD, PR)
   ESD_ALIGN           Binary  24   1   Alignment specification from
                                        language processor.  Indicates
                                        Alignment of section contribution
                                        within class segment (ED, PD, PR)
       X'00'                              Byte alignment (PD, PR)
       X'01'                              Halfword (PD, PR)
       X'02'                              Fullword (PD, PR)
       X'03'                              Doubleword (PD, PR, ED)
       X'04'                              Quadword (PR, PD, ED)
       X'0C'                              4K page (ED)
    Field              Field  Off Leng           Description
    Name               Type   set

   ESD_USABILITY       Binary  25   1   Reusability of Section (SD)
       X'00'                              Unspecified
       X'01'                              Nonreusable
       X'02'                              Reusable
       X'03'                              Reentrant
       X'04'                              Refreshable
   ESD_AMODE           Bit     26   1   Addressing Mode for Section or
                                        label (SD, LD)
       X'00'                              Unspecified
       X'01'                              AMODE 24
       X'02'                              AMODE 31
       X'03'                              AMODE ANY (24 or 31)
       X'04'                              AMODE MIN
   ESD_RMODE           Bit     27   1   Residence Mode for class element
                                          (ED)
       X'01'                              RMODE 24
       X'03'                              RMODE ANY (24 or 31)
   ESD_RECORD_FMT      Binary  28   2   Record format for class (ED)
       H'1'                               Byte stream
       H'>1'                              Fixed length records
    Field              Field  Off Leng           Description
    Name               Type   set

   ESD_LOAD_FLAGS      Bit     30   1   Load Attributes (ED)
       1... ....                          Read-only
       .1.. ....                          Do not load with module
       ..1. ....                          Moveable
       ...1 ....                          Shareable
       .... 1111                          ** Reserved **
   ESD_BIND_FLAGS      Bit     31   1   Bind Attributes
2      1... ....                          Binder generated (SD, ED, LD)
2      .1.. ....                          No class data available (ED)
2      ..1. ....                          Variable length records (ED)
       ...1 ....                          Descriptive data (not text) (ED)
       .... 1111                          ** Reserved **
   ESD_BIND_CNTL       Bit     32   1   Bind control information
1      1... ....                          Removable class(ED) 
1      .x.. ....                          ** Reserved **        
1      ..xx ....                          Binding method (ED)   
1      ..00 ....                            CAT (Catenated text)
1      ..01 ....                            MRG (Merged parts)  
1      ..1x ....                            ** Reserved **
   *** RESERVED ***    Char    33   1   Reserved
   ESD_XATTR_CLASS     Name    34   6   Extended attributes class
                                           (LD, ER)
     ESD_XATTR_CLASS_CHARS
                       Binary  34   2     length of name in bytes
     ESD_XATTR_CLASS_PTR
                       Pointer 36   4     pointer to name string
   ESD_XATTR_OFFSET    Binary  40   4   Extended attributes element offset
                                        (LD, ER)
2  ESD_SEGMENT         Binary  44   2   Overlay segment number (SD)
2  ESD_REGION          Binary  46   2   Overlay region number (SD)
   ESD_SIGNATURE       Char    48   8   Interface signature
2  ESD_AUTOCALL        Binary  56   1   Autocall specification (ER)
       x... ....                          ** Reserved **
       .1.. ....                          Entry in LPA.  If ON, name is
                                          an alias.
       ..xx xxxx                          ** Reserved **
2  ESD_STATUS          Bit     57   1   Resolution status (ER)
       1... ....                          Symbol is resolved
       .1.. ....                          Processed by autocall
       ..xx xxxx                          Reserved
2  ESD_TGT_SECTION     Name    58   6   Target section (ER)
     ESD_TARGET_CHARS  Binary  58   2     length of name in bytes
     ESD_TARGET_PTR    Pointer 60   4     pointer to name string
   *** RESERVED ***    Char    64   2   Reserved
   ESD_RES_CLASS       Name    66   6   Name of containing class
                                        (LD, PD) or target class (ER)
     ESD_RES_CLASS_CHARS
                       Binary  66   2     length of name in bytes
     ESD_RES_CLASS_PTR
                       Pointer 68   4     pointer to name string
3  ESD_ELEM_OFFSET     Binary  72   4   Offset within class element
                                        (LD, ER)
2  ESD_CLASS_OFFSET    Binary  76   4   Offset within class segment
                                        (ED, LD, PD, ER)
Note:
  1. This entry is ignored on input to the binder.
  2. Recalculated by the binder.
  3. Calculated on the ED and ER records, required input to LD.