February 10, 2004 KVM_GETLWPS 3

### NAME

kvm_getlwps - access state of LWPs belonging to a user process

### LIBRARY

Kernel Data Access Library (libkvm, -lkvm)

### SYNOPSIS

```struct` `kinfo_lwp``*` kvm_getlwps(```kvm_t *kd``, int pid``, u_long procaddr``, int *elemsize``, int *cnt`)

### DESCRIPTION

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`.

### RETURN VALUES

kvm_getlwps(``) returns ```NULL` on failure.

### SEE ALSO

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)

### BUGS

These routines do not belong in the kvm interface.