BPXZOTCB — z/OS UNIX extension to the TCB

BPXZOTCB maps z/OS® UNIX extensions to the TCB.

Only the following fields are externally documented. All other fields are reserved for IBM® use only.
  • OtcbThli
  • OtcbWLMEToken
  • OtcbSigPending
  • OtcbOapb
                                                      
            BPXZOTCB   ,                                                        
OTCB     DSECT ,                                                                
OTCBID   DS    CL4       EBCDIC ID - OTCB                                       
OTCBSP   DS    X         Subpool number of this OTCB                            
OTCBLEN  DS    FL3       Length of this OTCB                                    
OTCBPTXL DS    A         -> pthread parameters                                  
OTCBKSER DS    A         -> KSER                                                
OTCBMEDCLEAR DS 0CL84    Section of Otcb we clear for medium weight    X        
                         processes                                              
OTCBFLAGS DS   0BL4      Compare and swap flg                                   
OTCBFLAGSB1 DS 0B                                                               
OTCBINITIALTHREAD EQU X'80' Initial thread of a process                         
OTCBINKERNELCALL EQU X'40' moved to PPRT                                        
OTCBSLEEP EQU  X'20'     Signal sleep() flag which is checked by       X        
                         pause().                                               
OTCBCALLEDKERNEL EQU X'10' At sometime in its life, this thread has    X        
                         made a system call /CS                                 
OTCBNOPTLSIR EQU X'08'   Signal is being sent from the ptrace PtlSir   X        
                         (Ptrace Signal Interface Routine), so signal  X        
                         delivery should not deliver the signal to the X        
                         PtlSir if ptrace mode is on (we're already    X        
                         there)                                                 
OTCBPROCESSCLEANUP EQU X'04' Process being torn down. /CS                       
OTCBINTASKTERM EQU X'02' Thread is in the process of task termination. X        
                         Set by BPXRRTRM during task term                       
OTCBBYPASSRACF EQU X'01' Do not do RACF check in kill() routine                 
         ORG   OTCBFLAGSB1+1                                                    
OTCBFLAGSB2 DS 0B                                                               
OTCBPTEXITONLY EQU X'80' Thread did XAG exitonly                                
OTCBTHREADPTEXITED EQU X'40' Marked Ptexited                                    
OTCBTHREADTERM EQU X'20' Thread in terminated state                             
OTCBIPT  EQU   X'10'     Indicates this thread is or was the Initial   X        
                         Pthread Task, used by BPXPRMPC to check for   X        
                         IPT cleanup                                            
OTCBPROCESSCREATOR EQU X'08' 1=>Indicates the dubbing of this thread   X        
                         caused the creation of the process                     
OTCBCANCELINTR EQU X'04' Cancel interrupt point                                 
OTCBQUIESCEPOSTED EQU X'02' This task posted by qut                             
OTCBDUBNEWPROCESS EQU X'01' 0=>Dub as thread, 1=>Dub as process                 
         ORG   OTCBFLAGSB2+1                                                    
OTCBFLAGSB3 DS 0B                                                               
OTCBATTACHEXEC EQU X'80' attach_exec in progress                                
OTCBMULTIPROCCLP EQU X'40' 1=> Lower level processes are to be cleaned X        
                         up by this thread                                      
OTCBACTIVEACEEMANAGED EQU X'20' 1=Active ACEE managed by RACF          X        
                         (initACEE)                                             
OTCBTOGGLEACEEMANAGED EQU X'10' 1=Toggled ACEE managed by RACF         X        
                         (initACEE)                                             
OTCBSAVEDACEEMANAGED EQU X'08' MrPwd saved ACEE managed                         
OTCBINPROCESSTERM EQU X'04' 1=> When PRTRM is terminating a process.   X        
                         Used to tell F.S. Termination when PRTRM is   X        
                         cleaning up.                                           
OTCBTASKACEEUSP EQU X'02' USP created by TLS_TASK_ACEE#                         
OTCBMRPWDUIDSET EQU X'01' OtcbMrPwdUID field set                                
         ORG   OTCBFLAGSB3+1                                                    
OTCBFLAGSB4 DS 0B                                                               
OTCBPSEUDODUBBED EQU X'80' Thread is a pseudo-dubbed kernel task                
OTCBTASKSEC EQU X'40'    Thread called BPX1TLS to build a task level   X        
                         Acee                                                   
