Lines Matching defs:kd
80 #define KREAD(kd, addr, obj) \
81 (kvm_read(kd, addr, (char *)(obj), sizeof(*obj)) != sizeof(*obj))
105 kvm_proclist(kvm_t *kd, int what, int arg, struct proc *p,
138 if (KREAD(kd, (u_long)p, &proc)) {
139 _kvm_err(kd, kd->program, "can't read proc at %p", p);
144 if (KREAD(kd, (u_long)proc.p_ucred, &ucred) == 0) {
158 kvm_read(kd, (u_long)ucred.cr_groups, kp->ki_groups,
161 if (KREAD(kd, (u_long)ucred.cr_prison, &pr)) {
162 _kvm_err(kd, kd->program,
204 _kvm_err(kd, kd->program, "nprocs corrupt");
221 if (KREAD(kd, (u_long)proc.p_sigacts, &sigacts)) {
222 _kvm_err(kd, kd->program,
231 if (KREAD(kd, (u_long)proc.p_stats, &pstats)) {
232 _kvm_err(kd, kd->program,
254 if (KREAD(kd, (u_long)proc.p_pptr, &pproc)) {
255 _kvm_err(kd, kd->program,
264 if (KREAD(kd, (u_long)proc.p_pgrp, &pgrp)) {
265 _kvm_err(kd, kd->program, "can't read pgrp at %p",
271 if (KREAD(kd, (u_long)pgrp.pg_session, &sess)) {
272 _kvm_err(kd, kd->program, "can't read session at %p",
280 if (KREAD(kd, (u_long)sess.s_ttyp, &tty)) {
281 _kvm_err(kd, kd->program,
286 if (KREAD(kd, (u_long)tty.t_dev, &t_cdev)) {
287 _kvm_err(kd, kd->program,
299 if (KREAD(kd, (u_long)tty.t_pgrp, &pgrp)) {
300 _kvm_err(kd, kd->program,
309 if (KREAD(kd, (u_long)tty.t_session, &sess)) {
310 _kvm_err(kd, kd->program,
322 (void)kvm_read(kd, (u_long)proc.p_vmspace,
356 (void)kvm_read(kd, (u_long)proc.p_sysent, (char *)&sysent,
358 (void)kvm_read(kd, (u_long)sysent.sv_name, (char *)&svname,
375 if (KREAD(kd, (u_long)td, &mtd)) {
376 _kvm_err(kd, kd->program,
385 (void)kvm_read(kd, (u_long)mtd.td_wmesg,
400 (void)kvm_read(kd,
492 kvm_deadprocs(kvm_t *kd, int what, int arg, u_long a_allproc,
495 struct kinfo_proc *bp = kd->procbase;
499 if (KREAD(kd, a_allproc, &p)) {
500 _kvm_err(kd, kd->program, "cannot read allproc");
503 acnt = kvm_proclist(kd, what, arg, p, bp, maxcnt);
508 if (KREAD(kd, a_zombproc, &p)) {
509 _kvm_err(kd, kd->program, "cannot read zombproc");
512 zcnt = kvm_proclist(kd, what, arg, p, bp + acnt, maxcnt - acnt);
521 kvm_getprocs(kvm_t *kd, int op, int arg, int *cnt)
527 if (kd->procbase != 0) {
528 free((void *)kd->procbase);
533 kd->procbase = 0;
535 if (ISALIVE(kd)) {
546 _kvm_syserr(kd, kd->program, "kvm_getprocs");
560 * free() on kd->procbase if it isn't NULL,
565 kd->procbase = _kvm_malloc(kd, 1);
570 kd->procbase = (struct kinfo_proc *)
571 _kvm_realloc(kd, kd->procbase, size);
572 if (kd->procbase == NULL)
577 kd->procbase, &size, NULL, 0);
580 _kvm_syserr(kd, kd->program, "kvm_getprocs");
590 kd->procbase->ki_structsize != sizeof(struct kinfo_proc)) {
591 _kvm_err(kd, kd->program,
594 kd->procbase->ki_structsize);
598 nprocs = size == 0 ? 0 : size / kd->procbase->ki_structsize;
613 if (!kd->arch->ka_native(kd)) {
614 _kvm_err(kd, kd->program,
619 if (kvm_nlist(kd, nl) != 0) {
622 _kvm_err(kd, kd->program,
626 (void) kvm_nlist(kd, nlz); /* attempt to get zombproc */
627 if (KREAD(kd, nl[0].n_value, &nprocs)) {
628 _kvm_err(kd, kd->program, "can't read nprocs");
638 if (KREAD(kd, nl[2].n_value, &ticks)) {
639 _kvm_err(kd, kd->program, "can't read ticks");
642 if (KREAD(kd, nl[3].n_value, &hz)) {
643 _kvm_err(kd, kd->program, "can't read hz");
646 if (KREAD(kd, nl[4].n_value, &cpu_tick_frequency)) {
647 _kvm_err(kd, kd->program,
652 kd->procbase = (struct kinfo_proc *)_kvm_malloc(kd, size);
653 if (kd->procbase == NULL)
656 nprocs = kvm_deadprocs(kd, op, arg, nl[1].n_value,
659 _kvm_freeprocs(kd);
665 kd->procbase = realloc(kd->procbase, size);
670 return (kd->procbase);
674 _kvm_freeprocs(kvm_t *kd)
677 free(kd->procbase);
678 kd->procbase = NULL;
682 _kvm_realloc(kvm_t *kd, void *p, size_t n)
688 _kvm_err(kd, kd->program, "out of memory");
696 kvm_argv(kvm_t *kd, const struct kinfo_proc *kp, int env, int nchr)
707 if (!ISALIVE(kd)) {
708 _kvm_err(kd, kd->program,
718 _kvm_err(kd, kd->program, "cannot allocate memory");
726 _kvm_err(kd, kd->program, "cannot allocate memory");
773 kvm_getargv(kvm_t *kd, const struct kinfo_proc *kp, int nchr)
775 return (kvm_argv(kd, kp, 0, nchr));
779 kvm_getenvv(kvm_t *kd, const struct kinfo_proc *kp, int nchr)
781 return (kvm_argv(kd, kp, 1, nchr));