VARLEN accepts three operands. Operands omitted (like the first) default to the maximum needed. Use zero if the associated field is not needed.
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