OTCBENCLAVEOWNER EQU X'20' Thread is an owner of a WLM Enclave                  
OTCBWLMEMANAGED EQU X'10' Enclave managed by WLM                                
OTCBTASKACEEINIT EQU X'08' InitUsp done for Task Level ACEE                     
OTCBDUBTASKACEE EQU X'04' 0=>Don't Dub Task Level ACEE 1=>Dub Task     X        
                         Level ACEE                                             
OTCBPTCREACEE EQU X'02'  0=> No ACEE propagated on Ptcre 1=> ACEE was  X        
                         propagated                                             
OTCBPROCINITACEE EQU X'01' 0=> No INITACEE done during dub 1=>         X        
                         INITACEE done during dub                               
         ORG   OTCBFLAGS+4                                                      
OTCBTHID DS    0CL8      Thread ID                                              
OTCBPPRT DS    0A        -> PPRT                                                
OTCBLIGHTWEIGHT EQU X'80' 1 Light weight thread                                 
         ORG   OTCBPPRT+4                                                       
OTCBSEQNO DS   0F        Sequence number                                        
OTCBSEQNOHIGHERHALF DS H higher half of seq num                                 
OTCBSEQNOLOWERHALF DS H  lower half of seq num                                  
OTCBSIGFLAGS DS 0BL4     Signal Flags1 that are modified by signal     X        
                         IRBs. Serialized by Compare & Swap                     
OTCBSIGFLAGSB1 DS 0B                                                            
OTCBSIGDISABLE EQU X'80' Signal Delivery is disabled                            
OTCBSIGPENDING EQU X'40' Signal pending flag                                    
OTCBTIMERSIGNAL EQU X'20' SIGXCPU or SIGKILL is to be generated by the X        
                         syscall layer. Either OtcbSIGXCPU or          X        
                         OtcbSIGKILL is on. This flag exists for       X        
                         sycall layer performance.                              
OTCBSIGALRM EQU X'10'    generate in SC layer                                   
OTCBALRMACTIVE EQU X'08' ALR & setitimer REAL                                   
OTCBIGNRBSTATE EQU X'04' Ignore RB state                                        
OTCBSIGDUMP EQU X'02'    Dump for terminating signal                            
OTCBRAISETIMERIRB EQU X'01' Raise() function from Timer IRB                     
         ORG   OTCBSIGFLAGSB1+1                                                 
OTCBSIGFLAGSB2 DS 0B                                                            
OTCBIRBSIGNAL EQU X'80'  Signal Checker routine should recheck signals X        
                         because one of the signal IRBs may have       X        
                         changed the signals pending                            
OTCBPTDELAYIRB EQU X'40' Delay IRB for PTRACE                                   
OTCBSIRDISABLE EQU X'20' Disable invocation of SIR                              
OTCBCANCELASYNC EQU X'10' Cancellation request state 0 = controlled, 1 X        
                         = async                                                
OTCBCANCELDISABLED EQU X'08' Cancellation request type 0=enabled,      X        
                         1=disabled                                             
OTCBSETSIGDISABLE EQU X'04' Syscall must turn on OtcbSigDisable on     X        
                         return                                                 
OTCBCTWACTIVE EQU X'02'  cond_timed_wait (BPX1CTW) is active                    
OTCBIGNDLVKEY EQU X'01'  Ignore Dlv key                                         
         ORG   OTCBSIGFLAGSB2+1                                                 
OTCBSIGFLAGSB3 DS 0B                                                            
OTCBCANCELPENDING EQU X'80' Cancel pending for thrd                             
OTCBPTREGSINUSTA EQU X'40' Ptrace regs/PSW are in the Usta                      
OTCBSIGXCPU EQU X'20'    SIGXCPU is to be generated by syscall layer            
OTCBSIGKILL EQU X'10'    SIGKILL is to be generated by syscall layer            
OTCBSIGVTALRM EQU X'08'  generate in SC layer                                   
OTCBSIGPROF EQU X'04'    generate in SC layer                                   
OTCBALLSIGSBLOCKED EQU X'02' All signals are blocked, the same as if   X        
                         all bits were on in PpstSigMask                        
OTCBUDPINKERNEL EQU X'01' In UDP syscall                                        
         ORG   OTCBSIGFLAGSB3+1                                                 
