KVM_GETLWPS(3) Library Functions Manual KVM_GETLWPS(3)

kvm_getlwps
access state of LWPs belonging to a user process

Kernel Data Access Library (libkvm, -lkvm)

#include <kvm.h>
#include <sys/param.h>
#include <sys/sysctl.h>
struct kinfo_lwp *
kvm_getlwps(kvm_t *kd, int pid, unsigned long procaddr, size_t elemsize, int *cnt);

kvm_getlwps() returns the set of LWPs belonging to the process specified by pid or procaddr in the kernel indicated by kd. The number of LWPs found is returned in the reference parameter cnt. The LWPs are returned as a contiguous array of kinfo_lwp structures. This memory is locally allocated, and subsequent calls to kvm_getlwps() and kvm_close() will overwrite this storage.
Only the first elemsize bytes of each array entry are returned. If the size of the kinfo_lwp structure increases in size in a future release of NetBSD the kernel will only return the requested amount of data for each array entry and programs that use kvm_getlwps() will continue to function without the need for recompilation.
If called against an active kernel, the kvm_getlwps() function will use the sysctl(3) interface and return information about the process identified by pid; otherwise the kernel memory device file or swap device will be accessed and the process is identified by the location passed in paddr.

kvm_getlwps() returns NULL on failure.

kvm(3), kvm_close(3), kvm_geterr(3), kvm_getproc2(3), kvm_getprocs(3), kvm_nlist(3), kvm_open(3), kvm_openfiles(3), kvm_read(3), kvm_write(3)

These routines do not belong in the kvm interface.
January 9, 2018 NetBSD-current