BPXYOEXT — Map the common external control block

DSECT=NO is not allowed. The storage belongs to z/OS UNIX.
** BPXYOEXT: Common External Control Block
*
*     The address of BPXYOEXT control block can be obtained as follows:
*
*        L        14,16(0,0)      GET CVT ADDRESS
*        L        15,140(0,14)    GET ECVT ADDRESS
*        L        14,244(0,15)    GET BPXYOEXT ADDRESS
*
*
*    OEXT user exit support:
*
*      When the kernel detects that the OEXTUSEREXIT address is
*      non-zero, control will be given to this exit on:
*
*         1) Successful completion of the GETPWNAME service and
*            specified name matches invoking userid.
*
*              Parm 1 = 4 byte function code set to OEXT#UEGETPWNAME
*              Parm 2 = 4 byte length of Current Working Directory
*              Parm 3 = N byte Current Working Directory
*
*            Purpose of call is to allow exit to examine/change CWD.
*            Length of CWD must remain the same.
*
*      User Exit will be given control in supervisor state key zero.
*
*      Input:                                  ---------------
*           Register 1 = Parmlist address ---> | Parm 1 addr |
*                                              ---------------
*                                              | Parm 2 addr |
*                                              ---------------
*                                                     .
*                                                     .
*                                   Bit 31 on  ---------------
*                                   in last -->| Parm N addr |
*                                   parm       ---------------
*
*
*           Register 13 = Save area address
*           Register 14 = Return address
*
*      Output:
*            Possible modification of CWD, length must not change.
*
*       Exit will be passed a 64 bytes save area in Register 13.  It is
*       the responsibility of the User Exit to save all resisters upon
*       entry and to restore all registers before return.
*OEXT                DSECT ,
OEXT                 DS    0D
OEXTID               DS    CL4    Eye catcher
OEXTSP               DS    FL1    Subpool of this structure
OEXTLEN              DS    FL3    Length this structure
OEXTFLGS             DS    0CL4
OEXTFLG1             DS    B
OEXTF1DEFSEG         EQU   X'80'  OMVS default segment exists     
*                    EQU   X'40'  Reserved for future use         
OEXTSYSPLEXACTV      EQU   X'20'  OMVS is a member of sysplex     
OEXTNOACCT           EQU   X'10'  Don't allow user to change acct-info
*                                                                 
OEXTSETIP@           EQU   X'08'  Deamons should set IP@ of client
*                                                                 
OEXTGRPIDVALID       EQU   X'04'  If on, OextTtyGrpId is valid    
OEXTSERVICESAVAILABLE EQU  X'02'  IF ON, z/OS UNIX Services Available
OEXTFLG2             DS    B
OEXTCINETCONF        EQU   X'80'  Cinet is configured             
OEXTIPV6             EQU   X'40'  IPv6 Configured & Supported     
OEXTIPV6CONF         EQU   X'20'  IPv6 is Configured              
OEXTFLG3             DS    B
OEXTFLG4             DS    B
OEXTSTARTM           DS    BL.64  Time z/OS UNIX was started
*                                 (TOD format)                     
OEXTSMFP             DS    A      Pointer to the SMF Process accounting
*                                 data collection routine.  This offset
*                                 must not change.  It is hardcoded in
*                                 executable macro BPXESMF.
OEXTLVL              DS    0XL4   z/OS UNIX Release level
*                                 indicator
*                                 (Multiple bits may be set, e.g.
*                                 OEXT1120 and OEXT1130 will both
*                                 be set)                          
OEXTLV0              DS    XL1    Byte 0 of OEXTLVL                
*                    EQU   X'80'  Reserved                         
OEXT1120             EQU   X'40'  HOM1120 functions are present    
OEXT1130             EQU   X'20'  HOM1130 functions are present    
OEXT1130IPC          EQU   X'10'  HOM1130 functions InterProcess
*                                 Communication (IPC), NFSC, directory
*                                 sticky bit, lchown UID=-1, are
*                                 present.                         
OEXT1140             EQU   X'08'  HOM1140 functions are present    
OEXT1150             EQU   X'04'  HBB6603 functions are present. Future
*                                 z/OS UNIX release indicators will
*                                 not be added since z/OS UNIX is
*                                 now an integral part of the BCP. 
OEXTTECFS            EQU   X'02'  The Thli ECB comunication function is
*                                 supported                        
OEXTTAFS             EQU   X'01'  The MvsThreadAffinity function is
*                                 supported                       
OEXTLV1              DS    XL1    Byte 1 of OEXTLVL               
OEXTPQG              EQU   X'80'  The pthread_quiesce_and_get_np
*                                 function (BPX1PQG) is supported  
OEXTMMAPEXTKEY       EQU   X'40'  The mmap extended key function
*                                 is supported                     
                     DS    XL2    Bytes 2-3 of OEXTLVL             
OEXTAPPCBPXEXIT      DS    A      Pointer to the z/OS UNIX Exit
*                                 for APPC Processing.             
OEXTTIXP             DS    A      Pointer to z/OS UNIX timer exit.
*                                 Invoked by IEAVLEXT.             
OEXTRUNOPTSPTR       DS    A      Pointer to the RUNOPTS() string
*                                 specified at IPL time.          
OEXTRUNOPTSLEN       DS    FL4    Length of the RUNOPTS() string
*                                 specified at IPL time.           
OEXTBPXWLMEXIT       DS    A      Pointer to z/OS UNIX Exit for WLM
*                                 IWMUWON timeout processing       
OEXTUSEREXIT         DS    A      Pointer to z/OS UNiX User Exit   
OEXTMSGACBRTN        DS    A      Pointer to JESYSMSG ACB PUT rtn  
OEXTPARMLIBPTR       DS    A      Pointer to Parmlib Data Area     
OEXTARG_MAX          DS    FL4    Sysconf ARG_MAX value            
OEXTCLK_TCK          DS    FL4    Sysconf CLK_TCK value            
OEXTTZNAME_MAX       DS    FL4    Sysconf TZNAME_MAX value         
OEXTJOB_CONTROL      DS    FL4    Sysconf JOB_CONTROL value        
OEXTVERSION          DS    FL4    Sysconf VERSION value            
OEXT2_CHAR_TERM      DS    FL4    Sysconf CHAR_TERM value          
OEXTTTYGRPID         DS    FL4    sysconf TTY_GROUP value          
                     DS    1CL0008   Reserved                      
                     DS    0D     Ensure end on double word boundary
OEXT#LENGTH          EQU   *-OEXT Length of this structure
OEXT#UEGETPWNAME     EQU   1      Function code indicating user exit
*                                 called from getpwname             
** BPXYOEXT End