OTCBSIGFLAGSB4 DS 0B                                                            
OTCBVTALRMACTIVE EQU X'80' setitimer VIRTUAL                                    
OTCBPROFACTIVE EQU X'40' setitimer PROF                                         
OTCBRETURNPPSD EQU X'20'                                                        
OTCBCALLRTM EQU X'10'    CallRTM done by IR1                                    
OTCBNOIRB EQU  X'08'     Avoid Irb interrupts                                   
OTCBREDRIVE EQU X'04'    IRB redrive is in prog                                 
OTCBCPUTIMEOUT EQU X'02' A terminating signal is to be generated due   X        
                         to the process time limit being exceeded               
OTCBDLVTERM EQU X'01'    This thread is terminating due to a           X        
                         terminating signal                                     
         ORG   OTCBSIGFLAGS+4                                                   
OTCBSIR2ID DS  F         Alarm ID set by STIMERM. Changed by           X        
                         incrementing at start of alarm() and sleep()           
OTCBRACGROUP DS A        Pointer to RACF structure to be deleted by    X        
                         next getgr* call                                       
OTCBRACPASSWD DS A       Pointer to RACF structure to be deleted by    X        
                         next getpw* call                                       
OTCBCOMMREQ DS A         Address of communications resource associated X        
                         with this task (only valid when there is an   X        
                         active request)                                        
OTCBPTMULTISTATUS DS B   Ptrace multi process mode status word value - X        
                         will be one of the WastStopFlag... values              
OTCBFLAGS2 DS  0CL3      2nd Set of flags                                       
OTCBFLAGS2B1 DS 0B                                                              
OTCBSTAXDEFERRED EQU X'80' Stax defer performed                                 
OTCBLUKWKEY0 EQU X'40'   User Kernwait caller is KEY 0                          
OTCBKSERWAITINGF EQU X'20' Is Kser waiting?                                     
OTCBAFFINPGMRUNNING EQU X'10' An IPT/thread affinity program is        X        
                         running on this thread, do no joblogging               
OTCBREGSINPPSD EQU X'08' User regs are in Ppsd at time of              X        
                         Freeze_This_Thread                                     
OTCBREGSINIRB EQU X'04'  User regs are in IRB at time of               X        
                         Freeze_This_Thread                                     
OTCBTIMEDKERNWAIT EQU X'02' Task is in Timed Kernwait                           
OTCBSLOWPATHSYSCALL EQU X'01' This is a slow-path syscall. User regs   X        
                         are in USTA                                            
         ORG   OTCBFLAGS2B1+1                                                   
OTCBFLAGS2B2 DS 0B                                                              
OTCBOSENVACTIVE EQU X'80' Task is active in the osenv                           
OTCBOSENVGET EQU X'40'   Task issued osenv_get                                  
OTCBOSENVWLMJOIN EQU X'20' Task is joined to a WLM enclave as a result X        
                         of osenv_set                                           
OTCBOSENVSECURITY EQU X'10' Security environment was saved by osenv             
OTCBCHKPTUNSAFE EQU X'08' Task is checkpoint unsafe due to being in    X        
                         kernel                                                 
OTCBINRSTWAIT EQU X'04'  Task is waiting for OMVS to be restarted               
OTCBDORSTWAIT EQU X'02'  Fastpath syscall requests task be put in      X        
                         restart wait                                           
OTCBSPBUPDATE EQU X'01'  Used for SPB/IR1 serialization                         
         ORG   OTCBFLAGS2B2+1                                                   
OTCBFLAGS2B3 DS 0B                                                              
OTCBDEFERSIGS EQU X'80'  Defer sigs is in effect                                
OTCBLATCHPROBLEM EQU X'40' Latch Cleanup Problem detected at           X        
                         termination time                                       
OTCBF2_ATTACHEDTASK EQU X'20' This task has done a localspawn or       X        
                         attach                                                 
OTCBPTHDFORKCHILD EQU X'10' This child process was created via fork    X        
                         from a pthread                                         
         ORG   OTCBFLAGS2+3                                                     
OTCBALRMGTYEAR DS F      Alarm time in seconds greater than 365 days   X        
                         used by alarm() and sleep() functions                  
OTCBCOFPTR DS  A         Address of CopyOnFork area                             
OTCBDLVIRB DS  A         Address of RB that called Signal Delivery              
OTCBDUBRBSQN DS F        Sequence number of RB that was DUBed                   
OTCBREGRBSQN DS F        Sequence number of RB that registered for     X        
                         signals                                                
OTCBSPB                                                                         
                         the ALET for this SPB is PRIMARY. For         X        
                         BPXJCSA, the ALET is HOME.                             
