275 typedef struct psinfo {
276 int pr_flag; /* process flags (DEPRECATED; do not use) */
277 int pr_nlwp; /* number of active lwps in the process */
278 pid_t pr_pid; /* unique process id */
279 pid_t pr_ppid; /* process id of parent */
280 pid_t pr_pgid; /* pid of process group leader */
281 pid_t pr_sid; /* session id */
282 uid_t pr_uid; /* real user id */
283 uid_t pr_euid; /* effective user id */
284 gid_t pr_gid; /* real group id */
285 gid_t pr_egid; /* effective group id */
286 uintptr_t pr_addr; /* address of process */
287 size_t pr_size; /* size of process image in Kbytes */
288 size_t pr_rssize; /* resident set size in Kbytes */
289 size_t pr_pad1;
290 dev_t pr_ttydev; /* controlling tty device (or PRNODEV) */
291 /* The following percent numbers are 16-bit binary */
292 /* fractions [0 .. 1] with the binary point to the */
293 /* right of the high-order bit (1.0 == 0x8000) */
294 ushort_t pr_pctcpu; /* % of recent cpu time used by all lwps */
295 ushort_t pr_pctmem; /* % of system memory used by process */
296 timestruc_t pr_start; /* process start time, from the epoch */
297 timestruc_t pr_time; /* usr+sys cpu time for this process */
298 timestruc_t pr_ctime; /* usr+sys cpu time for reaped children */
299 char pr_fname[PRFNSZ]; /* name of execed file */
300 char pr_psargs[PRARGSZ]; /* initial characters of arg list */
301 int pr_wstat; /* if zombie, the wait() status */
302 int pr_argc; /* initial argument count */
303 uintptr_t pr_argv; /* address of initial argument vector */
304 uintptr_t pr_envp; /* address of initial environment vector */
305 char pr_dmodel; /* data model of the process */
306 char pr_pad2[3];
307 taskid_t pr_taskid; /* task id */
308 projid_t pr_projid; /* project id */
309 int pr_nzomb; /* number of zombie lwps in the process */
310 poolid_t pr_poolid; /* pool id */
311 zoneid_t pr_zoneid; /* zone id */
312 id_t pr_contract; /* process contract */
313 int pr_filler[1]; /* reserved for future use */
314 lwpsinfo_t pr_lwp; /* information for representative lwp */
} psinfo_t;