Go to main content

man pages section 3: Extended Library Functions, Volume 2

Exit Print View

Updated: July 2017
 
 

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)