1 #ifndef _mach_vm_server_
2 #define _mach_vm_server_
3
4 /* Module mach_vm */
5
6 #include <sys/cdefs.h>
7 #include <sys/types.h>
8 #ifdef _KERNEL
9 #include <sys/mach/ndr.h>
10 #include <sys/mach/kern_return.h>
11 #include <sys/mach/notify.h>
12 #include <sys/mach/mach_types.h>
13 #include <sys/mach/message.h>
14 #include <sys/mach/mig_errors.h>
15 #else /* !_KERNEL */
16 #include <string.h>
17 #include <mach/ndr.h>
18 #include <mach/boolean.h>
19 #include <mach/kern_return.h>
20 #include <mach/notify.h>
21 #include <mach/mach_types.h>
22 #include <mach/message.h>
23 #include <mach/mig_errors.h>
24 #endif /*_KERNEL */
25
26 #ifdef AUTOTEST
27 #ifndef FUNCTION_PTR_T
28 #define FUNCTION_PTR_T
29 typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
30 typedef struct {
31 char *name;
32 function_ptr_t function;
33 } function_table_entry;
34 typedef function_table_entry *function_table_t;
35 #endif /* FUNCTION_PTR_T */
36 #endif /* AUTOTEST */
37
38 #ifndef mach_vm_MSG_COUNT
39 #define mach_vm_MSG_COUNT 20
40 #endif /* mach_vm_MSG_COUNT */
41
42 #include <sys/mach/std_types.h>
43 #include <sys/mach/mig.h>
44 #include <sys/mach/ipc_sync.h>
45 #include <sys/mach/ipc/ipc_voucher.h>
46 #include <sys/mach/ipc_host.h>
47 #include <sys/mach/ipc_tt.h>
48 #include <sys/mach/ipc_mig.h>
49 #include <sys/mach/mig.h>
50 #include <sys/mach/mach_types.h>
51 #include <sys/mach_debug/mach_debug_types.h>
52
53 #ifdef __BeforeMigServerHeader
54 __BeforeMigServerHeader
55 #endif /* __BeforeMigServerHeader */
56
57
58 /* Routine mach_vm_protect */
59 #ifdef mig_external
60 mig_external
61 #else
62 extern
63 #endif /* mig_external */
mach_vm_protect(target_task,address,size,set_maximum,new_protection)64 kern_return_t mach_vm_protect
65 #if defined(LINTLIBRARY)
66 (target_task, address, size, set_maximum, new_protection)
67 vm_map_t target_task;
68 mach_vm_address_t address;
69 mach_vm_size_t size;
70 boolean_t set_maximum;
71 vm_prot_t new_protection;
72 { return mach_vm_protect(target_task, address, size, set_maximum, new_protection); }
73 #else
74 (
75 vm_map_t target_task,
76 mach_vm_address_t address,
77 mach_vm_size_t size,
78 boolean_t set_maximum,
79 vm_prot_t new_protection
80 );
81 #endif /* defined(LINTLIBRARY) */
82
83 /* Routine mach_vm_inherit */
84 #ifdef mig_external
85 mig_external
86 #else
87 extern
88 #endif /* mig_external */
mach_vm_inherit(target_task,address,size,new_inheritance)89 kern_return_t mach_vm_inherit
90 #if defined(LINTLIBRARY)
91 (target_task, address, size, new_inheritance)
92 vm_map_t target_task;
93 mach_vm_address_t address;
94 mach_vm_size_t size;
95 vm_inherit_t new_inheritance;
96 { return mach_vm_inherit(target_task, address, size, new_inheritance); }
97 #else
98 (
99 vm_map_t target_task,
100 mach_vm_address_t address,
101 mach_vm_size_t size,
102 vm_inherit_t new_inheritance
103 );
104 #endif /* defined(LINTLIBRARY) */
105
106 /* Routine mach_vm_read */
107 #ifdef mig_external
108 mig_external
109 #else
110 extern
111 #endif /* mig_external */
mach_vm_read(target_task,address,size,data,dataCnt)112 kern_return_t mach_vm_read
113 #if defined(LINTLIBRARY)
114 (target_task, address, size, data, dataCnt)
115 vm_map_t target_task;
116 mach_vm_address_t address;
117 mach_vm_size_t size;
118 vm_offset_t *data;
119 mach_msg_type_number_t *dataCnt;
120 { return mach_vm_read(target_task, address, size, data, dataCnt); }
121 #else
122 (
123 vm_map_t target_task,
124 mach_vm_address_t address,
125 mach_vm_size_t size,
126 vm_offset_t *data,
127 mach_msg_type_number_t *dataCnt
128 );
129 #endif /* defined(LINTLIBRARY) */
130
131 /* Routine mach_vm_read_list */
132 #ifdef mig_external
133 mig_external
134 #else
135 extern
136 #endif /* mig_external */
mach_vm_read_list(target_task,data_list,count)137 kern_return_t mach_vm_read_list
138 #if defined(LINTLIBRARY)
139 (target_task, data_list, count)
140 vm_map_t target_task;
141 mach_vm_read_entry_t data_list;
142 natural_t count;
143 { return mach_vm_read_list(target_task, data_list, count); }
144 #else
145 (
146 vm_map_t target_task,
147 mach_vm_read_entry_t data_list,
148 natural_t count
149 );
150 #endif /* defined(LINTLIBRARY) */
151
152 /* Routine mach_vm_write */
153 #ifdef mig_external
154 mig_external
155 #else
156 extern
157 #endif /* mig_external */
mach_vm_write(target_task,address,data,dataCnt)158 kern_return_t mach_vm_write
159 #if defined(LINTLIBRARY)
160 (target_task, address, data, dataCnt)
161 vm_map_t target_task;
162 mach_vm_address_t address;
163 vm_offset_t data;
164 mach_msg_type_number_t dataCnt;
165 { return mach_vm_write(target_task, address, data, dataCnt); }
166 #else
167 (
168 vm_map_t target_task,
169 mach_vm_address_t address,
170 vm_offset_t data,
171 mach_msg_type_number_t dataCnt
172 );
173 #endif /* defined(LINTLIBRARY) */
174
175 /* Routine mach_vm_copy */
176 #ifdef mig_external
177 mig_external
178 #else
179 extern
180 #endif /* mig_external */
mach_vm_copy(target_task,source_address,size,dest_address)181 kern_return_t mach_vm_copy
182 #if defined(LINTLIBRARY)
183 (target_task, source_address, size, dest_address)
184 vm_map_t target_task;
185 mach_vm_address_t source_address;
186 mach_vm_size_t size;
187 mach_vm_address_t dest_address;
188 { return mach_vm_copy(target_task, source_address, size, dest_address); }
189 #else
190 (
191 vm_map_t target_task,
192 mach_vm_address_t source_address,
193 mach_vm_size_t size,
194 mach_vm_address_t dest_address
195 );
196 #endif /* defined(LINTLIBRARY) */
197
198 /* Routine mach_vm_read_overwrite */
199 #ifdef mig_external
200 mig_external
201 #else
202 extern
203 #endif /* mig_external */
mach_vm_read_overwrite(target_task,address,size,data,outsize)204 kern_return_t mach_vm_read_overwrite
205 #if defined(LINTLIBRARY)
206 (target_task, address, size, data, outsize)
207 vm_map_t target_task;
208 mach_vm_address_t address;
209 mach_vm_size_t size;
210 mach_vm_address_t data;
211 mach_vm_size_t *outsize;
212 { return mach_vm_read_overwrite(target_task, address, size, data, outsize); }
213 #else
214 (
215 vm_map_t target_task,
216 mach_vm_address_t address,
217 mach_vm_size_t size,
218 mach_vm_address_t data,
219 mach_vm_size_t *outsize
220 );
221 #endif /* defined(LINTLIBRARY) */
222
223 /* Routine mach_vm_msync */
224 #ifdef mig_external
225 mig_external
226 #else
227 extern
228 #endif /* mig_external */
mach_vm_msync(target_task,address,size,sync_flags)229 kern_return_t mach_vm_msync
230 #if defined(LINTLIBRARY)
231 (target_task, address, size, sync_flags)
232 vm_map_t target_task;
233 mach_vm_address_t address;
234 mach_vm_size_t size;
235 vm_sync_t sync_flags;
236 { return mach_vm_msync(target_task, address, size, sync_flags); }
237 #else
238 (
239 vm_map_t target_task,
240 mach_vm_address_t address,
241 mach_vm_size_t size,
242 vm_sync_t sync_flags
243 );
244 #endif /* defined(LINTLIBRARY) */
245
246 /* Routine mach_vm_behavior_set */
247 #ifdef mig_external
248 mig_external
249 #else
250 extern
251 #endif /* mig_external */
mach_vm_behavior_set(target_task,address,size,new_behavior)252 kern_return_t mach_vm_behavior_set
253 #if defined(LINTLIBRARY)
254 (target_task, address, size, new_behavior)
255 vm_map_t target_task;
256 mach_vm_address_t address;
257 mach_vm_size_t size;
258 vm_behavior_t new_behavior;
259 { return mach_vm_behavior_set(target_task, address, size, new_behavior); }
260 #else
261 (
262 vm_map_t target_task,
263 mach_vm_address_t address,
264 mach_vm_size_t size,
265 vm_behavior_t new_behavior
266 );
267 #endif /* defined(LINTLIBRARY) */
268
269 /* Routine mach_vm_machine_attribute */
270 #ifdef mig_external
271 mig_external
272 #else
273 extern
274 #endif /* mig_external */
mach_vm_machine_attribute(target_task,address,size,attribute,value)275 kern_return_t mach_vm_machine_attribute
276 #if defined(LINTLIBRARY)
277 (target_task, address, size, attribute, value)
278 vm_map_t target_task;
279 mach_vm_address_t address;
280 mach_vm_size_t size;
281 vm_machine_attribute_t attribute;
282 vm_machine_attribute_val_t *value;
283 { return mach_vm_machine_attribute(target_task, address, size, attribute, value); }
284 #else
285 (
286 vm_map_t target_task,
287 mach_vm_address_t address,
288 mach_vm_size_t size,
289 vm_machine_attribute_t attribute,
290 vm_machine_attribute_val_t *value
291 );
292 #endif /* defined(LINTLIBRARY) */
293
294 /* Routine mach_vm_remap */
295 #ifdef mig_external
296 mig_external
297 #else
298 extern
299 #endif /* mig_external */
mach_vm_remap(target_task,target_address,size,mask,flags,src_task,src_address,copy,cur_protection,max_protection,inheritance)300 kern_return_t mach_vm_remap
301 #if defined(LINTLIBRARY)
302 (target_task, target_address, size, mask, flags, src_task, src_address, copy, cur_protection, max_protection, inheritance)
303 vm_map_t target_task;
304 mach_vm_address_t *target_address;
305 mach_vm_size_t size;
306 mach_vm_offset_t mask;
307 int flags;
308 vm_map_t src_task;
309 mach_vm_address_t src_address;
310 boolean_t copy;
311 vm_prot_t *cur_protection;
312 vm_prot_t *max_protection;
313 vm_inherit_t inheritance;
314 { return mach_vm_remap(target_task, target_address, size, mask, flags, src_task, src_address, copy, cur_protection, max_protection, inheritance); }
315 #else
316 (
317 vm_map_t target_task,
318 mach_vm_address_t *target_address,
319 mach_vm_size_t size,
320 mach_vm_offset_t mask,
321 int flags,
322 vm_map_t src_task,
323 mach_vm_address_t src_address,
324 boolean_t copy,
325 vm_prot_t *cur_protection,
326 vm_prot_t *max_protection,
327 vm_inherit_t inheritance
328 );
329 #endif /* defined(LINTLIBRARY) */
330
331 /* Routine mach_vm_page_query */
332 #ifdef mig_external
333 mig_external
334 #else
335 extern
336 #endif /* mig_external */
mach_vm_page_query(target_map,offset,disposition,ref_count)337 kern_return_t mach_vm_page_query
338 #if defined(LINTLIBRARY)
339 (target_map, offset, disposition, ref_count)
340 vm_map_t target_map;
341 mach_vm_offset_t offset;
342 integer_t *disposition;
343 integer_t *ref_count;
344 { return mach_vm_page_query(target_map, offset, disposition, ref_count); }
345 #else
346 (
347 vm_map_t target_map,
348 mach_vm_offset_t offset,
349 integer_t *disposition,
350 integer_t *ref_count
351 );
352 #endif /* defined(LINTLIBRARY) */
353
354 /* Routine mach_vm_region_recurse */
355 #ifdef mig_external
356 mig_external
357 #else
358 extern
359 #endif /* mig_external */
mach_vm_region_recurse(target_task,address,size,nesting_depth,info,infoCnt)360 kern_return_t mach_vm_region_recurse
361 #if defined(LINTLIBRARY)
362 (target_task, address, size, nesting_depth, info, infoCnt)
363 vm_map_t target_task;
364 mach_vm_address_t *address;
365 mach_vm_size_t *size;
366 natural_t *nesting_depth;
367 vm_region_recurse_info_t info;
368 mach_msg_type_number_t *infoCnt;
369 { return mach_vm_region_recurse(target_task, address, size, nesting_depth, info, infoCnt); }
370 #else
371 (
372 vm_map_t target_task,
373 mach_vm_address_t *address,
374 mach_vm_size_t *size,
375 natural_t *nesting_depth,
376 vm_region_recurse_info_t info,
377 mach_msg_type_number_t *infoCnt
378 );
379 #endif /* defined(LINTLIBRARY) */
380
381 /* Routine mach_vm_region */
382 #ifdef mig_external
383 mig_external
384 #else
385 extern
386 #endif /* mig_external */
mach_vm_region(target_task,address,size,flavor,info,infoCnt,object_name)387 kern_return_t mach_vm_region
388 #if defined(LINTLIBRARY)
389 (target_task, address, size, flavor, info, infoCnt, object_name)
390 vm_map_t target_task;
391 mach_vm_address_t *address;
392 mach_vm_size_t *size;
393 vm_region_flavor_t flavor;
394 vm_region_info_t info;
395 mach_msg_type_number_t *infoCnt;
396 mach_port_t *object_name;
397 { return mach_vm_region(target_task, address, size, flavor, info, infoCnt, object_name); }
398 #else
399 (
400 vm_map_t target_task,
401 mach_vm_address_t *address,
402 mach_vm_size_t *size,
403 vm_region_flavor_t flavor,
404 vm_region_info_t info,
405 mach_msg_type_number_t *infoCnt,
406 mach_port_t *object_name
407 );
408 #endif /* defined(LINTLIBRARY) */
409
410 /* Routine _mach_make_memory_entry */
411 #ifdef mig_external
412 mig_external
413 #else
414 extern
415 #endif /* mig_external */
_mach_make_memory_entry(target_task,size,offset,permission,object_handle,parent_handle)416 kern_return_t _mach_make_memory_entry
417 #if defined(LINTLIBRARY)
418 (target_task, size, offset, permission, object_handle, parent_handle)
419 vm_map_t target_task;
420 memory_object_size_t *size;
421 memory_object_offset_t offset;
422 vm_prot_t permission;
423 mem_entry_name_port_t *object_handle;
424 mem_entry_name_port_t parent_handle;
425 { return _mach_make_memory_entry(target_task, size, offset, permission, object_handle, parent_handle); }
426 #else
427 (
428 vm_map_t target_task,
429 memory_object_size_t *size,
430 memory_object_offset_t offset,
431 vm_prot_t permission,
432 mem_entry_name_port_t *object_handle,
433 mem_entry_name_port_t parent_handle
434 );
435 #endif /* defined(LINTLIBRARY) */
436
437 /* Routine mach_vm_purgable_control */
438 #ifdef mig_external
439 mig_external
440 #else
441 extern
442 #endif /* mig_external */
mach_vm_purgable_control(target_task,address,control,state)443 kern_return_t mach_vm_purgable_control
444 #if defined(LINTLIBRARY)
445 (target_task, address, control, state)
446 vm_map_t target_task;
447 mach_vm_address_t address;
448 vm_purgable_t control;
449 int *state;
450 { return mach_vm_purgable_control(target_task, address, control, state); }
451 #else
452 (
453 vm_map_t target_task,
454 mach_vm_address_t address,
455 vm_purgable_t control,
456 int *state
457 );
458 #endif /* defined(LINTLIBRARY) */
459
460 /* Routine mach_vm_page_info */
461 #ifdef mig_external
462 mig_external
463 #else
464 extern
465 #endif /* mig_external */
mach_vm_page_info(target_task,address,flavor,info,infoCnt)466 kern_return_t mach_vm_page_info
467 #if defined(LINTLIBRARY)
468 (target_task, address, flavor, info, infoCnt)
469 vm_map_t target_task;
470 mach_vm_address_t address;
471 vm_page_info_flavor_t flavor;
472 vm_page_info_t info;
473 mach_msg_type_number_t *infoCnt;
474 { return mach_vm_page_info(target_task, address, flavor, info, infoCnt); }
475 #else
476 (
477 vm_map_t target_task,
478 mach_vm_address_t address,
479 vm_page_info_flavor_t flavor,
480 vm_page_info_t info,
481 mach_msg_type_number_t *infoCnt
482 );
483 #endif /* defined(LINTLIBRARY) */
484
485 /* Routine mach_vm_protect */
486 #ifdef mig_external
487 mig_external
488 #else
489 extern
490 #endif /* mig_external */
mach_vm_protect(target_task,address,size,set_maximum,new_protection)491 kern_return_t mach_vm_protect
492 #if defined(LINTLIBRARY)
493 (target_task, address, size, set_maximum, new_protection)
494 vm_map_t target_task;
495 mach_vm_address_t address;
496 mach_vm_size_t size;
497 boolean_t set_maximum;
498 vm_prot_t new_protection;
499 { return mach_vm_protect(target_task, address, size, set_maximum, new_protection); }
500 #else
501 (
502 vm_map_t target_task,
503 mach_vm_address_t address,
504 mach_vm_size_t size,
505 boolean_t set_maximum,
506 vm_prot_t new_protection
507 );
508 #endif /* defined(LINTLIBRARY) */
509
510 /* Routine mach_vm_inherit */
511 #ifdef mig_external
512 mig_external
513 #else
514 extern
515 #endif /* mig_external */
mach_vm_inherit(target_task,address,size,new_inheritance)516 kern_return_t mach_vm_inherit
517 #if defined(LINTLIBRARY)
518 (target_task, address, size, new_inheritance)
519 vm_map_t target_task;
520 mach_vm_address_t address;
521 mach_vm_size_t size;
522 vm_inherit_t new_inheritance;
523 { return mach_vm_inherit(target_task, address, size, new_inheritance); }
524 #else
525 (
526 vm_map_t target_task,
527 mach_vm_address_t address,
528 mach_vm_size_t size,
529 vm_inherit_t new_inheritance
530 );
531 #endif /* defined(LINTLIBRARY) */
532
533 /* Routine mach_vm_read */
534 #ifdef mig_external
535 mig_external
536 #else
537 extern
538 #endif /* mig_external */
mach_vm_read(target_task,address,size,data,dataCnt)539 kern_return_t mach_vm_read
540 #if defined(LINTLIBRARY)
541 (target_task, address, size, data, dataCnt)
542 vm_map_t target_task;
543 mach_vm_address_t address;
544 mach_vm_size_t size;
545 vm_offset_t *data;
546 mach_msg_type_number_t *dataCnt;
547 { return mach_vm_read(target_task, address, size, data, dataCnt); }
548 #else
549 (
550 vm_map_t target_task,
551 mach_vm_address_t address,
552 mach_vm_size_t size,
553 vm_offset_t *data,
554 mach_msg_type_number_t *dataCnt
555 );
556 #endif /* defined(LINTLIBRARY) */
557
558 /* Routine mach_vm_read_list */
559 #ifdef mig_external
560 mig_external
561 #else
562 extern
563 #endif /* mig_external */
mach_vm_read_list(target_task,data_list,count)564 kern_return_t mach_vm_read_list
565 #if defined(LINTLIBRARY)
566 (target_task, data_list, count)
567 vm_map_t target_task;
568 mach_vm_read_entry_t data_list;
569 natural_t count;
570 { return mach_vm_read_list(target_task, data_list, count); }
571 #else
572 (
573 vm_map_t target_task,
574 mach_vm_read_entry_t data_list,
575 natural_t count
576 );
577 #endif /* defined(LINTLIBRARY) */
578
579 /* Routine mach_vm_write */
580 #ifdef mig_external
581 mig_external
582 #else
583 extern
584 #endif /* mig_external */
mach_vm_write(target_task,address,data,dataCnt)585 kern_return_t mach_vm_write
586 #if defined(LINTLIBRARY)
587 (target_task, address, data, dataCnt)
588 vm_map_t target_task;
589 mach_vm_address_t address;
590 vm_offset_t data;
591 mach_msg_type_number_t dataCnt;
592 { return mach_vm_write(target_task, address, data, dataCnt); }
593 #else
594 (
595 vm_map_t target_task,
596 mach_vm_address_t address,
597 vm_offset_t data,
598 mach_msg_type_number_t dataCnt
599 );
600 #endif /* defined(LINTLIBRARY) */
601
602 /* Routine mach_vm_copy */
603 #ifdef mig_external
604 mig_external
605 #else
606 extern
607 #endif /* mig_external */
mach_vm_copy(target_task,source_address,size,dest_address)608 kern_return_t mach_vm_copy
609 #if defined(LINTLIBRARY)
610 (target_task, source_address, size, dest_address)
611 vm_map_t target_task;
612 mach_vm_address_t source_address;
613 mach_vm_size_t size;
614 mach_vm_address_t dest_address;
615 { return mach_vm_copy(target_task, source_address, size, dest_address); }
616 #else
617 (
618 vm_map_t target_task,
619 mach_vm_address_t source_address,
620 mach_vm_size_t size,
621 mach_vm_address_t dest_address
622 );
623 #endif /* defined(LINTLIBRARY) */
624
625 /* Routine mach_vm_read_overwrite */
626 #ifdef mig_external
627 mig_external
628 #else
629 extern
630 #endif /* mig_external */
mach_vm_read_overwrite(target_task,address,size,data,outsize)631 kern_return_t mach_vm_read_overwrite
632 #if defined(LINTLIBRARY)
633 (target_task, address, size, data, outsize)
634 vm_map_t target_task;
635 mach_vm_address_t address;
636 mach_vm_size_t size;
637 mach_vm_address_t data;
638 mach_vm_size_t *outsize;
639 { return mach_vm_read_overwrite(target_task, address, size, data, outsize); }
640 #else
641 (
642 vm_map_t target_task,
643 mach_vm_address_t address,
644 mach_vm_size_t size,
645 mach_vm_address_t data,
646 mach_vm_size_t *outsize
647 );
648 #endif /* defined(LINTLIBRARY) */
649
650 /* Routine mach_vm_msync */
651 #ifdef mig_external
652 mig_external
653 #else
654 extern
655 #endif /* mig_external */
mach_vm_msync(target_task,address,size,sync_flags)656 kern_return_t mach_vm_msync
657 #if defined(LINTLIBRARY)
658 (target_task, address, size, sync_flags)
659 vm_map_t target_task;
660 mach_vm_address_t address;
661 mach_vm_size_t size;
662 vm_sync_t sync_flags;
663 { return mach_vm_msync(target_task, address, size, sync_flags); }
664 #else
665 (
666 vm_map_t target_task,
667 mach_vm_address_t address,
668 mach_vm_size_t size,
669 vm_sync_t sync_flags
670 );
671 #endif /* defined(LINTLIBRARY) */
672
673 /* Routine mach_vm_behavior_set */
674 #ifdef mig_external
675 mig_external
676 #else
677 extern
678 #endif /* mig_external */
mach_vm_behavior_set(target_task,address,size,new_behavior)679 kern_return_t mach_vm_behavior_set
680 #if defined(LINTLIBRARY)
681 (target_task, address, size, new_behavior)
682 vm_map_t target_task;
683 mach_vm_address_t address;
684 mach_vm_size_t size;
685 vm_behavior_t new_behavior;
686 { return mach_vm_behavior_set(target_task, address, size, new_behavior); }
687 #else
688 (
689 vm_map_t target_task,
690 mach_vm_address_t address,
691 mach_vm_size_t size,
692 vm_behavior_t new_behavior
693 );
694 #endif /* defined(LINTLIBRARY) */
695
696 /* Routine mach_vm_machine_attribute */
697 #ifdef mig_external
698 mig_external
699 #else
700 extern
701 #endif /* mig_external */
mach_vm_machine_attribute(target_task,address,size,attribute,value)702 kern_return_t mach_vm_machine_attribute
703 #if defined(LINTLIBRARY)
704 (target_task, address, size, attribute, value)
705 vm_map_t target_task;
706 mach_vm_address_t address;
707 mach_vm_size_t size;
708 vm_machine_attribute_t attribute;
709 vm_machine_attribute_val_t *value;
710 { return mach_vm_machine_attribute(target_task, address, size, attribute, value); }
711 #else
712 (
713 vm_map_t target_task,
714 mach_vm_address_t address,
715 mach_vm_size_t size,
716 vm_machine_attribute_t attribute,
717 vm_machine_attribute_val_t *value
718 );
719 #endif /* defined(LINTLIBRARY) */
720
721 /* Routine mach_vm_remap */
722 #ifdef mig_external
723 mig_external
724 #else
725 extern
726 #endif /* mig_external */
mach_vm_remap(target_task,target_address,size,mask,flags,src_task,src_address,copy,cur_protection,max_protection,inheritance)727 kern_return_t mach_vm_remap
728 #if defined(LINTLIBRARY)
729 (target_task, target_address, size, mask, flags, src_task, src_address, copy, cur_protection, max_protection, inheritance)
730 vm_map_t target_task;
731 mach_vm_address_t *target_address;
732 mach_vm_size_t size;
733 mach_vm_offset_t mask;
734 int flags;
735 vm_map_t src_task;
736 mach_vm_address_t src_address;
737 boolean_t copy;
738 vm_prot_t *cur_protection;
739 vm_prot_t *max_protection;
740 vm_inherit_t inheritance;
741 { return mach_vm_remap(target_task, target_address, size, mask, flags, src_task, src_address, copy, cur_protection, max_protection, inheritance); }
742 #else
743 (
744 vm_map_t target_task,
745 mach_vm_address_t *target_address,
746 mach_vm_size_t size,
747 mach_vm_offset_t mask,
748 int flags,
749 vm_map_t src_task,
750 mach_vm_address_t src_address,
751 boolean_t copy,
752 vm_prot_t *cur_protection,
753 vm_prot_t *max_protection,
754 vm_inherit_t inheritance
755 );
756 #endif /* defined(LINTLIBRARY) */
757
758 /* Routine mach_vm_page_query */
759 #ifdef mig_external
760 mig_external
761 #else
762 extern
763 #endif /* mig_external */
mach_vm_page_query(target_map,offset,disposition,ref_count)764 kern_return_t mach_vm_page_query
765 #if defined(LINTLIBRARY)
766 (target_map, offset, disposition, ref_count)
767 vm_map_t target_map;
768 mach_vm_offset_t offset;
769 integer_t *disposition;
770 integer_t *ref_count;
771 { return mach_vm_page_query(target_map, offset, disposition, ref_count); }
772 #else
773 (
774 vm_map_t target_map,
775 mach_vm_offset_t offset,
776 integer_t *disposition,
777 integer_t *ref_count
778 );
779 #endif /* defined(LINTLIBRARY) */
780
781 /* Routine mach_vm_region_recurse */
782 #ifdef mig_external
783 mig_external
784 #else
785 extern
786 #endif /* mig_external */
mach_vm_region_recurse(target_task,address,size,nesting_depth,info,infoCnt)787 kern_return_t mach_vm_region_recurse
788 #if defined(LINTLIBRARY)
789 (target_task, address, size, nesting_depth, info, infoCnt)
790 vm_map_t target_task;
791 mach_vm_address_t *address;
792 mach_vm_size_t *size;
793 natural_t *nesting_depth;
794 vm_region_recurse_info_t info;
795 mach_msg_type_number_t *infoCnt;
796 { return mach_vm_region_recurse(target_task, address, size, nesting_depth, info, infoCnt); }
797 #else
798 (
799 vm_map_t target_task,
800 mach_vm_address_t *address,
801 mach_vm_size_t *size,
802 natural_t *nesting_depth,
803 vm_region_recurse_info_t info,
804 mach_msg_type_number_t *infoCnt
805 );
806 #endif /* defined(LINTLIBRARY) */
807
808 /* Routine mach_vm_region */
809 #ifdef mig_external
810 mig_external
811 #else
812 extern
813 #endif /* mig_external */
mach_vm_region(target_task,address,size,flavor,info,infoCnt,object_name)814 kern_return_t mach_vm_region
815 #if defined(LINTLIBRARY)
816 (target_task, address, size, flavor, info, infoCnt, object_name)
817 vm_map_t target_task;
818 mach_vm_address_t *address;
819 mach_vm_size_t *size;
820 vm_region_flavor_t flavor;
821 vm_region_info_t info;
822 mach_msg_type_number_t *infoCnt;
823 mach_port_t *object_name;
824 { return mach_vm_region(target_task, address, size, flavor, info, infoCnt, object_name); }
825 #else
826 (
827 vm_map_t target_task,
828 mach_vm_address_t *address,
829 mach_vm_size_t *size,
830 vm_region_flavor_t flavor,
831 vm_region_info_t info,
832 mach_msg_type_number_t *infoCnt,
833 mach_port_t *object_name
834 );
835 #endif /* defined(LINTLIBRARY) */
836
837 /* Routine _mach_make_memory_entry */
838 #ifdef mig_external
839 mig_external
840 #else
841 extern
842 #endif /* mig_external */
_mach_make_memory_entry(target_task,size,offset,permission,object_handle,parent_handle)843 kern_return_t _mach_make_memory_entry
844 #if defined(LINTLIBRARY)
845 (target_task, size, offset, permission, object_handle, parent_handle)
846 vm_map_t target_task;
847 memory_object_size_t *size;
848 memory_object_offset_t offset;
849 vm_prot_t permission;
850 mem_entry_name_port_t *object_handle;
851 mem_entry_name_port_t parent_handle;
852 { return _mach_make_memory_entry(target_task, size, offset, permission, object_handle, parent_handle); }
853 #else
854 (
855 vm_map_t target_task,
856 memory_object_size_t *size,
857 memory_object_offset_t offset,
858 vm_prot_t permission,
859 mem_entry_name_port_t *object_handle,
860 mem_entry_name_port_t parent_handle
861 );
862 #endif /* defined(LINTLIBRARY) */
863
864 /* Routine mach_vm_purgable_control */
865 #ifdef mig_external
866 mig_external
867 #else
868 extern
869 #endif /* mig_external */
mach_vm_purgable_control(target_task,address,control,state)870 kern_return_t mach_vm_purgable_control
871 #if defined(LINTLIBRARY)
872 (target_task, address, control, state)
873 vm_map_t target_task;
874 mach_vm_address_t address;
875 vm_purgable_t control;
876 int *state;
877 { return mach_vm_purgable_control(target_task, address, control, state); }
878 #else
879 (
880 vm_map_t target_task,
881 mach_vm_address_t address,
882 vm_purgable_t control,
883 int *state
884 );
885 #endif /* defined(LINTLIBRARY) */
886
887 /* Routine mach_vm_page_info */
888 #ifdef mig_external
889 mig_external
890 #else
891 extern
892 #endif /* mig_external */
mach_vm_page_info(target_task,address,flavor,info,infoCnt)893 kern_return_t mach_vm_page_info
894 #if defined(LINTLIBRARY)
895 (target_task, address, flavor, info, infoCnt)
896 vm_map_t target_task;
897 mach_vm_address_t address;
898 vm_page_info_flavor_t flavor;
899 vm_page_info_t info;
900 mach_msg_type_number_t *infoCnt;
901 { return mach_vm_page_info(target_task, address, flavor, info, infoCnt); }
902 #else
903 (
904 vm_map_t target_task,
905 mach_vm_address_t address,
906 vm_page_info_flavor_t flavor,
907 vm_page_info_t info,
908 mach_msg_type_number_t *infoCnt
909 );
910 #endif /* defined(LINTLIBRARY) */
911
912 #ifdef mig_external
913 mig_external
914 #else
915 extern
916 #endif /* mig_external */
917 boolean_t mach_vm_server(
918 mach_msg_header_t *InHeadP,
919 mach_msg_header_t *OutHeadP);
920
921 #ifdef mig_external
922 mig_external
923 #else
924 extern
925 #endif /* mig_external */
926 mig_routine_t mach_vm_server_routine(
927 mach_msg_header_t *InHeadP);
928
929
930 /* Description of this subsystem, for use in direct RPC */
931 extern const struct mach_vm_subsystem {
932 mig_server_routine_t server; /* Server routine */
933 mach_msg_id_t start; /* Min routine number */
934 mach_msg_id_t end; /* Max routine number + 1 */
935 unsigned int maxsize; /* Max msg size */
936 vm_address_t reserved; /* Reserved */
937 struct routine_descriptor /*Array of routine descriptors */
938 routine[20];
939 } mach_vm_subsystem;
940
941 /* typedefs for all requests */
942
943 #ifndef __Request__mach_vm_subsystem__defined
944 #define __Request__mach_vm_subsystem__defined
945
946 #ifdef __MigPackStructs
947 #pragma pack(4)
948 #endif
949 typedef struct {
950 mach_msg_header_t Head;
951 /* start of the kernel processed data */
952 mach_msg_body_t msgh_body;
953 /* end of the kernel processed data */
954 NDR_record_t NDR;
955 mach_vm_address_t address;
956 mach_vm_size_t size;
957 boolean_t set_maximum;
958 vm_prot_t new_protection;
959 } __Request__mach_vm_protect_t;
960 #ifdef __MigPackStructs
961 #pragma pack()
962 #endif
963
964 #ifdef __MigPackStructs
965 #pragma pack(4)
966 #endif
967 typedef struct {
968 mach_msg_header_t Head;
969 /* start of the kernel processed data */
970 mach_msg_body_t msgh_body;
971 /* end of the kernel processed data */
972 NDR_record_t NDR;
973 mach_vm_address_t address;
974 mach_vm_size_t size;
975 vm_inherit_t new_inheritance;
976 } __Request__mach_vm_inherit_t;
977 #ifdef __MigPackStructs
978 #pragma pack()
979 #endif
980
981 #ifdef __MigPackStructs
982 #pragma pack(4)
983 #endif
984 typedef struct {
985 mach_msg_header_t Head;
986 /* start of the kernel processed data */
987 mach_msg_body_t msgh_body;
988 /* end of the kernel processed data */
989 NDR_record_t NDR;
990 mach_vm_address_t address;
991 mach_vm_size_t size;
992 } __Request__mach_vm_read_t;
993 #ifdef __MigPackStructs
994 #pragma pack()
995 #endif
996
997 #ifdef __MigPackStructs
998 #pragma pack(4)
999 #endif
1000 typedef struct {
1001 mach_msg_header_t Head;
1002 /* start of the kernel processed data */
1003 mach_msg_body_t msgh_body;
1004 /* end of the kernel processed data */
1005 NDR_record_t NDR;
1006 mach_vm_read_entry_t data_list;
1007 natural_t count;
1008 } __Request__mach_vm_read_list_t;
1009 #ifdef __MigPackStructs
1010 #pragma pack()
1011 #endif
1012
1013 #ifdef __MigPackStructs
1014 #pragma pack(4)
1015 #endif
1016 typedef struct {
1017 mach_msg_header_t Head;
1018 /* start of the kernel processed data */
1019 mach_msg_body_t msgh_body;
1020 mach_msg_ool_descriptor_t data;
1021 /* end of the kernel processed data */
1022 NDR_record_t NDR;
1023 mach_vm_address_t address;
1024 mach_msg_type_number_t dataCnt;
1025 } __Request__mach_vm_write_t;
1026 #ifdef __MigPackStructs
1027 #pragma pack()
1028 #endif
1029
1030 #ifdef __MigPackStructs
1031 #pragma pack(4)
1032 #endif
1033 typedef struct {
1034 mach_msg_header_t Head;
1035 /* start of the kernel processed data */
1036 mach_msg_body_t msgh_body;
1037 /* end of the kernel processed data */
1038 NDR_record_t NDR;
1039 mach_vm_address_t source_address;
1040 mach_vm_size_t size;
1041 mach_vm_address_t dest_address;
1042 } __Request__mach_vm_copy_t;
1043 #ifdef __MigPackStructs
1044 #pragma pack()
1045 #endif
1046
1047 #ifdef __MigPackStructs
1048 #pragma pack(4)
1049 #endif
1050 typedef struct {
1051 mach_msg_header_t Head;
1052 /* start of the kernel processed data */
1053 mach_msg_body_t msgh_body;
1054 /* end of the kernel processed data */
1055 NDR_record_t NDR;
1056 mach_vm_address_t address;
1057 mach_vm_size_t size;
1058 mach_vm_address_t data;
1059 } __Request__mach_vm_read_overwrite_t;
1060 #ifdef __MigPackStructs
1061 #pragma pack()
1062 #endif
1063
1064 #ifdef __MigPackStructs
1065 #pragma pack(4)
1066 #endif
1067 typedef struct {
1068 mach_msg_header_t Head;
1069 /* start of the kernel processed data */
1070 mach_msg_body_t msgh_body;
1071 /* end of the kernel processed data */
1072 NDR_record_t NDR;
1073 mach_vm_address_t address;
1074 mach_vm_size_t size;
1075 vm_sync_t sync_flags;
1076 } __Request__mach_vm_msync_t;
1077 #ifdef __MigPackStructs
1078 #pragma pack()
1079 #endif
1080
1081 #ifdef __MigPackStructs
1082 #pragma pack(4)
1083 #endif
1084 typedef struct {
1085 mach_msg_header_t Head;
1086 /* start of the kernel processed data */
1087 mach_msg_body_t msgh_body;
1088 /* end of the kernel processed data */
1089 NDR_record_t NDR;
1090 mach_vm_address_t address;
1091 mach_vm_size_t size;
1092 vm_behavior_t new_behavior;
1093 } __Request__mach_vm_behavior_set_t;
1094 #ifdef __MigPackStructs
1095 #pragma pack()
1096 #endif
1097
1098 #ifdef __MigPackStructs
1099 #pragma pack(4)
1100 #endif
1101 typedef struct {
1102 mach_msg_header_t Head;
1103 /* start of the kernel processed data */
1104 mach_msg_body_t msgh_body;
1105 /* end of the kernel processed data */
1106 NDR_record_t NDR;
1107 mach_vm_address_t address;
1108 mach_vm_size_t size;
1109 vm_machine_attribute_t attribute;
1110 vm_machine_attribute_val_t value;
1111 } __Request__mach_vm_machine_attribute_t;
1112 #ifdef __MigPackStructs
1113 #pragma pack()
1114 #endif
1115
1116 #ifdef __MigPackStructs
1117 #pragma pack(4)
1118 #endif
1119 typedef struct {
1120 mach_msg_header_t Head;
1121 /* start of the kernel processed data */
1122 mach_msg_body_t msgh_body;
1123 mach_msg_port_descriptor_t src_task;
1124 /* end of the kernel processed data */
1125 NDR_record_t NDR;
1126 mach_vm_address_t target_address;
1127 mach_vm_size_t size;
1128 mach_vm_offset_t mask;
1129 int flags;
1130 mach_vm_address_t src_address;
1131 boolean_t copy;
1132 vm_inherit_t inheritance;
1133 } __Request__mach_vm_remap_t;
1134 #ifdef __MigPackStructs
1135 #pragma pack()
1136 #endif
1137
1138 #ifdef __MigPackStructs
1139 #pragma pack(4)
1140 #endif
1141 typedef struct {
1142 mach_msg_header_t Head;
1143 /* start of the kernel processed data */
1144 mach_msg_body_t msgh_body;
1145 /* end of the kernel processed data */
1146 NDR_record_t NDR;
1147 mach_vm_offset_t offset;
1148 } __Request__mach_vm_page_query_t;
1149 #ifdef __MigPackStructs
1150 #pragma pack()
1151 #endif
1152
1153 #ifdef __MigPackStructs
1154 #pragma pack(4)
1155 #endif
1156 typedef struct {
1157 mach_msg_header_t Head;
1158 /* start of the kernel processed data */
1159 mach_msg_body_t msgh_body;
1160 /* end of the kernel processed data */
1161 NDR_record_t NDR;
1162 mach_vm_address_t address;
1163 natural_t nesting_depth;
1164 mach_msg_type_number_t infoCnt;
1165 } __Request__mach_vm_region_recurse_t;
1166 #ifdef __MigPackStructs
1167 #pragma pack()
1168 #endif
1169
1170 #ifdef __MigPackStructs
1171 #pragma pack(4)
1172 #endif
1173 typedef struct {
1174 mach_msg_header_t Head;
1175 /* start of the kernel processed data */
1176 mach_msg_body_t msgh_body;
1177 /* end of the kernel processed data */
1178 NDR_record_t NDR;
1179 mach_vm_address_t address;
1180 vm_region_flavor_t flavor;
1181 mach_msg_type_number_t infoCnt;
1182 } __Request__mach_vm_region_t;
1183 #ifdef __MigPackStructs
1184 #pragma pack()
1185 #endif
1186
1187 #ifdef __MigPackStructs
1188 #pragma pack(4)
1189 #endif
1190 typedef struct {
1191 mach_msg_header_t Head;
1192 /* start of the kernel processed data */
1193 mach_msg_body_t msgh_body;
1194 mach_msg_port_descriptor_t parent_handle;
1195 /* end of the kernel processed data */
1196 NDR_record_t NDR;
1197 memory_object_size_t size;
1198 memory_object_offset_t offset;
1199 vm_prot_t permission;
1200 } __Request___mach_make_memory_entry_t;
1201 #ifdef __MigPackStructs
1202 #pragma pack()
1203 #endif
1204
1205 #ifdef __MigPackStructs
1206 #pragma pack(4)
1207 #endif
1208 typedef struct {
1209 mach_msg_header_t Head;
1210 /* start of the kernel processed data */
1211 mach_msg_body_t msgh_body;
1212 /* end of the kernel processed data */
1213 NDR_record_t NDR;
1214 mach_vm_address_t address;
1215 vm_purgable_t control;
1216 int state;
1217 } __Request__mach_vm_purgable_control_t;
1218 #ifdef __MigPackStructs
1219 #pragma pack()
1220 #endif
1221
1222 #ifdef __MigPackStructs
1223 #pragma pack(4)
1224 #endif
1225 typedef struct {
1226 mach_msg_header_t Head;
1227 /* start of the kernel processed data */
1228 mach_msg_body_t msgh_body;
1229 /* end of the kernel processed data */
1230 NDR_record_t NDR;
1231 mach_vm_address_t address;
1232 vm_page_info_flavor_t flavor;
1233 mach_msg_type_number_t infoCnt;
1234 } __Request__mach_vm_page_info_t;
1235 #ifdef __MigPackStructs
1236 #pragma pack()
1237 #endif
1238 #endif /* !__Request__mach_vm_subsystem__defined */
1239
1240
1241 /* union of all requests */
1242
1243 #ifndef __RequestUnion__mach_vm_subsystem__defined
1244 #define __RequestUnion__mach_vm_subsystem__defined
1245 union __RequestUnion__mach_vm_subsystem {
1246 __Request__mach_vm_protect_t Request_mach_vm_protect;
1247 __Request__mach_vm_inherit_t Request_mach_vm_inherit;
1248 __Request__mach_vm_read_t Request_mach_vm_read;
1249 __Request__mach_vm_read_list_t Request_mach_vm_read_list;
1250 __Request__mach_vm_write_t Request_mach_vm_write;
1251 __Request__mach_vm_copy_t Request_mach_vm_copy;
1252 __Request__mach_vm_read_overwrite_t Request_mach_vm_read_overwrite;
1253 __Request__mach_vm_msync_t Request_mach_vm_msync;
1254 __Request__mach_vm_behavior_set_t Request_mach_vm_behavior_set;
1255 __Request__mach_vm_machine_attribute_t Request_mach_vm_machine_attribute;
1256 __Request__mach_vm_remap_t Request_mach_vm_remap;
1257 __Request__mach_vm_page_query_t Request_mach_vm_page_query;
1258 __Request__mach_vm_region_recurse_t Request_mach_vm_region_recurse;
1259 __Request__mach_vm_region_t Request_mach_vm_region;
1260 __Request___mach_make_memory_entry_t Request__mach_make_memory_entry;
1261 __Request__mach_vm_purgable_control_t Request_mach_vm_purgable_control;
1262 __Request__mach_vm_page_info_t Request_mach_vm_page_info;
1263 };
1264 #endif /* __RequestUnion__mach_vm_subsystem__defined */
1265 /* typedefs for all replies */
1266
1267 #ifndef __Reply__mach_vm_subsystem__defined
1268 #define __Reply__mach_vm_subsystem__defined
1269
1270 #ifdef __MigPackStructs
1271 #pragma pack(4)
1272 #endif
1273 typedef struct {
1274 mach_msg_header_t Head;
1275 NDR_record_t NDR;
1276 kern_return_t RetCode;
1277 } __Reply__mach_vm_protect_t;
1278 #ifdef __MigPackStructs
1279 #pragma pack()
1280 #endif
1281
1282 #ifdef __MigPackStructs
1283 #pragma pack(4)
1284 #endif
1285 typedef struct {
1286 mach_msg_header_t Head;
1287 NDR_record_t NDR;
1288 kern_return_t RetCode;
1289 } __Reply__mach_vm_inherit_t;
1290 #ifdef __MigPackStructs
1291 #pragma pack()
1292 #endif
1293
1294 #ifdef __MigPackStructs
1295 #pragma pack(4)
1296 #endif
1297 typedef struct {
1298 mach_msg_header_t Head;
1299 /* start of the kernel processed data */
1300 mach_msg_body_t msgh_body;
1301 mach_msg_ool_descriptor_t data;
1302 /* end of the kernel processed data */
1303 NDR_record_t NDR;
1304 mach_msg_type_number_t dataCnt;
1305 } __Reply__mach_vm_read_t;
1306 #ifdef __MigPackStructs
1307 #pragma pack()
1308 #endif
1309
1310 #ifdef __MigPackStructs
1311 #pragma pack(4)
1312 #endif
1313 typedef struct {
1314 mach_msg_header_t Head;
1315 NDR_record_t NDR;
1316 kern_return_t RetCode;
1317 mach_vm_read_entry_t data_list;
1318 } __Reply__mach_vm_read_list_t;
1319 #ifdef __MigPackStructs
1320 #pragma pack()
1321 #endif
1322
1323 #ifdef __MigPackStructs
1324 #pragma pack(4)
1325 #endif
1326 typedef struct {
1327 mach_msg_header_t Head;
1328 NDR_record_t NDR;
1329 kern_return_t RetCode;
1330 } __Reply__mach_vm_write_t;
1331 #ifdef __MigPackStructs
1332 #pragma pack()
1333 #endif
1334
1335 #ifdef __MigPackStructs
1336 #pragma pack(4)
1337 #endif
1338 typedef struct {
1339 mach_msg_header_t Head;
1340 NDR_record_t NDR;
1341 kern_return_t RetCode;
1342 } __Reply__mach_vm_copy_t;
1343 #ifdef __MigPackStructs
1344 #pragma pack()
1345 #endif
1346
1347 #ifdef __MigPackStructs
1348 #pragma pack(4)
1349 #endif
1350 typedef struct {
1351 mach_msg_header_t Head;
1352 NDR_record_t NDR;
1353 kern_return_t RetCode;
1354 mach_vm_size_t outsize;
1355 } __Reply__mach_vm_read_overwrite_t;
1356 #ifdef __MigPackStructs
1357 #pragma pack()
1358 #endif
1359
1360 #ifdef __MigPackStructs
1361 #pragma pack(4)
1362 #endif
1363 typedef struct {
1364 mach_msg_header_t Head;
1365 NDR_record_t NDR;
1366 kern_return_t RetCode;
1367 } __Reply__mach_vm_msync_t;
1368 #ifdef __MigPackStructs
1369 #pragma pack()
1370 #endif
1371
1372 #ifdef __MigPackStructs
1373 #pragma pack(4)
1374 #endif
1375 typedef struct {
1376 mach_msg_header_t Head;
1377 NDR_record_t NDR;
1378 kern_return_t RetCode;
1379 } __Reply__mach_vm_behavior_set_t;
1380 #ifdef __MigPackStructs
1381 #pragma pack()
1382 #endif
1383
1384 #ifdef __MigPackStructs
1385 #pragma pack(4)
1386 #endif
1387 typedef struct {
1388 mach_msg_header_t Head;
1389 NDR_record_t NDR;
1390 kern_return_t RetCode;
1391 vm_machine_attribute_val_t value;
1392 } __Reply__mach_vm_machine_attribute_t;
1393 #ifdef __MigPackStructs
1394 #pragma pack()
1395 #endif
1396
1397 #ifdef __MigPackStructs
1398 #pragma pack(4)
1399 #endif
1400 typedef struct {
1401 mach_msg_header_t Head;
1402 NDR_record_t NDR;
1403 kern_return_t RetCode;
1404 mach_vm_address_t target_address;
1405 vm_prot_t cur_protection;
1406 vm_prot_t max_protection;
1407 } __Reply__mach_vm_remap_t;
1408 #ifdef __MigPackStructs
1409 #pragma pack()
1410 #endif
1411
1412 #ifdef __MigPackStructs
1413 #pragma pack(4)
1414 #endif
1415 typedef struct {
1416 mach_msg_header_t Head;
1417 NDR_record_t NDR;
1418 kern_return_t RetCode;
1419 integer_t disposition;
1420 integer_t ref_count;
1421 } __Reply__mach_vm_page_query_t;
1422 #ifdef __MigPackStructs
1423 #pragma pack()
1424 #endif
1425
1426 #ifdef __MigPackStructs
1427 #pragma pack(4)
1428 #endif
1429 typedef struct {
1430 mach_msg_header_t Head;
1431 NDR_record_t NDR;
1432 kern_return_t RetCode;
1433 mach_vm_address_t address;
1434 mach_vm_size_t size;
1435 natural_t nesting_depth;
1436 mach_msg_type_number_t infoCnt;
1437 int info[19];
1438 } __Reply__mach_vm_region_recurse_t;
1439 #ifdef __MigPackStructs
1440 #pragma pack()
1441 #endif
1442
1443 #ifdef __MigPackStructs
1444 #pragma pack(4)
1445 #endif
1446 typedef struct {
1447 mach_msg_header_t Head;
1448 /* start of the kernel processed data */
1449 mach_msg_body_t msgh_body;
1450 mach_msg_port_descriptor_t object_name;
1451 /* end of the kernel processed data */
1452 NDR_record_t NDR;
1453 mach_vm_address_t address;
1454 mach_vm_size_t size;
1455 mach_msg_type_number_t infoCnt;
1456 int info[10];
1457 } __Reply__mach_vm_region_t;
1458 #ifdef __MigPackStructs
1459 #pragma pack()
1460 #endif
1461
1462 #ifdef __MigPackStructs
1463 #pragma pack(4)
1464 #endif
1465 typedef struct {
1466 mach_msg_header_t Head;
1467 /* start of the kernel processed data */
1468 mach_msg_body_t msgh_body;
1469 mach_msg_port_descriptor_t object_handle;
1470 /* end of the kernel processed data */
1471 NDR_record_t NDR;
1472 memory_object_size_t size;
1473 } __Reply___mach_make_memory_entry_t;
1474 #ifdef __MigPackStructs
1475 #pragma pack()
1476 #endif
1477
1478 #ifdef __MigPackStructs
1479 #pragma pack(4)
1480 #endif
1481 typedef struct {
1482 mach_msg_header_t Head;
1483 NDR_record_t NDR;
1484 kern_return_t RetCode;
1485 int state;
1486 } __Reply__mach_vm_purgable_control_t;
1487 #ifdef __MigPackStructs
1488 #pragma pack()
1489 #endif
1490
1491 #ifdef __MigPackStructs
1492 #pragma pack(4)
1493 #endif
1494 typedef struct {
1495 mach_msg_header_t Head;
1496 NDR_record_t NDR;
1497 kern_return_t RetCode;
1498 mach_msg_type_number_t infoCnt;
1499 int info[32];
1500 } __Reply__mach_vm_page_info_t;
1501 #ifdef __MigPackStructs
1502 #pragma pack()
1503 #endif
1504 #endif /* !__Reply__mach_vm_subsystem__defined */
1505
1506
1507 /* union of all replies */
1508
1509 #ifndef __ReplyUnion__mach_vm_subsystem__defined
1510 #define __ReplyUnion__mach_vm_subsystem__defined
1511 union __ReplyUnion__mach_vm_subsystem {
1512 __Reply__mach_vm_protect_t Reply_mach_vm_protect;
1513 __Reply__mach_vm_inherit_t Reply_mach_vm_inherit;
1514 __Reply__mach_vm_read_t Reply_mach_vm_read;
1515 __Reply__mach_vm_read_list_t Reply_mach_vm_read_list;
1516 __Reply__mach_vm_write_t Reply_mach_vm_write;
1517 __Reply__mach_vm_copy_t Reply_mach_vm_copy;
1518 __Reply__mach_vm_read_overwrite_t Reply_mach_vm_read_overwrite;
1519 __Reply__mach_vm_msync_t Reply_mach_vm_msync;
1520 __Reply__mach_vm_behavior_set_t Reply_mach_vm_behavior_set;
1521 __Reply__mach_vm_machine_attribute_t Reply_mach_vm_machine_attribute;
1522 __Reply__mach_vm_remap_t Reply_mach_vm_remap;
1523 __Reply__mach_vm_page_query_t Reply_mach_vm_page_query;
1524 __Reply__mach_vm_region_recurse_t Reply_mach_vm_region_recurse;
1525 __Reply__mach_vm_region_t Reply_mach_vm_region;
1526 __Reply___mach_make_memory_entry_t Reply__mach_make_memory_entry;
1527 __Reply__mach_vm_purgable_control_t Reply_mach_vm_purgable_control;
1528 __Reply__mach_vm_page_info_t Reply_mach_vm_page_info;
1529 };
1530 #endif /* __RequestUnion__mach_vm_subsystem__defined */
1531
1532 #ifndef subsystem_to_name_map_mach_vm
1533 #define subsystem_to_name_map_mach_vm \
1534 { "mach_vm_protect", 4802 },\
1535 { "mach_vm_inherit", 4803 },\
1536 { "mach_vm_read", 4804 },\
1537 { "mach_vm_read_list", 4805 },\
1538 { "mach_vm_write", 4806 },\
1539 { "mach_vm_copy", 4807 },\
1540 { "mach_vm_read_overwrite", 4808 },\
1541 { "mach_vm_msync", 4809 },\
1542 { "mach_vm_behavior_set", 4810 },\
1543 { "mach_vm_machine_attribute", 4812 },\
1544 { "mach_vm_remap", 4813 },\
1545 { "mach_vm_page_query", 4814 },\
1546 { "mach_vm_region_recurse", 4815 },\
1547 { "mach_vm_region", 4816 },\
1548 { "_mach_make_memory_entry", 4817 },\
1549 { "mach_vm_purgable_control", 4818 },\
1550 { "mach_vm_page_info", 4819 }
1551 #endif
1552
1553 #ifdef __AfterMigServerHeader
1554 __AfterMigServerHeader
1555 #endif /* __AfterMigServerHeader */
1556
1557 #endif /* _mach_vm_server_ */
1558