143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
14*a7d7cafeSRobert Mustacchi.Dd November 27, 2023
1543051d27SRobert Mustacchi.Dt PROC_ARG_PSINFO 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1843051d27SRobert Mustacchi.Nm proc_arg_psinfo ,
1943051d27SRobert Mustacchi.Nm proc_arg_xpsinfo
2043051d27SRobert Mustacchi.Nd process ps information utility function
21*a7d7cafeSRobert Mustacchi.Sh LIBRARY
2243051d27SRobert Mustacchi.Lb libproc
23*a7d7cafeSRobert Mustacchi.Sh SYNOPSIS
2443051d27SRobert Mustacchi.In libproc.h
2543051d27SRobert Mustacchi.Ft pid_t
2643051d27SRobert Mustacchi.Fo proc_arg_psinfo
2743051d27SRobert Mustacchi.Fa "const char *arg"
2843051d27SRobert Mustacchi.Fa "int oflag"
2943051d27SRobert Mustacchi.Fa "psinfo_t *psp"
3043051d27SRobert Mustacchi.Fa "int *perr"
3143051d27SRobert Mustacchi.Fc
3243051d27SRobert Mustacchi.Ft pid_t
3343051d27SRobert Mustacchi.Fo proc_arg_xpsinfo
3443051d27SRobert Mustacchi.Fa "const char *arg"
3543051d27SRobert Mustacchi.Fa "int oflag"
3643051d27SRobert Mustacchi.Fa "psinfo_t *psp"
3743051d27SRobert Mustacchi.Fa "int *perr"
3843051d27SRobert Mustacchi.Fa "const char **lwps"
3943051d27SRobert Mustacchi.Fc
4043051d27SRobert Mustacchi.Sh DESCRIPTION
4143051d27SRobert MustacchiThe
4243051d27SRobert Mustacchi.Fn proc_arg_psinfo
4343051d27SRobert Mustacchiand
4443051d27SRobert Mustacchi.Fn proc_arg_xpsinfo
4543051d27SRobert Mustacchifunctions are utility functions which process an argument that may
4643051d27SRobert Mustacchirefer to a currently active process or core file and attempts to obtain the
4743051d27SRobert Mustacchi.Xr ps 1
4843051d27SRobert Mustacchiinformation from the process or core and fills it into
4943051d27SRobert Mustacchi.Fa psp .
5043051d27SRobert Mustacchi.Pp
5143051d27SRobert MustacchiThe string
5243051d27SRobert Mustacchi.Fa arg
5372d3dbb9SYuri Pankovcontains the name of something to try and open.
5472d3dbb9SYuri PankovHow it is interpreted depends on the value of
5543051d27SRobert Mustacchi.Fa oflag .
5643051d27SRobert MustacchiThe following values may be passed in as a bitwise-exclusive-OR for
5743051d27SRobert Mustacchi.Fa oflag :
5843051d27SRobert Mustacchi.Bl -tag -width Dv -offset indent
5943051d27SRobert Mustacchi.It Dv PR_ARG_PIDS
6043051d27SRobert MustacchiAllows
6143051d27SRobert Mustacchi.Fa arg
6243051d27SRobert Mustacchito specify process IDs and /proc arguments.
6343051d27SRobert Mustacchi.It Dv PR_ARG_CORES
6443051d27SRobert MustacchiAllows
6543051d27SRobert Mustacchi.Fa arg
6643051d27SRobert Mustacchito specify core files.
6743051d27SRobert Mustacchi.It PR_ARG_ANY
6843051d27SRobert MustacchiEncompasses all of the previous opens.
6943051d27SRobert Mustacchi.El
7043051d27SRobert Mustacchi.Pp
7143051d27SRobert MustacchiThe argument
7243051d27SRobert Mustacchi.Fa perr
7343051d27SRobert Mustacchimust be a
7443051d27SRobert Mustacchi.Pf non- Dv NULL
7543051d27SRobert Mustacchipointer and in the event that the
7643051d27SRobert Mustacchi.Fn proc_arg_psinfo
7743051d27SRobert Mustacchior
7843051d27SRobert Mustacchi.Fn proc_arg_xpsinfo
7943051d27SRobert Mustacchifunctions fail, then
8043051d27SRobert Mustacchi.Fa perr
8143051d27SRobert Mustacchiwill be updated with a more detailed error number.
8243051d27SRobert Mustacchi.Pp
8343051d27SRobert MustacchiIf the
8443051d27SRobert Mustacchi.Fa lwps
8543051d27SRobert Mustacchiargument is
8643051d27SRobert Mustacchi.Pf non- Dv NULL ,
8743051d27SRobert Mustacchithen if there is a thread specification present in
8843051d27SRobert Mustacchi.Fa arg ,
8943051d27SRobert Mustacchiit will be validated to see if it is a valid range and then a pointer to
9043051d27SRobert Mustacchithe start of the thread specification will be stored in
9143051d27SRobert Mustacchi.Fa lwps .
9243051d27SRobert MustacchiFor more information on determining process range validity, see
9343051d27SRobert Mustacchi.Xr proc_lwp_range_valid 3PROC
9443051d27SRobert Mustacchifor more information on valid and invalid tread specifications.
9543051d27SRobert Mustacchi.Sh RETURN VALUES
9643051d27SRobert MustacchiUpon successful completion, the
9743051d27SRobert Mustacchi.Fn proc_arg_psinfo
9843051d27SRobert Mustacchiand
9943051d27SRobert Mustacchi.Fn proc_arg_xpsinfo
10043051d27SRobert Mustacchifunctions return the process identifier and fill in
10143051d27SRobert Mustacchi.Fa psp
10272d3dbb9SYuri Pankovwith the ps information of the process.
10372d3dbb9SYuri PankovOtherwise,
10443051d27SRobert Mustacchi.Sy -1
10543051d27SRobert Mustacchiis returned and
10643051d27SRobert Mustacchi.Fa perr
10743051d27SRobert Mustacchiis filled in with the error's details.
10843051d27SRobert Mustacchi.Sh ERRORS
10943051d27SRobert MustacchiFor a full list of additional errors, see the
11043051d27SRobert Mustacchi.Sy ERRORS
11143051d27SRobert Mustacchisection in
11243051d27SRobert Mustacchi.Xr Pgrab_core 3PROC .
11343051d27SRobert Mustacchi.Bl -tag -width Er
11443051d27SRobert Mustacchi.It Er G_BADLWPS
11543051d27SRobert Mustacchi.Fa arg
11643051d27SRobert Mustacchicontains an invalid thread specification.
11743051d27SRobert Mustacchi.It Er G_NOCORE
11843051d27SRobert Mustacchi.Dv PR_ARG_CORES
11943051d27SRobert Mustacchiwas set and no core file could be found corresponding to
12043051d27SRobert Mustacchi.Fa arg .
12143051d27SRobert Mustacchi.It Er G_NOPROC
12243051d27SRobert Mustacchi.Dv PR_ARG_PIDS
12343051d27SRobert Mustacchiwas set and no process could be found corresponding to
12443051d27SRobert Mustacchi.Fa arg .
12543051d27SRobert Mustacchi.It Er G_NOPROCORCORE
12643051d27SRobert MustacchiBoth
12743051d27SRobert Mustacchi.Dv PR_ARG_CORES
12843051d27SRobert Mustacchiand
12943051d27SRobert Mustacchi.Dv PR_ARG_NOPROC
13043051d27SRobert Mustacchiwere set and no process or core file could be found corresponding to
13143051d27SRobert Mustacchi.Fa arg .
13243051d27SRobert Mustacchi.El
13343051d27SRobert Mustacchi.Sh INTERFACE STABILITY
13443051d27SRobert Mustacchi.Sy Uncommitted
13543051d27SRobert Mustacchi.Sh MT-LEVEL
13643051d27SRobert Mustacchi.Sy MT-Safe
13743051d27SRobert Mustacchi.Sh SEE ALSO
13843051d27SRobert Mustacchi.Xr ps 1 ,
13943051d27SRobert Mustacchi.Xr libproc 3LIB ,
14043051d27SRobert Mustacchi.Xr Pgrab 3PROC ,
14143051d27SRobert Mustacchi.Xr Pgrab_core 3PROC ,
14243051d27SRobert Mustacchi.Xr Prelease 3PROC ,
14343051d27SRobert Mustacchi.Xr proc_lwp_range_valid 3PROC ,
144bbf21555SRichard Lowe.Xr proc 5
145