KVM_READ(3KVM) Kernel VM Library Functions KVM_READ(3KVM)

kvm_read, kvm_write - copy data to or from a kernel image or running system

cc [ flag... ] file... -lkvm [ library...]
#include <kvm.h>
ssize_t kvm_read(kvm_t *kd, uintptr_t addr, void *buf, size_t nbytes);

ssize_t kvm_write(kvm_t *kd, uintptr_t addr, void *buf, size_t nbytes);

The kvm_read() function transfers data from the kernel image specified by kd (see kvm_open(3KVM)) to the address space of the process. nbytes bytes of data are copied from the kernel virtual address given by addr to the buffer pointed to by buf.

The kvm_write() function is like kvm_read(), except that the direction of data transfer is reversed. To use this function, the kvm_open(3KVM) call that returned kd must have specified write access. If a user virtual address is given, it is resolved in the address space of the process specified in the most recent kvm_getu(3KVM) call.

The kvm_read() and kvm_write() functions are obsolete and might be removed in a future release. The functions described on the kvm_kread(3KVM) manual page should be used instead.

On success, these functions return the number of bytes actually transferred. On failure, they return −1.

See attributes(7) for descriptions of the following attributes:

Interface Stability Obsolete
MT-Level Unsafe

kvm_getu(3KVM), kvm_kread(3KVM), kvm_nlist(3KVM), kvm_open(3KVM), attributes(7)

May 2, 2002 OmniOS