Lines Matching refs:kd

83 #define KREAD(kd, addr, obj) \
84 (kvm_read(kd, addr, (char *)(obj), sizeof(*obj)) != sizeof(*obj))
113 kvm_proclist(kvm_t *kd, int what, int arg, struct proc *p,
143 if (KREAD(kd, (u_long)p, &proc)) {
144 _kvm_err(kd, kd->program, "can't read proc at %p", p);
150 if (KREAD(kd, (u_long)TAILQ_FIRST(&proc.p_threads),
152 _kvm_err(kd, kd->program,
158 if (KREAD(kd, (u_long)proc.p_ucred, &ucred) == 0) {
169 kvm_read(kd, (u_long)ucred.cr_groups, kp->ki_groups,
173 if (KREAD(kd, (u_long)ucred.cr_prison, &pr)) {
174 _kvm_err(kd, kd->program,
216 _kvm_err(kd, kd->program, "nprocs corrupt");
231 if (KREAD(kd, (u_long)proc.p_sigacts, &sigacts)) {
232 _kvm_err(kd, kd->program,
241 if (KREAD(kd, (u_long)proc.p_stats, &pstats)) {
242 _kvm_err(kd, kd->program,
264 if (KREAD(kd, (u_long)proc.p_pptr, &pproc)) {
265 _kvm_err(kd, kd->program,
274 if (KREAD(kd, (u_long)proc.p_pgrp, &pgrp)) {
275 _kvm_err(kd, kd->program, "can't read pgrp at %p",
281 if (KREAD(kd, (u_long)pgrp.pg_session, &sess)) {
282 _kvm_err(kd, kd->program, "can't read session at %p",
293 if (KREAD(kd, (u_long)sess.s_ttyp, &tty)) {
294 _kvm_err(kd, kd->program,
299 if (KREAD(kd, (u_long)tty.t_dev, &t_cdev)) {
300 _kvm_err(kd, kd->program,
312 if (KREAD(kd, (u_long)tty.t_pgrp, &pgrp)) {
313 _kvm_err(kd, kd->program,
322 if (KREAD(kd, (u_long)tty.t_session, &sess)) {
323 _kvm_err(kd, kd->program,
335 (void)kvm_read(kd, (u_long)mtd.td_wmesg,
338 (void)kvm_read(kd, (u_long)proc.p_vmspace,
372 (void)kvm_read(kd, (u_long)proc.p_sysent, (char *)&sysent,
374 (void)kvm_read(kd, (u_long)sysent.sv_name, (char *)&svname,
382 (void)kvm_read(kd,
449 kvm_deadprocs(kvm_t *kd, int what, int arg, u_long a_allproc,
452 struct kinfo_proc *bp = kd->procbase;
456 if (KREAD(kd, a_allproc, &p)) {
457 _kvm_err(kd, kd->program, "cannot read allproc");
460 acnt = kvm_proclist(kd, what, arg, p, bp, maxcnt);
464 if (KREAD(kd, a_zombproc, &p)) {
465 _kvm_err(kd, kd->program, "cannot read zombproc");
468 zcnt = kvm_proclist(kd, what, arg, p, bp + acnt, maxcnt - acnt);
476 kvm_getprocs(kvm_t *kd, int op, int arg, int *cnt)
482 if (kd->procbase != 0) {
483 free((void *)kd->procbase);
488 kd->procbase = 0;
490 if (ISALIVE(kd)) {
501 _kvm_syserr(kd, kd->program, "kvm_getprocs");
515 * free() on kd->procbase if it isn't NULL,
520 kd->procbase = _kvm_malloc(kd, 1);
525 kd->procbase = (struct kinfo_proc *)
526 _kvm_realloc(kd, kd->procbase, size);
527 if (kd->procbase == 0)
532 kd->procbase, &size, NULL, 0);
535 _kvm_syserr(kd, kd->program, "kvm_getprocs");
545 kd->procbase->ki_structsize != sizeof(struct kinfo_proc)) {
546 _kvm_err(kd, kd->program,
549 kd->procbase->ki_structsize);
553 nprocs = size == 0 ? 0 : size / kd->procbase->ki_structsize;
565 if (kvm_nlist(kd, nl) != 0) {
568 _kvm_err(kd, kd->program,
572 if (KREAD(kd, nl[0].n_value, &nprocs)) {
573 _kvm_err(kd, kd->program, "can't read nprocs");
576 if (KREAD(kd, nl[3].n_value, &ticks)) {
577 _kvm_err(kd, kd->program, "can't read ticks");
580 if (KREAD(kd, nl[4].n_value, &hz)) {
581 _kvm_err(kd, kd->program, "can't read hz");
584 if (KREAD(kd, nl[5].n_value, &cpu_tick_frequency)) {
585 _kvm_err(kd, kd->program,
590 kd->procbase = (struct kinfo_proc *)_kvm_malloc(kd, size);
591 if (kd->procbase == 0)
594 nprocs = kvm_deadprocs(kd, op, arg, nl[1].n_value,
597 _kvm_freeprocs(kd);
603 kd->procbase = realloc(kd->procbase, size);
608 return (kd->procbase);
612 _kvm_freeprocs(kvm_t *kd)
614 if (kd->procbase) {
615 free(kd->procbase);
616 kd->procbase = 0;
621 _kvm_realloc(kvm_t *kd, void *p, size_t n)
627 _kvm_err(kd, kd->program, "out of memory");
636 kvm_argv(kvm_t *kd, const struct kinfo_proc *kp, int env, int nchr)
646 if (!ISALIVE(kd)) {
647 _kvm_err(kd, kd->program,
657 _kvm_err(kd, kd->program, "cannot allocate memory");
705 kvm_getargv(kvm_t *kd, const struct kinfo_proc *kp, int nchr)
707 return (kvm_argv(kd, kp, 0, nchr));
711 kvm_getenvv(kvm_t *kd, const struct kinfo_proc *kp, int nchr)
713 return (kvm_argv(kd, kp, 1, nchr));