ps_strings
#define MD_START_ARGS struct ps_strings *arginfo, void (*cleanup)(void)
static struct ps_strings *ps;
ps = (struct ps_strings *)_ps.val;
void (*)(struct ps_strings *, u_long *, int *));
static void ps_str_a(struct ps_strings *, u_long *, int *);
static void ps_str_e(struct ps_strings *, u_long *, int *);
ps_str_a(struct ps_strings *p, u_long *addr, int *n)
ps_str_e(struct ps_strings *p, u_long *addr, int *n)
void (*info)(struct ps_strings *, u_long *, int *))
struct ps_strings *ps;
struct ps_strings arginfo;
ps = (struct ps_strings *)pr.ps_strings;
struct ps_strings *arginfo)
struct ps_strings *arginfo)
struct ps_strings *arginfo)
struct ps_strings *arginfo)
struct ps_strings *arginfo)
tf->tf_arg0 = p->p_p->ps_strings;
struct ps_strings *arginfo)
tf->tf_ebx = (int)p->p_p->ps_strings;
struct ps_strings *arginfo)
struct ps_strings *arginfo)
struct ps_strings *arginfo)
struct ps_strings *arginfo)
struct ps_strings *arginfo)
struct ps_strings *arginfo)
tf->tf_r9 = (int)p->p_p->ps_strings;
struct ps_strings *arginfo)
struct ps_strings arginfo;
sizeof(long) + dp + sgap + sizeof(struct ps_strings)) - argp;
pr->ps_strings = (vaddr_t)vm->vm_maxsaddr + sgap;
trunc_page(pr->ps_strings), PROT_NONE, 0, TRUE, FALSE))
pr->ps_strings = (vaddr_t)vm->vm_minsaddr - sizeof(arginfo) - sgap;
round_page(pr->ps_strings + sizeof(arginfo)),
if (copyout(&arginfo, (char *)pr->ps_strings, sizeof(arginfo)))
copyargs(struct exec_package *pack, struct ps_strings *arginfo, void *stack,
struct ps_strings pss;
vaddr_t ps_strings;
ps_strings = vpr->ps_strings;
uio.uio_offset = (off_t)ps_strings;
if (uio.uio_offset < (off_t)tr->ps_strings)
if (uio.uio_offset > (off_t)tr->ps_strings)
(off_t)tr->ps_strings)
uio.uio_resid = (off_t)tr->ps_strings -
int copyargs(struct exec_package *, struct ps_strings *, void *, void *);
struct ps_strings *);
vaddr_t ps_strings; /* User pointers to argv/env */
return (sysctl_rdstruct(oldp, oldlenp, newp, &pr->ps_strings,
sizeof(pr->ps_strings)));