June 4, 1993 KVM_READ 3

### NAME

kvm_read, kvm_write - read or write kernel virtual memory

### LIBRARY

Kernel Data Access Library (libkvm, -lkvm)

### SYNOPSIS

```ssize_t` kvm_read(```kvm_t *kd``, u_long addr``, void *buf``, size_t nbytes`)
```ssize_t` kvm_write(```kvm_t *kd``, u_long addr``, const void *buf``, size_t nbytes`)

### DESCRIPTION

The kvm_read(``) and kvm_write(``) functions are used to read and write kernel virtual memory (or a crash dump file). See kvm_open(```3`) or kvm_openfiles(```3`) for information regarding opening kernel virtual memory and crash dumps.

The kvm_read(``) function transfers ```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.

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