NAME
kvm_read
,
kvm_read2
, kvm_write
— read or write kernel virtual
memory
LIBRARY
library “libkvm”
SYNOPSIS
#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);
DESCRIPTION
Thekvm_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.
SEE ALSO
kvm(3), kvm_close(3), kvm_getargv(3), kvm_getenvv(3), kvm_geterr(3), kvm_getprocs(3), kvm_nlist(3), kvm_open(3), kvm_openfiles(3)