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


NAME


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

SYNOPSIS


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);


DESCRIPTION


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.

USAGE


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.

RETURN VALUES


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

ATTRIBUTES


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


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Obsolete |
+--------------------+-----------------+
|MT-Level | Unsafe |
+--------------------+-----------------+

SEE ALSO


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


May 2, 2002 KVM_READ(3KVM)