xref: /trueos/sys/sys/mach/mach_vm_server.h (revision a5c674cfe4ac0caecd077667c8d9179460df2a79)
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