OTCBSYSCALLCODE DS F     System call number                                     
OTCBLECB DS    A         Ptr to ECB used to wait for a latch to be     X        
                         obtained                                               
OTCBPPSDPTR DS 0A        -> PPSD                                                
OTCBPPSD DS    A         -> PPSD                                                
OTCBCTWID DS   F         cond_timed_wait stimerm ID                             
OTCBSTACKNONSW DS A      Dynamic stack for Non-space switched          X        
                         syscalls. Only valid when OTCBSYSCALLCODE is  X        
                         non-zero. Contains address of 1st #SAMAP area X        
                         following RUCA. Addressable in user home      X        
                         space.                                                 
OTCBOTIM DS    A         -> interval timers                                     
OTCBOAPB DS    A         -> OAPB                                                
OTCBMEDCLEAR2 DS 0CL248  We can't clear Oapb, multiproc quiesce        X        
                         references                                             
OTCBPTPICPARMSPTR DS A   Pointer to ptrace recovery environment        X        
                         parameters (PIC parms                                  
OTCBPTEVENTID DS F       Ptrace event ID, that identifies why this     X        
                         thread stopped for ptrace                              
OTCBPTLCLPPSDPTR DS A    Ptrace local Ppsd pointer                              
OTCBMVSPAUSEECBLIST DS A Pointer to the BPXZECBL - System copy of user X        
                         ECB addresses passed to MVSpauseInit                   
OTCBSAVEDSCB DS A        Saved SCB addr of STAI on entry to Local      X        
                         Child Process                                          
OTCBUECBLIST DS A        Pointer to the BPXZECBL - System copy of user X        
                         and system ECBs address for the BPXLUKW -     X        
                         User KernWait service                                  
OTCBUIDS DS    0CL12     User IDs for Thread                                    
OTCBRUID DS    F         Real Uid                                               
OTCBEUID DS    F         Effective Uid                                          
OTCBSUID DS    F         Saved Uid                                              
OTCBSAVEDACEE DS A       MRPWD saved Acee                                       
OTCBPPRX DS    A         Address of the Pprx, an extension of the Pprt          
OTCBMRPWDUID DS F        Password verified UID                                  
OTCBPSWBYT03 DS F        Caller's PSW bytes 0-4 (Used by JCPR to setup X        
                         BPXZUSTA)                                              
OTCBMRPWDUSERNAME DS CL8 Password verified userid                               
OTCBSAVEDSECENV DS A     Pointer to ACEE saved by BPX1ENV for a toggle X        
                         request                                                
OTCBMVSUSERIDPTR DS A    Pointer to userid of this thread, points to   X        
                         either OtcbLoginNInfo or OasbLoginNInfo                
OTCBLOGINNINFO DS 0CL13  Task userid and length                                 
OTCBLOGINNLEN DS F       Task userid length                                     
OTCBLOGINNAME DS CL9     Tasks userid, must be '00'x (null)            X        
                         terminated. Preceding length does not include X        
                         ' terminating null                                     
OTCBPRIN2FLAGS DS B      This field is modified by BPXPRIN1, and it is X        
                         used by BPXPRIN2. See PPSQ for the mapping    X        
                         and more details                                       
         DS    CL2       Reserved, keep word bdy                                
OTCBTHLI DS    A         -> Thli. This field must never change offsets X        
                         within the Otcb since the Thli is an external X        
                         control block and the user will have to go    X        
                         through the Otcb to get to the Thli                    
OTCBACTSCTBNODEPTR DS A  Active Acee SCTB node ptr, zero if ACEE is    X        
                         private                                                
OTCBTOGGLEDSCTBNODEPTR DS A Toggled Acee SCTB node ptr, zero if ACEE   X        
                         is private                                             
OTCBPAG  DS    F         Process Auth Groups                                    
OTCBGIDS DS    0CL12     Group IDs for Thread                                   
OTCBRGID DS    F         Real Gid                                               
OTCBEGID DS    F         Effective Gid                                          
OTCBSGID DS    F         Saved Gid                                              
OTCBRACGIDSPTR DS A      Addr of saved group list                               
OTCBWLMETOKEN DS BL8     WLM Enclave token associated with the thread           
OTCBSAVEDGID DS F        Gid set by getpwname, used by setgid                   
OTCBALIASNINFO DS 0CL13                                                         
OTCBALIASNLEN DS F       Task alias length                                      
OTCBALIASNAME DS CL9     Tasks alias, must be '00'x (null) terminated. X        
                         Preceding length does not include '           X        
                         terminating null                                       
         DS    CL3       Reserved, keep word bdy                                
