Lines 40-50
Link Here
|
40 |
|
40 |
|
41 |
/* |
41 |
/* |
42 |
* The following structure is found at the top of the user stack of each |
42 |
* The following structure is found at the top of the user stack of each |
43 |
* user process. The ps program uses it to locate argv and environment |
43 |
* user process. The kernel uses it to locate environment and long argv |
44 |
* strings. Programs that wish ps to display other information may modify |
44 |
* strings; normally ps_argvstr points to the argv vector, and ps_nargvstr |
45 |
* it; normally ps_argvstr points to the argv vector, and ps_nargvstr |
|
|
46 |
* is the same as the program's argc. The fields ps_envstr and ps_nenvstr |
45 |
* is the same as the program's argc. The fields ps_envstr and ps_nenvstr |
47 |
* are the equivalent for the environment. |
46 |
* are the equivalent for the environment. Short argv strings (less than |
|
|
47 |
* ps_arg_cache_limit) are read from p_args instead. |
48 |
* |
49 |
* To change ps output, use setproctitle(3). |
48 |
*/ |
50 |
*/ |
49 |
struct ps_strings { |
51 |
struct ps_strings { |
50 |
char **ps_argvstr; /* first of 0 or more argument strings */ |
52 |
char **ps_argvstr; /* first of 0 or more argument strings */ |
Lines 55-60
Link Here
|
55 |
|
57 |
|
56 |
/* |
58 |
/* |
57 |
* Address of ps_strings structure (in user space). |
59 |
* Address of ps_strings structure (in user space). |
|
|
60 |
* Prefer the kern.ps_strings or kern.proc.ps_strings sysctls to this constant. |
58 |
*/ |
61 |
*/ |
59 |
#define PS_STRINGS (USRSTACK - sizeof(struct ps_strings)) |
62 |
#define PS_STRINGS (USRSTACK - sizeof(struct ps_strings)) |
60 |
#define SPARE_USRSPACE 4096 |
63 |
#define SPARE_USRSPACE 4096 |