KVM_READ(3KVM) | Kernel VM Library Functions | KVM_READ(3KVM) |
kvm_read, kvm_write - 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, these functions return the number of bytes actually transferred. On failure, they return −1.
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Obsolete |
MT-Level | Unsafe |
kvm_getu(3KVM), kvm_kread(3KVM), kvm_nlist(3KVM), kvm_open(3KVM), attributes(7)
May 2, 2002 | OmniOS |