1 |
.\" $MidnightBSD$ |
2 |
.\" Copyright (c) 1992, 1993 |
3 |
.\" The Regents of the University of California. All rights reserved. |
4 |
.\" |
5 |
.\" This code is derived from software developed by the Computer Systems |
6 |
.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract |
7 |
.\" BG 91-66 and contributed to Berkeley. |
8 |
.\" |
9 |
.\" Redistribution and use in source and binary forms, with or without |
10 |
.\" modification, are permitted provided that the following conditions |
11 |
.\" are met: |
12 |
.\" 1. Redistributions of source code must retain the above copyright |
13 |
.\" notice, this list of conditions and the following disclaimer. |
14 |
.\" 2. Redistributions in binary form must reproduce the above copyright |
15 |
.\" notice, this list of conditions and the following disclaimer in the |
16 |
.\" documentation and/or other materials provided with the distribution. |
17 |
.\" 4. Neither the name of the University nor the names of its contributors |
18 |
.\" may be used to endorse or promote products derived from this software |
19 |
.\" without specific prior written permission. |
20 |
.\" |
21 |
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
22 |
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
23 |
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
24 |
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
25 |
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
26 |
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
27 |
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
28 |
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
29 |
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
30 |
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
31 |
.\" SUCH DAMAGE. |
32 |
.\" |
33 |
.\" @(#)kvm_read.3 8.1 (Berkeley) 6/4/93 |
34 |
.\" $FreeBSD: stable/10/lib/libkvm/kvm_read.3 165888 2007-01-08 17:35:36Z imp $ |
35 |
.\" |
36 |
.Dd June 4, 1993 |
37 |
.Dt KVM_READ 3 |
38 |
.Os |
39 |
.Sh NAME |
40 |
.Nm kvm_read , |
41 |
.Nm kvm_write |
42 |
.Nd read or write kernel virtual memory |
43 |
.Sh LIBRARY |
44 |
.Lb libkvm |
45 |
.Sh SYNOPSIS |
46 |
.In kvm.h |
47 |
.Ft ssize_t |
48 |
.Fn kvm_read "kvm_t *kd" "unsigned long addr" "void *buf" "size_t nbytes" |
49 |
.Ft ssize_t |
50 |
.Fn kvm_write "kvm_t *kd" "unsigned long addr" "const void *buf" "size_t nbytes" |
51 |
.Sh DESCRIPTION |
52 |
The |
53 |
.Fn kvm_read |
54 |
and |
55 |
.Fn kvm_write |
56 |
functions are used to read and write kernel virtual memory (or a crash |
57 |
dump file). |
58 |
See |
59 |
.Fn kvm_open 3 |
60 |
or |
61 |
.Fn kvm_openfiles 3 |
62 |
for information regarding opening kernel virtual memory and crash dumps. |
63 |
.Pp |
64 |
The |
65 |
.Fn kvm_read |
66 |
function transfers |
67 |
.Fa nbytes |
68 |
bytes of data from |
69 |
the kernel space address |
70 |
.Fa addr |
71 |
to |
72 |
.Fa buf . |
73 |
Conversely, |
74 |
.Fn kvm_write |
75 |
transfers data from |
76 |
.Fa buf |
77 |
to |
78 |
.Fa addr . |
79 |
Unlike their SunOS counterparts, these functions cannot be used to |
80 |
read or write process address spaces. |
81 |
.Sh RETURN VALUES |
82 |
Upon success, the number of bytes actually transferred is returned. |
83 |
Otherwise, -1 is returned. |
84 |
.Sh SEE ALSO |
85 |
.Xr kvm 3 , |
86 |
.Xr kvm_close 3 , |
87 |
.Xr kvm_getargv 3 , |
88 |
.Xr kvm_getenvv 3 , |
89 |
.Xr kvm_geterr 3 , |
90 |
.Xr kvm_getprocs 3 , |
91 |
.Xr kvm_nlist 3 , |
92 |
.Xr kvm_open 3 , |
93 |
.Xr kvm_openfiles 3 |