OTCBOSENVTOKEN DS 0CL8   osenv environment token                                
OTCBOSENVCELLPTR DS A    Ptr to osenv environment cell element                  
OTCBOSENVSEQN DS F       seq number associated with the osenv cell              
OTCBREDRIVETIME DS F     Time to delay signal IRB                               
OTCBSHLLOADERINFO DS 0CL48 Shared Library data                                  
OTCBSHLLOADER1DSPADDR DS A Shared Library loader data1 addr in data    X        
                         space                                                  
OTCBSHLLOADER1DSPPAGES DS F Shared Library loader data1 len in data    X        
                         space                                                  
OTCBSHLLOADER1DSPALET DS F Shared Library loader data1 alet of data    X        
                         space                                                  
OTCBSHLLOADER1DSPSTOKEN DS CL8 Shared Library loader data1 stkn of     X        
                         data space                                             
OTCBSHLLOADER2DSPADDR DS A Shared Library loader data1 addr in data    X        
                         space                                                  
OTCBSHLLOADER2DSPPAGES DS F Shared Library loader data1 len in data    X        
                         space                                                  
OTCBSHLLOADER2DSPALET DS F Shared Library loader data1 alet of data    X        
                         space                                                  
OTCBSHLLOADER2DSPSTOKEN DS CL8 Shared Library loader data1 stkn of     X        
                         data space                                             
OTCBSHLLOADERTOK DS CL8  Shared Library loader token len used by       X        
                         BPXXSHLB INIT                                          
OTCBSMKLATCHFLAGCOUNT DS F OcvtSMKLatchCount incremented                        
OTCBSAVEPPRT DS A        Addr of Pprt saved during task term when      X        
                         OtcbPprt is changed so that BPXMIPCE can find X        
                         real Pprt of running task                              
OTCBSYSCALLSTART DS BL8  Start Timeused Value for active syscall                
OTCBPECBPTR DS A         Prt to a PECB                                          
         DS    CL24      Reserved for future use                                
*                                                                               
*                                                                               
*     NOTE: The size of this control block is retrieved dynamically             
*           during runtime by the modules that need it.                         
*           When adding additional fields to this control block,                
*                                                                               
*     ====> THE ONLY MODULE THAT *MUST* BE RECOMPILED IS BPXPRIT                
*                                                                               
*                                                                               
*                                                                               
OTCB_END DS    0C        Make CB end on doubleword                              
OTCB_LEN EQU   *-OTCB                                                           
*                                                                               
* ********************************************************************          
* *                                                                  *          
* * NOTE: The "OtcbCopyOnFork" is contiguous to the end of the Otcb. *          
* *       IPCS modules respecify its base on the address of Otcb_End *          
* *       because the field OtcbCofPtr does NOT contain an address   *          
* *       that is usable by IPCS without another ?ASAXACC.           *          
* *                                                                  *          
* ********************************************************************          
*                                                                               
*                                                                               
OTCBCOPYONFORK DSECT     These fields will be copied to the child Otcb X        
                         on fork()                                              
OTCBSYSCALLENTRYSTATUS DS A Ptr to regs and stuff at entry to the      X        
                         syscall layer                                          
OTCBUSTAPTR DS A         Pointer to user status area containing the    X        
                         syscall issuer's regs and PSW. (Mapped by     X        
                         BPXZUSTA. Used by ptrace.)                             
OTCBGROUPDBSEARCH DS CL8 Group name for group data base search         X        
                         (getgrent)                                             
OTCBUSERDBSEARCH DS CL8  User name for user data base search           X        
                         (getpwent)                                             
OTCBSTORAGEFORCPR DS A   Dynamic area for BPXJCPR                               
OTCBSTORAGEFORCPRKEY DS X Storage key of dynamic area for JCPR                  
OTCBSTORAGEFORCPRLEN DS FL3 Length of JCPR dynamic area                         
OTCBSTORAGEFORCPRSP DS X Storage SP of dynamic area                             
OTCBCOPYFLAGS DS 0B      Copy on Fork Flags                                     
OTCBSETUIDEXEC EQU X'80' Setuid Exec in progress                                
OTCBMVSAUTHLIB EQU X'40' Pgm loaded from MVS authorized library by     X        
                         exec/execmvs                                           
