summaryrefslogtreecommitdiff
path: root/libps/spec.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1999-06-02 06:24:39 +0000
committerRoland McGrath <roland@gnu.org>1999-06-02 06:24:39 +0000
commit4a4796ab4f9d43989e2b89fe4f98a8c7f69e80d7 (patch)
tree89a3bae010fc5979b50d08701d085b853f1e8388 /libps/spec.c
parent793c7dd6961f5caed444bb10a871e4d2aff8b0fc (diff)
1999-06-02 Roland McGrath <roland@baalperazim.frob.com>
* ps.h (PSTAT_ENV): New macro. (struct proc_stat): New members `env', `env_len', `env_vm_alloced'. (proc_stat_env, proc_stat_env_len): New accessor macros. (PSTAT_USER_BASE): Increase value to leave more room for additions. * procstat.c (proc_stat_set_flags): Handle environment. (_proc_stat_free): Likewise. * spec.c (ps_get_env, ps_env_getter): New function and constant. (specs): New spec "Env" using ps_env_getter and ps_emit_args.
Diffstat (limited to 'libps/spec.c')
-rw-r--r--libps/spec.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libps/spec.c b/libps/spec.c
index f790b691..1e30d95b 100644
--- a/libps/spec.c
+++ b/libps/spec.c
@@ -122,6 +122,15 @@ ps_get_args (struct proc_stat *ps, char **args_p, int *args_len_p)
const struct ps_getter ps_args_getter =
{"args", PSTAT_ARGS, ps_get_args};
+static void
+ps_get_env (struct proc_stat *ps, char **env_p, int *env_len_p)
+{
+ *env_p = proc_stat_env (ps);
+ *env_len_p = proc_stat_env_len (ps);
+}
+const struct ps_getter ps_env_getter =
+{"env", PSTAT_ENV, ps_get_env};
+
static int
ps_get_state (struct proc_stat *ps)
{
@@ -1087,6 +1096,8 @@ static const struct ps_fmt_spec specs[] =
&ps_args_getter, ps_emit_args, ps_cmp_strings,ps_nominal_string},
{"Arg0", 0, 0, -1, 0,
&ps_args_getter, ps_emit_string, ps_cmp_strings,ps_nominal_string},
+ {"Env", 0, 0, -1, 0,
+ &ps_env_getter, ps_emit_args, ps_cmp_strings,ps_nominal_string},
{"Start", 0, -7, 1, 0,
&ps_start_time_getter, ps_emit_past_time, ps_cmp_times,0},
{"Time", 0, -8, 2, 0,