FreeBSD/Linux Kernel Cross Reference
sys/man/vm_read.man
1 .\"
2 .\" Mach Operating System
3 .\" Copyright (c) 1991,1990 Carnegie Mellon University
4 .\" All Rights Reserved.
5 .\"
6 .\" Permission to use, copy, modify and distribute this software and its
7 .\" documentation is hereby granted, provided that both the copyright
8 .\" notice and this permission notice appear in all copies of the
9 .\" software, derivative works or modified versions, and any portions
10 .\" thereof, and that both notices appear in supporting documentation.
11 .\"
12 .\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 .\" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 .\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 .\"
16 .\" Carnegie Mellon requests users of this software to return to
17 .\"
18 .\" Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 .\" School of Computer Science
20 .\" Carnegie Mellon University
21 .\" Pittsburgh PA 15213-3890
22 .\"
23 .\" any improvements or extensions that they make and grant Carnegie Mellon
24 .\" the rights to redistribute these changes.
25 .\"
26 .\"
27 .\" HISTORY
28 .\" $Log: vm_read.man,v $
29 .\" Revision 2.5 93/03/18 15:16:58 mrt
30 .\" corrected types
31 .\" [93/03/12 16:55:34 lli]
32 .\"
33 .\" Revision 2.4 91/05/14 17:16:12 mrt
34 .\" Correcting copyright
35 .\"
36 .\" Revision 2.3 91/02/14 14:16:31 mrt
37 .\" Changed to new Mach copyright
38 .\" [91/02/12 18:17:33 mrt]
39 .\"
40 .\" Revision 2.2 90/08/07 18:47:57 rpd
41 .\" Created.
42 .\"
43 .TH vm_read 2 1/13/87
44 .CM 4
45 .SH NAME
46 .nf
47 vm_read \- allows one task to read another's memory
48 .SH SYNOPSIS
49 .nf
50 .ft B
51 #include <mach.h>
52
53 .nf
54 .ft B
55 kern_return_t vm_read(target_task, address, size, data, data_count)
56 mach_port_t target_task
57 vm_address_t address;
58 vm_size_t size;
59 vm_offset_t *data; /* out */
60 mach_msg_type_number_t *data_count; /* out */
61
62
63 .fi
64 .ft P
65 .SH ARGUMENTS
66 .TP 15
67 .B
68 target_task
69 Task whose memory is to be read.
70 .TP 15
71 .B
72 address
73 The first address to be read (must be
74 on a page boundary).
75 .TP 15
76 .B
77 size
78 The number of bytes of data to be read
79 (must be an integral number of pages)
80 .TP 15
81 .B
82 data
83 The array of data copied from the given task.
84 .TP 15
85 .B
86 data_count
87 The size of the
88 .B data
89 array in bytes.
90 (will be an integral number of pages).
91
92 .SH DESCRIPTION
93 .B vm_read
94 allows one task's virtual memory to be read by
95 another task. Note that the data array is returned in a
96 newly allocated region; the task reading the data should
97 .B vm_deallocate
98 this region when it is done with the data.
99
100 .SH DIAGNOSTICS
101 .TP 25
102 KERN_SUCCESS
103 Memory read.
104 .TP 25
105 KERN_INVALID_ARGUMENT
106 Either the address does not start on a page
107 boundary or the size is not an integral number of pages.
108 .TP 25
109 KERN_NO_SPACE
110 There is not enough room in the callers
111 virtual memory to allocate space for the data to be returned.
112 .TP 25
113 KERN_PROTECTION_FAILURE
114 The address region in the target task is
115 protected against reading.
116 .TP 25
117 KERN_INVALID_ADDRESS
118 Illegal or non-allocated address specified, or there
119 was not
120 .B size
121 bytes of data following that address.
122
123 .SH SEE ALSO
124 .B vm_read, vm_write, vm_copy, vm_deallocate
125
Cache object: 66f994ae147b1d9ed53457bf291d4e33
|