kvm_write3
Read or write kernel virtual memory
Part of kvm_read(3).
Usage
#include <kvm.h>
ssize_t
kvm_read(kvm_t *kd, unsigned long addr, void *buf, size_t nbytes);
ssize_t
kvm_read2(kvm_t *kd, kvaddr_t addr, void *buf, size_t nbytes);
ssize_t
kvm_write(kvm_t *kd, unsigned long addr, const void *buf, size_t nbytes);
Library
Kernel Data Access Library (libkvm, -lkvm)
Overview
The kvm_read(), kvm_read2(), and kvm_write() functions are used to read and write kernel virtual memory (or a crash dump file). See kvm_open(3) for information regarding opening kernel virtual memory and crash dumps.
The kvm_read() and kvm_read2() functions transfer nbytes bytes of data from the kernel space address addr to buf. Conversely, kvm_write() transfers data from buf to addr. Unlike their SunOS counterparts, these functions cannot be used to read or write process address spaces.
The kvm_read2() function uses a different type (kvaddr_t) for the addr argument to allow use of addresses larger than ULONG_MAX when examining non-native kernel images.
Return values
Upon success, the number of bytes actually transferred is returned. Otherwise, -1 is returned.
Releases
87 releases since FreeBSD 2.0.5-RELEASE; the text changed 43 times.