BPXYPGPS — Map the response structure for w_getpsent

VARLEN accepts three operands. Operands omitted (like the first) default to the maximum needed. Use zero if the associated field is not needed.

VARLEN describes the number of bytes to map the following:
  1. Controlling TTY name and its length
  2. Pathname and its length
  3. Command and its length
                                                      
            BPXYPGPS   VARLEN=(1028,1028,1028)                                  
** BPXYPGPS: w_getpsent return data structure                                   
**  Used By: GPS                                                                
PGPS                 DSECT ,                                                    
PGPSSTATUS0          DS    B         MVS status                                 
PGPSSWAP             EQU   X'80'       Swapped out                              
*                    EQU   X'7F'       Not Used                                 
PGPSSTATUS1          DS    B         Process status                             
PGPSSTOPPED          EQU   X'80'       Stopped process                          
PGPSTRACE            EQU   X'40'       PTrace active                            
PGPSMULTHREAD        EQU   X'20'        0=One open task in process              
PGPSPTHREAD          EQU   X'10'        0=No pthread task in process            
PGPSMULPROCESS       EQU   X'08'        0=One process in addr space             
*                    EQU   X'07'       Not Used                                 
PGPSSTATUS2          DS    B         System Call Status                         
PGPSLENERR           EQU   X'80'       PGPSLENGTH conflict                      
*                    EQU   X'7F'       Not Used                                 
PGPSSTATUS3          DS    CL1       State of reported task - with              
*                          PGPSPTHREAD=0 the most recent created thread         
*                          PGPSPTHREAD=1 the initial pthread task (IPT)         
PGPSMSGRCV           EQU   C'A'      IPC MSGRCV WAIT                            
PGPSMSGSND           EQU   C'B'      IPC MSGSND WAIT                            
PGPSWAITC            EQU   C'C'      COMM KERNELWAIT                            
PGPSSEMOP            EQU   C'D'      IPC SEMOP WAIT                             
PGPSFREEZE           EQU   C'E'      QUIESCEFREEZE                              
PGPSWAITF            EQU   C'F'      F S  KERNEL WAIT                           
PGPSMVSPAUSE         EQU   C'G'      MVSPAUSE                                   
PGPSZOMBIE2          EQU   C'L'      PROCESS TERMINATED AND STILL               
*                                    SESSION OR PROCESS GROUP LEADER            
PGPSWAITO            EQU   C'K'      OTHER KERNEL WAIT                          
PGPSQUIESCET         EQU   C'Q'      QUIESCE TEMRINATION WAIT                   
PGPSRUN              EQU   C'R'      NOT KERNEL WAIT                            
PGPSSLEEP            EQU   C'S'      SLEEP() ISSUED                             
PGPSCHILD            EQU   C'W'      WAITING FOR CHILD                          
PGPSFORK             EQU   C'X'      FORK NEW PROCESS                           
PGPSZOMBIE           EQU   C'Z'      PROCESS TERMINATED AND PARENT              
*                                    HAS NOT ISSUED WAIT SYSCALL                
PGPSPID              DS    F         Process ID                                 
PGPSPPID             DS    F         Parent ID                                  
PGPSSID              DS    F         Session ID (leader)                        
PGPSPGPID            DS    F         Process Group                              
PGPSFGPID            DS    F         Foreground Process Group                   
PGPSEUID             DS    F         Effective User ID                          
PGPSRUID             DS    F         Real User ID                               
PGPSSUID             DS    F         Saved Set User ID                          
PGPSEGID             DS    F         Effective Group ID                         
PGPSRGID             DS    F         Real Group ID                              
PGPSSGID             DS    F         Saved Set Group ID                         
PGPSTSIZE            DS    F         Total size                                 
PGPSSTARTTIME        DS    F         Starting time, GMT since EPOCH             
PGPSUSERTIME         DS    F         User CPU time (clock_t)                    
PGPSSYSTIME          DS    F         System CPU time (clock_t)                  
PGPSCONTTYBLEN       DC    A(1028)          L'PGPSCONTTYBUF                     
PGPSCONTTYPTR        DC    A(PGPSCONTTYBUF) ->PGPSCONTTYBUF                     
PGPSPATHBLEN         DC    A(1028)          L'PGPSPATHBUF                       
PGPSPATHPTR          DC    A(PGPSPATHBUF)   ->PGPSPATHBUF                       
PGPSCMDBLEN          DC    A(1028)          L'PGPSCMDBUF                        
PGPSCMDPTR           DC    A(PGPSCMDBUF)    ->PGPSCMDBUF                        
PGPSSERVERTYPE       DS    F         Server type (FILE=1, LOCK=2)               
PGPSSERVERNAME       DS    CL32      Name supplied on registration              
PGPSMAXVNODETOKENS   DS    F         Max number of VNode Toks allowed           
PGPSVNODETOKENCOUNT  DS    F         Current number of VNode Tokens             
PGPSSERFLAGS         DS    F         Server flags                               
PGPSSYSCALLCOUNT     DS    F         Count of syscalls this process             
PGPSJOBNAME          DS    CL8       AscbJBNI/JBNS  JobName                     
PGPSWAITTIME         DS    F         Since Kern Wait Started                    
PGPSASID             DS    FL2       Address space ID                           
PGPS#LENGTH          EQU   *-PGPS    Length of this structure                   
* Variable portion - Controlling terminal buffer                                
*                                                                               
* Notes on format of controlling terminal string in PGPSCONTTYBUF               
* 1. Controlling terminal string returned in PGPSCONTTY is                      
*    null-terminated.                                                           
* 2. The PGPSCONTTYLEN value does NOT include the terminating                   
*    null character.                                                            
PGPSCONTTYBUF        DS    0CL1028   ConTty Len+Buf                             
PGPSCONTTYLEN        DS    FL4       Length ConTty returned                     
PGPSCONTTY           DS    CL1024    ConTty (len+1-th char=null)                
*                                                                               
* Notes on format of path string in PGPSPATHBUF:                                
* 1. Pathname returned in PGPSPATH is null-terminated.                          
* 2. The PGPSPATHLEN value does NOT include the terminating null                
*    character.                                                                 
* 3. TSO (non-shell) pathnames may be padded with spaces to eight               
*    characters.                                                                
PGPSPATHBUF          DS    0CL1028   Pathname Len+Buf                           
PGPSPATHLEN          DS    FL4       Length Pathname returned                   
PGPSPATH             DS    CL1024    Pathname (len+1-th char=null)              
*                                                                               
* Notes on format of PGPSCMDBUF:                                                
* 1. PGPSCMD consists of one or more character fields representing              
*    the command and its arguments (if any).                                    
* 2. Each character field consists of a four byte length field and              
*    a null-terminated character string.                                        
* 3. TSO (non-shell) commands may be padded with spaces to eight                
*    characters.                                                                
* 4. Unlike PGPSCONTTYLEN and PGPSPATHLEN, each character field                 
*    length value DOES include the null-terminating character.                  
* 5. The PGPSCMDLEN value is the sum of all character fields (length            
*    fields and character strings).                                             
PGPSCMDBUF           DS    0CL1028   Command Len+Buf                            
PGPSCMDLEN           DS    FL4       Length Command returned                    
PGPSCMD              DS    CL1024    Command (array of len, element)            
PGPS#STORAGE         EQU   *-PGPS    Length, total area used                    
** BPXYPGPS End