OTCBEXECPROCESS EQU X'20' This process image was created by            X        
                         exec/execmvs                                           
OTCBSIGPOSTINPC EQU X'10' Sig IRB will post ThliComECB even when a     X        
                         Linkage Stack is detected, signal will be     X        
                         rescheduled for future delivery                        
OTCBPOEATTRSET EQU X'08' The OtcbPoeAttr have been set by __poe                 
         ORG   OTCBCOPYFLAGS+1                                                  
         DS    CL2       Reserved                                               
OTCBDAEMONINFO DS 0CL12  This info will be set and reused to improve   X        
                         performance by bypassing multiple RACF calls  X        
                         for the same info                                      
OTCBSAVEDUID DS F        Remembered UID                                         
OTCBSAVEDUSERNAME DS CL8 Remembered UserID                                      
OTCBWLMUSERDATAINFO DS 0CL16 WLM Server information. These fields are  X        
                         needed to manage the application data and     X        
                         file descriptor list. A single area is        X        
                         obtained for both needs. The area is pointed  X        
                         to by OtcbWLMUserDataPtr. The application     X        
                         data is always first in the area followed by  X        
                         the FDL area.                                          
OTCBWLMUSERDATAPTR DS A  Address of user data storage                           
OTCBWLMUSERDATALEN DS F  Length of user data storage -- the entire     X        
                         area                                                   
OTCBWLMUSERDATAKEY DS X  Key of user data area                                  
         DS    CL3       reserved                                               
OTCBWLMAPPLLEN DS F      Length of the application data portion of the X        
                         user data area. The file descriptors occupy   X        
                         the remainder of the user data area                    
OTCBSMFBUFFPTR DS A      Address of key 0 copy of user SMF record               
OTCBSMFBUFFLEN DS F      Length of key 0 copy of user SMF record                
OTCBPOEATTR DS 0CL96     __poe() port of entry info                             
OTCBPOEPEERIPADDR DS 0CL16 Peer IP Address                                      
OTCBPOEPEERIPV6PREFIX DS CL12                                                   
OTCBPOEPEERIPV4ADDR DS F                                                        
OTCBPOETERMID DS CL8     TERMINAL Profile Name                                  
OTCBPOELABEL DS CL8      Security Label of poe                                  
OTCBPOEPROFILE DS CL64   SERVAUTH Profile Name                                  
*                                                                               
*      ***************************************************************          
*      *                                                             *          
*      * NOTE: The size of this control block is retrieved           *          
*      * dynamically during runtime by the modules that need it. When*          
*      * adding additional fields to this control block, ===> THE    *          
*      * ONLY MODULE THAT *MUST* BE RECOMPILED IS BPXPRIT                       
*      *                                                             *          
*      ***************************************************************          
*                                                                               
*                                                                               
OTCBCOFEND DS  0C        Make CB end on dword                                   
OTCBCOPYONFORK_LEN EQU *-OTCBCOPYONFORK                                         
*                                                                               
*    *****************************************************************          
*    *                                                               *          
*    * **** This is end of "OtcbCopyOnFork" area ****                *          
*    *                                                               *          
*    *****************************************************************          
*                                                                               
*                                                                               
*                                                                               
*    *****************************************************************          
*    *                                                               *          
*    * The following based area is used by BPXPRGUG and BPXPRSGR. A  *          
*    * copy of the last getgroupsbyname will be saved here if done   *          
*    * after a __passwd() with the same name.                                   
*    *                                                               *          
*    *****************************************************************          
*                                                                               
*                                                                               
OTCBRACGIDS DSECT                                                               
OTCBRACGIDSHEADER DS 0CL8                                                       
OTCBRACGIDSTOTNUM DS F                                                          
OTCBRACGIDSCURNUM DS F                                                          
OTCBRACGIDSLIST DS F                                                            
OTCB#ID  EQU   C'OTCB'   Control Block Acronym                                  
OTCB#MEDCLEAR2LEN EQU 416 Length to clear                                       
OTCB#LEN EQU   520                                                              
*                                                                               
*                                      Length of OTCB                           
*                                                                               
OTCB#ONLYLEN EQU 352     Length of OTCB only                                    
OTCB#SP  EQU   230       Subpool for the OTCB                                   
OTCBRACGIDS_LEN EQU *-OTCBRACGIDS