- 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,