1#ifndef _mach_vm_server_
2#define _mach_vm_server_
3
4/* Module mach_vm */
5
6#include <string.h>
7#include <mach/ndr.h>
8#include <mach/boolean.h>
9#include <mach/kern_return.h>
10#include <mach/notify.h>
11#include <mach/mach_types.h>
12#include <mach/message.h>
13#include <mach/mig_errors.h>
14#include <mach/port.h>
15
16/* BEGIN MIG_STRNCPY_ZEROFILL CODE */
17
18#if defined(__has_include)
19#if __has_include(<mach/mig_strncpy_zerofill_support.h>)
20#ifndef USING_MIG_STRNCPY_ZEROFILL
21#define USING_MIG_STRNCPY_ZEROFILL
22#endif
23#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__
24#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__
25#ifdef __cplusplus
26extern "C" {
27#endif
28#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS_CSTRING_ATTR
29#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS_CSTRING_COUNTEDBY_ATTR(C) __unsafe_indexable
30#endif
31 extern int mig_strncpy_zerofill(char * dest, const char * src, int len) __attribute__((weak_import));
32#ifdef __cplusplus
33}
34#endif
35#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */
36#endif /* __has_include(<mach/mig_strncpy_zerofill_support.h>) */
37#endif /* __has_include */
38
39/* END MIG_STRNCPY_ZEROFILL CODE */
40
41
42#ifdef AUTOTEST
43#ifndef FUNCTION_PTR_T
44#define FUNCTION_PTR_T
45typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
46typedef struct {
47 char * name;
48 function_ptr_t function;
49} function_table_entry;
50typedef function_table_entry *function_table_t;
51#endif /* FUNCTION_PTR_T */
52#endif /* AUTOTEST */
53
54#ifndef mach_vm_MSG_COUNT
55#define mach_vm_MSG_COUNT 26
56#endif /* mach_vm_MSG_COUNT */
57
58#include <Availability.h>
59#include <mach/std_types.h>
60#include <mach/mig.h>
61#include <ipc/ipc_voucher.h>
62#include <kern/ipc_kobject.h>
63#include <kern/ipc_tt.h>
64#include <kern/ipc_host.h>
65#include <kern/ledger.h>
66#include <kern/processor.h>
67#include <kern/sync_sema.h>
68#include <ipc/ipc_eventlink.h>
69#include <vm/memory_object.h>
70#include <vm/vm_map.h>
71#include <kern/arcade.h>
72#include <kern/ipc_mig.h>
73#include <kern/task_ident.h>
74#include <kern/kern_cdata.h>
75#include <mach/mig.h>
76#include <mach/mach_types.h>
77#include <mach_debug/mach_debug_types.h>
78
79#ifdef __BeforeMigServerHeader
80__BeforeMigServerHeader
81#endif /* __BeforeMigServerHeader */
82
83#ifndef MIG_SERVER_ROUTINE
84#define MIG_SERVER_ROUTINE
85#endif
86
87
88/* Routine mach_vm_allocate_external */
89#ifdef mig_external
90mig_external
91#else
92extern
93#endif /* mig_external */
94MIG_SERVER_ROUTINE
95kern_return_t mach_vm_allocate_external
96(
97 vm_map_t target,
98 mach_vm_address_t *address,
99 mach_vm_size_t size,
100 int flags
101);
102
103/* Routine mach_vm_deallocate */
104#ifdef mig_external
105mig_external
106#else
107extern
108#endif /* mig_external */
109MIG_SERVER_ROUTINE
110kern_return_t mach_vm_deallocate
111(
112 vm_map_t target,
113 mach_vm_address_t address,
114 mach_vm_size_t size
115);
116
117/* Routine mach_vm_protect */
118#ifdef mig_external
119mig_external
120#else
121extern
122#endif /* mig_external */
123MIG_SERVER_ROUTINE
124kern_return_t mach_vm_protect
125(
126 vm_map_t target_task,
127 mach_vm_address_t address,
128 mach_vm_size_t size,
129 boolean_t set_maximum,
130 vm_prot_t new_protection
131);
132
133/* Routine mach_vm_inherit */
134#ifdef mig_external
135mig_external
136#else
137extern
138#endif /* mig_external */
139MIG_SERVER_ROUTINE
140kern_return_t mach_vm_inherit
141(
142 vm_map_t target_task,
143 mach_vm_address_t address,
144 mach_vm_size_t size,
145 vm_inherit_t new_inheritance
146);
147
148/* Routine mach_vm_read */
149#ifdef mig_external
150mig_external
151#else
152extern
153#endif /* mig_external */
154MIG_SERVER_ROUTINE
155kern_return_t mach_vm_read
156(
157 vm_map_read_t target_task,
158 mach_vm_address_t address,
159 mach_vm_size_t size,
160 vm_offset_t *data,
161 mach_msg_type_number_t *dataCnt
162);
163
164/* Routine mach_vm_read_list */
165#ifdef mig_external
166mig_external
167#else
168extern
169#endif /* mig_external */
170MIG_SERVER_ROUTINE
171kern_return_t mach_vm_read_list
172(
173 vm_map_read_t target_task,
174 mach_vm_read_entry_t data_list,
175 natural_t count
176);
177
178/* Routine mach_vm_write */
179#ifdef mig_external
180mig_external
181#else
182extern
183#endif /* mig_external */
184MIG_SERVER_ROUTINE
185kern_return_t mach_vm_write
186(
187 vm_map_t target_task,
188 mach_vm_address_t address,
189 vm_offset_t data,
190 mach_msg_type_number_t dataCnt
191);
192
193/* Routine mach_vm_copy */
194#ifdef mig_external
195mig_external
196#else
197extern
198#endif /* mig_external */
199MIG_SERVER_ROUTINE
200kern_return_t mach_vm_copy
201(
202 vm_map_t target_task,
203 mach_vm_address_t source_address,
204 mach_vm_size_t size,
205 mach_vm_address_t dest_address
206);
207
208/* Routine mach_vm_read_overwrite */
209#ifdef mig_external
210mig_external
211#else
212extern
213#endif /* mig_external */
214MIG_SERVER_ROUTINE
215kern_return_t mach_vm_read_overwrite
216(
217 vm_map_read_t target_task,
218 mach_vm_address_t address,
219 mach_vm_size_t size,
220 mach_vm_address_t data,
221 mach_vm_size_t *outsize
222);
223
224/* Routine mach_vm_msync */
225#ifdef mig_external
226mig_external
227#else
228extern
229#endif /* mig_external */
230MIG_SERVER_ROUTINE
231kern_return_t mach_vm_msync
232(
233 vm_map_t target_task,
234 mach_vm_address_t address,
235 mach_vm_size_t size,
236 vm_sync_t sync_flags
237);
238
239/* Routine mach_vm_behavior_set */
240#ifdef mig_external
241mig_external
242#else
243extern
244#endif /* mig_external */
245MIG_SERVER_ROUTINE
246kern_return_t mach_vm_behavior_set
247(
248 vm_map_t target_task,
249 mach_vm_address_t address,
250 mach_vm_size_t size,
251 vm_behavior_t new_behavior
252);
253
254/* Routine mach_vm_map_external */
255#ifdef mig_external
256mig_external
257#else
258extern
259#endif /* mig_external */
260MIG_SERVER_ROUTINE
261kern_return_t mach_vm_map_external
262(
263 vm_map_t target_task,
264 mach_vm_address_t *address,
265 mach_vm_size_t size,
266 mach_vm_offset_t mask,
267 int flags,
268 mem_entry_name_port_t object,
269 memory_object_offset_t offset,
270 boolean_t copy,
271 vm_prot_t cur_protection,
272 vm_prot_t max_protection,
273 vm_inherit_t inheritance
274);
275
276/* Routine mach_vm_machine_attribute */
277#ifdef mig_external
278mig_external
279#else
280extern
281#endif /* mig_external */
282MIG_SERVER_ROUTINE
283kern_return_t mach_vm_machine_attribute
284(
285 vm_map_t target_task,
286 mach_vm_address_t address,
287 mach_vm_size_t size,
288 vm_machine_attribute_t attribute,
289 vm_machine_attribute_val_t *value
290);
291
292/* Routine mach_vm_remap_external */
293#ifdef mig_external
294mig_external
295#else
296extern
297#endif /* mig_external */
298MIG_SERVER_ROUTINE
299kern_return_t mach_vm_remap_external
300(
301 vm_map_t target_task,
302 mach_vm_address_t *target_address,
303 mach_vm_size_t size,
304 mach_vm_offset_t mask,
305 int flags,
306 vm_map_t src_task,
307 mach_vm_address_t src_address,
308 boolean_t copy,
309 vm_prot_t *cur_protection,
310 vm_prot_t *max_protection,
311 vm_inherit_t inheritance
312);
313
314/* Routine mach_vm_page_query */
315#ifdef mig_external
316mig_external
317#else
318extern
319#endif /* mig_external */
320MIG_SERVER_ROUTINE
321kern_return_t mach_vm_page_query
322(
323 vm_map_read_t target_map,
324 mach_vm_offset_t offset,
325 integer_t *disposition,
326 integer_t *ref_count
327);
328
329/* Routine mach_vm_region_recurse */
330#ifdef mig_external
331mig_external
332#else
333extern
334#endif /* mig_external */
335MIG_SERVER_ROUTINE
336kern_return_t mach_vm_region_recurse
337(
338 vm_map_read_t target_task,
339 mach_vm_address_t *address,
340 mach_vm_size_t *size,
341 natural_t *nesting_depth,
342 vm_region_recurse_info_t info,
343 mach_msg_type_number_t *infoCnt
344);
345
346/* Routine mach_vm_region */
347#ifdef mig_external
348mig_external
349#else
350extern
351#endif /* mig_external */
352MIG_SERVER_ROUTINE
353kern_return_t mach_vm_region
354(
355 vm_map_read_t target_task,
356 mach_vm_address_t *address,
357 mach_vm_size_t *size,
358 vm_region_flavor_t flavor,
359 vm_region_info_t info,
360 mach_msg_type_number_t *infoCnt,
361 mach_port_t *object_name
362);
363
364/* Routine _mach_make_memory_entry */
365#ifdef mig_external
366mig_external
367#else
368extern
369#endif /* mig_external */
370MIG_SERVER_ROUTINE
371kern_return_t _mach_make_memory_entry
372(
373 vm_map_t target_task,
374 memory_object_size_t *size,
375 memory_object_offset_t offset,
376 vm_prot_t permission,
377 mem_entry_name_port_t *object_handle,
378 mem_entry_name_port_t parent_handle
379);
380
381/* Routine mach_vm_purgable_control_external */
382#ifdef mig_external
383mig_external
384#else
385extern
386#endif /* mig_external */
387MIG_SERVER_ROUTINE
388kern_return_t mach_vm_purgable_control_external
389(
390 mach_port_t target_tport,
391 mach_vm_address_t address,
392 vm_purgable_t control,
393 int *state
394);
395
396/* Routine mach_vm_page_info */
397#ifdef mig_external
398mig_external
399#else
400extern
401#endif /* mig_external */
402MIG_SERVER_ROUTINE
403kern_return_t mach_vm_page_info
404(
405 vm_map_read_t target_task,
406 mach_vm_address_t address,
407 vm_page_info_flavor_t flavor,
408 vm_page_info_t info,
409 mach_msg_type_number_t *infoCnt
410);
411
412/* Routine mach_vm_page_range_query */
413#ifdef mig_external
414mig_external
415#else
416extern
417#endif /* mig_external */
418MIG_SERVER_ROUTINE
419kern_return_t mach_vm_page_range_query
420(
421 vm_map_read_t target_map,
422 mach_vm_offset_t address,
423 mach_vm_size_t size,
424 mach_vm_address_t dispositions,
425 mach_vm_size_t *dispositions_count
426);
427
428/* Routine mach_vm_remap_new_external */
429#ifdef mig_external
430mig_external
431#else
432extern
433#endif /* mig_external */
434MIG_SERVER_ROUTINE
435kern_return_t mach_vm_remap_new_external
436(
437 vm_map_t target_task,
438 mach_vm_address_t *target_address,
439 mach_vm_size_t size,
440 mach_vm_offset_t mask,
441 int flags,
442 mach_port_t src_tport,
443 mach_vm_address_t src_address,
444 boolean_t copy,
445 vm_prot_t *cur_protection,
446 vm_prot_t *max_protection,
447 vm_inherit_t inheritance
448);
449
450/* Routine mach_vm_deferred_reclamation_buffer_init */
451#ifdef mig_external
452mig_external
453#else
454extern
455#endif /* mig_external */
456MIG_SERVER_ROUTINE
457kern_return_t mach_vm_deferred_reclamation_buffer_init
458(
459 task_t target_task,
460 mach_vm_offset_t address,
461 mach_vm_size_t size
462);
463
464/* Routine mach_vm_deferred_reclamation_buffer_synchronize */
465#ifdef mig_external
466mig_external
467#else
468extern
469#endif /* mig_external */
470MIG_SERVER_ROUTINE
471kern_return_t mach_vm_deferred_reclamation_buffer_synchronize
472(
473 task_t target_task,
474 mach_vm_size_t num_entries_to_reclaim
475);
476
477/* Routine mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes */
478#ifdef mig_external
479mig_external
480#else
481extern
482#endif /* mig_external */
483MIG_SERVER_ROUTINE
484kern_return_t mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes
485(
486 task_t target_task,
487 mach_vm_size_t reclaimable_bytes
488);
489
490/* Routine mach_vm_range_create */
491#ifdef mig_external
492mig_external
493#else
494extern
495#endif /* mig_external */
496MIG_SERVER_ROUTINE
497kern_return_t mach_vm_range_create
498(
499 vm_map_t target_task,
500 mach_vm_range_flavor_t flavor,
501 mach_vm_range_recipes_raw_t recipes,
502 mach_msg_type_number_t recipesCnt
503);
504
505#ifdef mig_external
506mig_external
507#else
508extern
509#endif /* mig_external */
510boolean_t mach_vm_server(
511 mach_msg_header_t *InHeadP,
512 void *InDataP,
513 mach_msg_max_trailer_t *InTrailerP,
514 mach_msg_header_t *OutHeadP,
515 void *OutDataP);
516
517#ifdef mig_external
518mig_external
519#else
520extern
521#endif /* mig_external */
522mig_kern_routine_t mach_vm_server_routine(
523 mach_msg_header_t *InHeadP);
524
525
526/* Description of this kernel subsystem, for use in direct RPC */
527extern const struct mach_vm_subsystem {
528 mig_kern_server_routine_t kserver; /* Server routine */
529 mach_msg_id_t start; /* Min routine number */
530 mach_msg_id_t end; /* Max routine number + 1 */
531 unsigned int maxsize; /* Max msg size */
532 vm_address_t reserved; /* Reserved */
533 struct kern_routine_descriptor /* Array of routine descriptors */
534 kroutine[26];
535} mach_vm_subsystem;
536
537/* typedefs for all requests */
538
539#ifndef __Request__mach_vm_subsystem__defined
540#define __Request__mach_vm_subsystem__defined
541
542#ifdef __MigPackStructs
543#pragma pack(push, 4)
544#endif
545 typedef struct {
546 mach_msg_header_t Head;
547 NDR_record_t NDR;
548 mach_vm_address_t address;
549 mach_vm_size_t size;
550 int flags;
551 } __Request__mach_vm_allocate_external_t __attribute__((unused));
552#ifdef __MigPackStructs
553#pragma pack(pop)
554#endif
555/* Struct for kernel processed data (Header + Descriptors) */
556#ifdef __MigPackStructs
557#pragma pack(push, 4)
558#endif
559 typedef struct {
560 mach_msg_header_t Head;
561 } __RequestKData__mach_vm_allocate_external_t __attribute__((unused));
562#ifdef __MigPackStructs
563#pragma pack(pop)
564#endif
565/* Struct for pure user data */
566#ifdef __MigPackStructs
567#pragma pack(push, 4)
568#endif
569 typedef struct {
570 NDR_record_t NDR;
571 mach_vm_address_t address;
572 mach_vm_size_t size;
573 int flags;
574 char padding[0]; /* Avoid generating empty UData structs */
575 } __RequestUData__mach_vm_allocate_external_t __attribute__((unused));
576#ifdef __MigPackStructs
577#pragma pack(pop)
578#endif
579
580#ifdef __MigPackStructs
581#pragma pack(push, 4)
582#endif
583 typedef struct {
584 mach_msg_header_t Head;
585 NDR_record_t NDR;
586 mach_vm_address_t address;
587 mach_vm_size_t size;
588 } __Request__mach_vm_deallocate_t __attribute__((unused));
589#ifdef __MigPackStructs
590#pragma pack(pop)
591#endif
592/* Struct for kernel processed data (Header + Descriptors) */
593#ifdef __MigPackStructs
594#pragma pack(push, 4)
595#endif
596 typedef struct {
597 mach_msg_header_t Head;
598 } __RequestKData__mach_vm_deallocate_t __attribute__((unused));
599#ifdef __MigPackStructs
600#pragma pack(pop)
601#endif
602/* Struct for pure user data */
603#ifdef __MigPackStructs
604#pragma pack(push, 4)
605#endif
606 typedef struct {
607 NDR_record_t NDR;
608 mach_vm_address_t address;
609 mach_vm_size_t size;
610 char padding[0]; /* Avoid generating empty UData structs */
611 } __RequestUData__mach_vm_deallocate_t __attribute__((unused));
612#ifdef __MigPackStructs
613#pragma pack(pop)
614#endif
615
616#ifdef __MigPackStructs
617#pragma pack(push, 4)
618#endif
619 typedef struct {
620 mach_msg_header_t Head;
621 NDR_record_t NDR;
622 mach_vm_address_t address;
623 mach_vm_size_t size;
624 boolean_t set_maximum;
625 vm_prot_t new_protection;
626 } __Request__mach_vm_protect_t __attribute__((unused));
627#ifdef __MigPackStructs
628#pragma pack(pop)
629#endif
630/* Struct for kernel processed data (Header + Descriptors) */
631#ifdef __MigPackStructs
632#pragma pack(push, 4)
633#endif
634 typedef struct {
635 mach_msg_header_t Head;
636 } __RequestKData__mach_vm_protect_t __attribute__((unused));
637#ifdef __MigPackStructs
638#pragma pack(pop)
639#endif
640/* Struct for pure user data */
641#ifdef __MigPackStructs
642#pragma pack(push, 4)
643#endif
644 typedef struct {
645 NDR_record_t NDR;
646 mach_vm_address_t address;
647 mach_vm_size_t size;
648 boolean_t set_maximum;
649 vm_prot_t new_protection;
650 char padding[0]; /* Avoid generating empty UData structs */
651 } __RequestUData__mach_vm_protect_t __attribute__((unused));
652#ifdef __MigPackStructs
653#pragma pack(pop)
654#endif
655
656#ifdef __MigPackStructs
657#pragma pack(push, 4)
658#endif
659 typedef struct {
660 mach_msg_header_t Head;
661 NDR_record_t NDR;
662 mach_vm_address_t address;
663 mach_vm_size_t size;
664 vm_inherit_t new_inheritance;
665 } __Request__mach_vm_inherit_t __attribute__((unused));
666#ifdef __MigPackStructs
667#pragma pack(pop)
668#endif
669/* Struct for kernel processed data (Header + Descriptors) */
670#ifdef __MigPackStructs
671#pragma pack(push, 4)
672#endif
673 typedef struct {
674 mach_msg_header_t Head;
675 } __RequestKData__mach_vm_inherit_t __attribute__((unused));
676#ifdef __MigPackStructs
677#pragma pack(pop)
678#endif
679/* Struct for pure user data */
680#ifdef __MigPackStructs
681#pragma pack(push, 4)
682#endif
683 typedef struct {
684 NDR_record_t NDR;
685 mach_vm_address_t address;
686 mach_vm_size_t size;
687 vm_inherit_t new_inheritance;
688 char padding[0]; /* Avoid generating empty UData structs */
689 } __RequestUData__mach_vm_inherit_t __attribute__((unused));
690#ifdef __MigPackStructs
691#pragma pack(pop)
692#endif
693
694#ifdef __MigPackStructs
695#pragma pack(push, 4)
696#endif
697 typedef struct {
698 mach_msg_header_t Head;
699 NDR_record_t NDR;
700 mach_vm_address_t address;
701 mach_vm_size_t size;
702 } __Request__mach_vm_read_t __attribute__((unused));
703#ifdef __MigPackStructs
704#pragma pack(pop)
705#endif
706/* Struct for kernel processed data (Header + Descriptors) */
707#ifdef __MigPackStructs
708#pragma pack(push, 4)
709#endif
710 typedef struct {
711 mach_msg_header_t Head;
712 } __RequestKData__mach_vm_read_t __attribute__((unused));
713#ifdef __MigPackStructs
714#pragma pack(pop)
715#endif
716/* Struct for pure user data */
717#ifdef __MigPackStructs
718#pragma pack(push, 4)
719#endif
720 typedef struct {
721 NDR_record_t NDR;
722 mach_vm_address_t address;
723 mach_vm_size_t size;
724 char padding[0]; /* Avoid generating empty UData structs */
725 } __RequestUData__mach_vm_read_t __attribute__((unused));
726#ifdef __MigPackStructs
727#pragma pack(pop)
728#endif
729
730#ifdef __MigPackStructs
731#pragma pack(push, 4)
732#endif
733 typedef struct {
734 mach_msg_header_t Head;
735 NDR_record_t NDR;
736 mach_vm_read_entry_t data_list;
737 natural_t count;
738 } __Request__mach_vm_read_list_t __attribute__((unused));
739#ifdef __MigPackStructs
740#pragma pack(pop)
741#endif
742/* Struct for kernel processed data (Header + Descriptors) */
743#ifdef __MigPackStructs
744#pragma pack(push, 4)
745#endif
746 typedef struct {
747 mach_msg_header_t Head;
748 } __RequestKData__mach_vm_read_list_t __attribute__((unused));
749#ifdef __MigPackStructs
750#pragma pack(pop)
751#endif
752/* Struct for pure user data */
753#ifdef __MigPackStructs
754#pragma pack(push, 4)
755#endif
756 typedef struct {
757 NDR_record_t NDR;
758 mach_vm_read_entry_t data_list;
759 natural_t count;
760 char padding[0]; /* Avoid generating empty UData structs */
761 } __RequestUData__mach_vm_read_list_t __attribute__((unused));
762#ifdef __MigPackStructs
763#pragma pack(pop)
764#endif
765
766#ifdef __MigPackStructs
767#pragma pack(push, 4)
768#endif
769 typedef struct {
770 mach_msg_header_t Head;
771 /* start of the kernel processed data */
772 mach_msg_body_t msgh_body;
773 mach_msg_ool_descriptor_t data;
774 /* end of the kernel processed data */
775 NDR_record_t NDR;
776 mach_vm_address_t address;
777 mach_msg_type_number_t dataCnt;
778 } __Request__mach_vm_write_t __attribute__((unused));
779#ifdef __MigPackStructs
780#pragma pack(pop)
781#endif
782/* Struct for kernel processed data (Header + Descriptors) */
783#ifdef __MigPackStructs
784#pragma pack(push, 4)
785#endif
786 typedef struct {
787 mach_msg_header_t Head;
788 mach_msg_body_t msgh_body;
789 mach_msg_ool_descriptor_t data;
790 } __RequestKData__mach_vm_write_t __attribute__((unused));
791#ifdef __MigPackStructs
792#pragma pack(pop)
793#endif
794/* Struct for pure user data */
795#ifdef __MigPackStructs
796#pragma pack(push, 4)
797#endif
798 typedef struct {
799 NDR_record_t NDR;
800 mach_vm_address_t address;
801 mach_msg_type_number_t dataCnt;
802 char padding[0]; /* Avoid generating empty UData structs */
803 } __RequestUData__mach_vm_write_t __attribute__((unused));
804#ifdef __MigPackStructs
805#pragma pack(pop)
806#endif
807
808#ifdef __MigPackStructs
809#pragma pack(push, 4)
810#endif
811 typedef struct {
812 mach_msg_header_t Head;
813 NDR_record_t NDR;
814 mach_vm_address_t source_address;
815 mach_vm_size_t size;
816 mach_vm_address_t dest_address;
817 } __Request__mach_vm_copy_t __attribute__((unused));
818#ifdef __MigPackStructs
819#pragma pack(pop)
820#endif
821/* Struct for kernel processed data (Header + Descriptors) */
822#ifdef __MigPackStructs
823#pragma pack(push, 4)
824#endif
825 typedef struct {
826 mach_msg_header_t Head;
827 } __RequestKData__mach_vm_copy_t __attribute__((unused));
828#ifdef __MigPackStructs
829#pragma pack(pop)
830#endif
831/* Struct for pure user data */
832#ifdef __MigPackStructs
833#pragma pack(push, 4)
834#endif
835 typedef struct {
836 NDR_record_t NDR;
837 mach_vm_address_t source_address;
838 mach_vm_size_t size;
839 mach_vm_address_t dest_address;
840 char padding[0]; /* Avoid generating empty UData structs */
841 } __RequestUData__mach_vm_copy_t __attribute__((unused));
842#ifdef __MigPackStructs
843#pragma pack(pop)
844#endif
845
846#ifdef __MigPackStructs
847#pragma pack(push, 4)
848#endif
849 typedef struct {
850 mach_msg_header_t Head;
851 NDR_record_t NDR;
852 mach_vm_address_t address;
853 mach_vm_size_t size;
854 mach_vm_address_t data;
855 } __Request__mach_vm_read_overwrite_t __attribute__((unused));
856#ifdef __MigPackStructs
857#pragma pack(pop)
858#endif
859/* Struct for kernel processed data (Header + Descriptors) */
860#ifdef __MigPackStructs
861#pragma pack(push, 4)
862#endif
863 typedef struct {
864 mach_msg_header_t Head;
865 } __RequestKData__mach_vm_read_overwrite_t __attribute__((unused));
866#ifdef __MigPackStructs
867#pragma pack(pop)
868#endif
869/* Struct for pure user data */
870#ifdef __MigPackStructs
871#pragma pack(push, 4)
872#endif
873 typedef struct {
874 NDR_record_t NDR;
875 mach_vm_address_t address;
876 mach_vm_size_t size;
877 mach_vm_address_t data;
878 char padding[0]; /* Avoid generating empty UData structs */
879 } __RequestUData__mach_vm_read_overwrite_t __attribute__((unused));
880#ifdef __MigPackStructs
881#pragma pack(pop)
882#endif
883
884#ifdef __MigPackStructs
885#pragma pack(push, 4)
886#endif
887 typedef struct {
888 mach_msg_header_t Head;
889 NDR_record_t NDR;
890 mach_vm_address_t address;
891 mach_vm_size_t size;
892 vm_sync_t sync_flags;
893 } __Request__mach_vm_msync_t __attribute__((unused));
894#ifdef __MigPackStructs
895#pragma pack(pop)
896#endif
897/* Struct for kernel processed data (Header + Descriptors) */
898#ifdef __MigPackStructs
899#pragma pack(push, 4)
900#endif
901 typedef struct {
902 mach_msg_header_t Head;
903 } __RequestKData__mach_vm_msync_t __attribute__((unused));
904#ifdef __MigPackStructs
905#pragma pack(pop)
906#endif
907/* Struct for pure user data */
908#ifdef __MigPackStructs
909#pragma pack(push, 4)
910#endif
911 typedef struct {
912 NDR_record_t NDR;
913 mach_vm_address_t address;
914 mach_vm_size_t size;
915 vm_sync_t sync_flags;
916 char padding[0]; /* Avoid generating empty UData structs */
917 } __RequestUData__mach_vm_msync_t __attribute__((unused));
918#ifdef __MigPackStructs
919#pragma pack(pop)
920#endif
921
922#ifdef __MigPackStructs
923#pragma pack(push, 4)
924#endif
925 typedef struct {
926 mach_msg_header_t Head;
927 NDR_record_t NDR;
928 mach_vm_address_t address;
929 mach_vm_size_t size;
930 vm_behavior_t new_behavior;
931 } __Request__mach_vm_behavior_set_t __attribute__((unused));
932#ifdef __MigPackStructs
933#pragma pack(pop)
934#endif
935/* Struct for kernel processed data (Header + Descriptors) */
936#ifdef __MigPackStructs
937#pragma pack(push, 4)
938#endif
939 typedef struct {
940 mach_msg_header_t Head;
941 } __RequestKData__mach_vm_behavior_set_t __attribute__((unused));
942#ifdef __MigPackStructs
943#pragma pack(pop)
944#endif
945/* Struct for pure user data */
946#ifdef __MigPackStructs
947#pragma pack(push, 4)
948#endif
949 typedef struct {
950 NDR_record_t NDR;
951 mach_vm_address_t address;
952 mach_vm_size_t size;
953 vm_behavior_t new_behavior;
954 char padding[0]; /* Avoid generating empty UData structs */
955 } __RequestUData__mach_vm_behavior_set_t __attribute__((unused));
956#ifdef __MigPackStructs
957#pragma pack(pop)
958#endif
959
960#ifdef __MigPackStructs
961#pragma pack(push, 4)
962#endif
963 typedef struct {
964 mach_msg_header_t Head;
965 /* start of the kernel processed data */
966 mach_msg_body_t msgh_body;
967 mach_msg_port_descriptor_t object;
968 /* end of the kernel processed data */
969 NDR_record_t NDR;
970 mach_vm_address_t address;
971 mach_vm_size_t size;
972 mach_vm_offset_t mask;
973 int flags;
974 memory_object_offset_t offset;
975 boolean_t copy;
976 vm_prot_t cur_protection;
977 vm_prot_t max_protection;
978 vm_inherit_t inheritance;
979 } __Request__mach_vm_map_external_t __attribute__((unused));
980#ifdef __MigPackStructs
981#pragma pack(pop)
982#endif
983/* Struct for kernel processed data (Header + Descriptors) */
984#ifdef __MigPackStructs
985#pragma pack(push, 4)
986#endif
987 typedef struct {
988 mach_msg_header_t Head;
989 mach_msg_body_t msgh_body;
990 mach_msg_port_descriptor_t object;
991 } __RequestKData__mach_vm_map_external_t __attribute__((unused));
992#ifdef __MigPackStructs
993#pragma pack(pop)
994#endif
995/* Struct for pure user data */
996#ifdef __MigPackStructs
997#pragma pack(push, 4)
998#endif
999 typedef struct {
1000 NDR_record_t NDR;
1001 mach_vm_address_t address;
1002 mach_vm_size_t size;
1003 mach_vm_offset_t mask;
1004 int flags;
1005 memory_object_offset_t offset;
1006 boolean_t copy;
1007 vm_prot_t cur_protection;
1008 vm_prot_t max_protection;
1009 vm_inherit_t inheritance;
1010 char padding[0]; /* Avoid generating empty UData structs */
1011 } __RequestUData__mach_vm_map_external_t __attribute__((unused));
1012#ifdef __MigPackStructs
1013#pragma pack(pop)
1014#endif
1015
1016#ifdef __MigPackStructs
1017#pragma pack(push, 4)
1018#endif
1019 typedef struct {
1020 mach_msg_header_t Head;
1021 NDR_record_t NDR;
1022 mach_vm_address_t address;
1023 mach_vm_size_t size;
1024 vm_machine_attribute_t attribute;
1025 vm_machine_attribute_val_t value;
1026 } __Request__mach_vm_machine_attribute_t __attribute__((unused));
1027#ifdef __MigPackStructs
1028#pragma pack(pop)
1029#endif
1030/* Struct for kernel processed data (Header + Descriptors) */
1031#ifdef __MigPackStructs
1032#pragma pack(push, 4)
1033#endif
1034 typedef struct {
1035 mach_msg_header_t Head;
1036 } __RequestKData__mach_vm_machine_attribute_t __attribute__((unused));
1037#ifdef __MigPackStructs
1038#pragma pack(pop)
1039#endif
1040/* Struct for pure user data */
1041#ifdef __MigPackStructs
1042#pragma pack(push, 4)
1043#endif
1044 typedef struct {
1045 NDR_record_t NDR;
1046 mach_vm_address_t address;
1047 mach_vm_size_t size;
1048 vm_machine_attribute_t attribute;
1049 vm_machine_attribute_val_t value;
1050 char padding[0]; /* Avoid generating empty UData structs */
1051 } __RequestUData__mach_vm_machine_attribute_t __attribute__((unused));
1052#ifdef __MigPackStructs
1053#pragma pack(pop)
1054#endif
1055
1056#ifdef __MigPackStructs
1057#pragma pack(push, 4)
1058#endif
1059 typedef struct {
1060 mach_msg_header_t Head;
1061 /* start of the kernel processed data */
1062 mach_msg_body_t msgh_body;
1063 mach_msg_port_descriptor_t src_task;
1064 /* end of the kernel processed data */
1065 NDR_record_t NDR;
1066 mach_vm_address_t target_address;
1067 mach_vm_size_t size;
1068 mach_vm_offset_t mask;
1069 int flags;
1070 mach_vm_address_t src_address;
1071 boolean_t copy;
1072 vm_inherit_t inheritance;
1073 } __Request__mach_vm_remap_external_t __attribute__((unused));
1074#ifdef __MigPackStructs
1075#pragma pack(pop)
1076#endif
1077/* Struct for kernel processed data (Header + Descriptors) */
1078#ifdef __MigPackStructs
1079#pragma pack(push, 4)
1080#endif
1081 typedef struct {
1082 mach_msg_header_t Head;
1083 mach_msg_body_t msgh_body;
1084 mach_msg_port_descriptor_t src_task;
1085 } __RequestKData__mach_vm_remap_external_t __attribute__((unused));
1086#ifdef __MigPackStructs
1087#pragma pack(pop)
1088#endif
1089/* Struct for pure user data */
1090#ifdef __MigPackStructs
1091#pragma pack(push, 4)
1092#endif
1093 typedef struct {
1094 NDR_record_t NDR;
1095 mach_vm_address_t target_address;
1096 mach_vm_size_t size;
1097 mach_vm_offset_t mask;
1098 int flags;
1099 mach_vm_address_t src_address;
1100 boolean_t copy;
1101 vm_inherit_t inheritance;
1102 char padding[0]; /* Avoid generating empty UData structs */
1103 } __RequestUData__mach_vm_remap_external_t __attribute__((unused));
1104#ifdef __MigPackStructs
1105#pragma pack(pop)
1106#endif
1107
1108#ifdef __MigPackStructs
1109#pragma pack(push, 4)
1110#endif
1111 typedef struct {
1112 mach_msg_header_t Head;
1113 NDR_record_t NDR;
1114 mach_vm_offset_t offset;
1115 } __Request__mach_vm_page_query_t __attribute__((unused));
1116#ifdef __MigPackStructs
1117#pragma pack(pop)
1118#endif
1119/* Struct for kernel processed data (Header + Descriptors) */
1120#ifdef __MigPackStructs
1121#pragma pack(push, 4)
1122#endif
1123 typedef struct {
1124 mach_msg_header_t Head;
1125 } __RequestKData__mach_vm_page_query_t __attribute__((unused));
1126#ifdef __MigPackStructs
1127#pragma pack(pop)
1128#endif
1129/* Struct for pure user data */
1130#ifdef __MigPackStructs
1131#pragma pack(push, 4)
1132#endif
1133 typedef struct {
1134 NDR_record_t NDR;
1135 mach_vm_offset_t offset;
1136 char padding[0]; /* Avoid generating empty UData structs */
1137 } __RequestUData__mach_vm_page_query_t __attribute__((unused));
1138#ifdef __MigPackStructs
1139#pragma pack(pop)
1140#endif
1141
1142#ifdef __MigPackStructs
1143#pragma pack(push, 4)
1144#endif
1145 typedef struct {
1146 mach_msg_header_t Head;
1147 NDR_record_t NDR;
1148 mach_vm_address_t address;
1149 natural_t nesting_depth;
1150 mach_msg_type_number_t infoCnt;
1151 } __Request__mach_vm_region_recurse_t __attribute__((unused));
1152#ifdef __MigPackStructs
1153#pragma pack(pop)
1154#endif
1155/* Struct for kernel processed data (Header + Descriptors) */
1156#ifdef __MigPackStructs
1157#pragma pack(push, 4)
1158#endif
1159 typedef struct {
1160 mach_msg_header_t Head;
1161 } __RequestKData__mach_vm_region_recurse_t __attribute__((unused));
1162#ifdef __MigPackStructs
1163#pragma pack(pop)
1164#endif
1165/* Struct for pure user data */
1166#ifdef __MigPackStructs
1167#pragma pack(push, 4)
1168#endif
1169 typedef struct {
1170 NDR_record_t NDR;
1171 mach_vm_address_t address;
1172 natural_t nesting_depth;
1173 mach_msg_type_number_t infoCnt;
1174 char padding[0]; /* Avoid generating empty UData structs */
1175 } __RequestUData__mach_vm_region_recurse_t __attribute__((unused));
1176#ifdef __MigPackStructs
1177#pragma pack(pop)
1178#endif
1179
1180#ifdef __MigPackStructs
1181#pragma pack(push, 4)
1182#endif
1183 typedef struct {
1184 mach_msg_header_t Head;
1185 NDR_record_t NDR;
1186 mach_vm_address_t address;
1187 vm_region_flavor_t flavor;
1188 mach_msg_type_number_t infoCnt;
1189 } __Request__mach_vm_region_t __attribute__((unused));
1190#ifdef __MigPackStructs
1191#pragma pack(pop)
1192#endif
1193/* Struct for kernel processed data (Header + Descriptors) */
1194#ifdef __MigPackStructs
1195#pragma pack(push, 4)
1196#endif
1197 typedef struct {
1198 mach_msg_header_t Head;
1199 } __RequestKData__mach_vm_region_t __attribute__((unused));
1200#ifdef __MigPackStructs
1201#pragma pack(pop)
1202#endif
1203/* Struct for pure user data */
1204#ifdef __MigPackStructs
1205#pragma pack(push, 4)
1206#endif
1207 typedef struct {
1208 NDR_record_t NDR;
1209 mach_vm_address_t address;
1210 vm_region_flavor_t flavor;
1211 mach_msg_type_number_t infoCnt;
1212 char padding[0]; /* Avoid generating empty UData structs */
1213 } __RequestUData__mach_vm_region_t __attribute__((unused));
1214#ifdef __MigPackStructs
1215#pragma pack(pop)
1216#endif
1217
1218#ifdef __MigPackStructs
1219#pragma pack(push, 4)
1220#endif
1221 typedef struct {
1222 mach_msg_header_t Head;
1223 /* start of the kernel processed data */
1224 mach_msg_body_t msgh_body;
1225 mach_msg_port_descriptor_t parent_handle;
1226 /* end of the kernel processed data */
1227 NDR_record_t NDR;
1228 memory_object_size_t size;
1229 memory_object_offset_t offset;
1230 vm_prot_t permission;
1231 } __Request___mach_make_memory_entry_t __attribute__((unused));
1232#ifdef __MigPackStructs
1233#pragma pack(pop)
1234#endif
1235/* Struct for kernel processed data (Header + Descriptors) */
1236#ifdef __MigPackStructs
1237#pragma pack(push, 4)
1238#endif
1239 typedef struct {
1240 mach_msg_header_t Head;
1241 mach_msg_body_t msgh_body;
1242 mach_msg_port_descriptor_t parent_handle;
1243 } __RequestKData___mach_make_memory_entry_t __attribute__((unused));
1244#ifdef __MigPackStructs
1245#pragma pack(pop)
1246#endif
1247/* Struct for pure user data */
1248#ifdef __MigPackStructs
1249#pragma pack(push, 4)
1250#endif
1251 typedef struct {
1252 NDR_record_t NDR;
1253 memory_object_size_t size;
1254 memory_object_offset_t offset;
1255 vm_prot_t permission;
1256 char padding[0]; /* Avoid generating empty UData structs */
1257 } __RequestUData___mach_make_memory_entry_t __attribute__((unused));
1258#ifdef __MigPackStructs
1259#pragma pack(pop)
1260#endif
1261
1262#ifdef __MigPackStructs
1263#pragma pack(push, 4)
1264#endif
1265 typedef struct {
1266 mach_msg_header_t Head;
1267 NDR_record_t NDR;
1268 mach_vm_address_t address;
1269 vm_purgable_t control;
1270 int state;
1271 } __Request__mach_vm_purgable_control_external_t __attribute__((unused));
1272#ifdef __MigPackStructs
1273#pragma pack(pop)
1274#endif
1275/* Struct for kernel processed data (Header + Descriptors) */
1276#ifdef __MigPackStructs
1277#pragma pack(push, 4)
1278#endif
1279 typedef struct {
1280 mach_msg_header_t Head;
1281 } __RequestKData__mach_vm_purgable_control_external_t __attribute__((unused));
1282#ifdef __MigPackStructs
1283#pragma pack(pop)
1284#endif
1285/* Struct for pure user data */
1286#ifdef __MigPackStructs
1287#pragma pack(push, 4)
1288#endif
1289 typedef struct {
1290 NDR_record_t NDR;
1291 mach_vm_address_t address;
1292 vm_purgable_t control;
1293 int state;
1294 char padding[0]; /* Avoid generating empty UData structs */
1295 } __RequestUData__mach_vm_purgable_control_external_t __attribute__((unused));
1296#ifdef __MigPackStructs
1297#pragma pack(pop)
1298#endif
1299
1300#ifdef __MigPackStructs
1301#pragma pack(push, 4)
1302#endif
1303 typedef struct {
1304 mach_msg_header_t Head;
1305 NDR_record_t NDR;
1306 mach_vm_address_t address;
1307 vm_page_info_flavor_t flavor;
1308 mach_msg_type_number_t infoCnt;
1309 } __Request__mach_vm_page_info_t __attribute__((unused));
1310#ifdef __MigPackStructs
1311#pragma pack(pop)
1312#endif
1313/* Struct for kernel processed data (Header + Descriptors) */
1314#ifdef __MigPackStructs
1315#pragma pack(push, 4)
1316#endif
1317 typedef struct {
1318 mach_msg_header_t Head;
1319 } __RequestKData__mach_vm_page_info_t __attribute__((unused));
1320#ifdef __MigPackStructs
1321#pragma pack(pop)
1322#endif
1323/* Struct for pure user data */
1324#ifdef __MigPackStructs
1325#pragma pack(push, 4)
1326#endif
1327 typedef struct {
1328 NDR_record_t NDR;
1329 mach_vm_address_t address;
1330 vm_page_info_flavor_t flavor;
1331 mach_msg_type_number_t infoCnt;
1332 char padding[0]; /* Avoid generating empty UData structs */
1333 } __RequestUData__mach_vm_page_info_t __attribute__((unused));
1334#ifdef __MigPackStructs
1335#pragma pack(pop)
1336#endif
1337
1338#ifdef __MigPackStructs
1339#pragma pack(push, 4)
1340#endif
1341 typedef struct {
1342 mach_msg_header_t Head;
1343 NDR_record_t NDR;
1344 mach_vm_offset_t address;
1345 mach_vm_size_t size;
1346 mach_vm_address_t dispositions;
1347 mach_vm_size_t dispositions_count;
1348 } __Request__mach_vm_page_range_query_t __attribute__((unused));
1349#ifdef __MigPackStructs
1350#pragma pack(pop)
1351#endif
1352/* Struct for kernel processed data (Header + Descriptors) */
1353#ifdef __MigPackStructs
1354#pragma pack(push, 4)
1355#endif
1356 typedef struct {
1357 mach_msg_header_t Head;
1358 } __RequestKData__mach_vm_page_range_query_t __attribute__((unused));
1359#ifdef __MigPackStructs
1360#pragma pack(pop)
1361#endif
1362/* Struct for pure user data */
1363#ifdef __MigPackStructs
1364#pragma pack(push, 4)
1365#endif
1366 typedef struct {
1367 NDR_record_t NDR;
1368 mach_vm_offset_t address;
1369 mach_vm_size_t size;
1370 mach_vm_address_t dispositions;
1371 mach_vm_size_t dispositions_count;
1372 char padding[0]; /* Avoid generating empty UData structs */
1373 } __RequestUData__mach_vm_page_range_query_t __attribute__((unused));
1374#ifdef __MigPackStructs
1375#pragma pack(pop)
1376#endif
1377
1378#ifdef __MigPackStructs
1379#pragma pack(push, 4)
1380#endif
1381 typedef struct {
1382 mach_msg_header_t Head;
1383 /* start of the kernel processed data */
1384 mach_msg_body_t msgh_body;
1385 mach_msg_port_descriptor_t src_tport;
1386 /* end of the kernel processed data */
1387 NDR_record_t NDR;
1388 mach_vm_address_t target_address;
1389 mach_vm_size_t size;
1390 mach_vm_offset_t mask;
1391 int flags;
1392 mach_vm_address_t src_address;
1393 boolean_t copy;
1394 vm_prot_t cur_protection;
1395 vm_prot_t max_protection;
1396 vm_inherit_t inheritance;
1397 } __Request__mach_vm_remap_new_external_t __attribute__((unused));
1398#ifdef __MigPackStructs
1399#pragma pack(pop)
1400#endif
1401/* Struct for kernel processed data (Header + Descriptors) */
1402#ifdef __MigPackStructs
1403#pragma pack(push, 4)
1404#endif
1405 typedef struct {
1406 mach_msg_header_t Head;
1407 mach_msg_body_t msgh_body;
1408 mach_msg_port_descriptor_t src_tport;
1409 } __RequestKData__mach_vm_remap_new_external_t __attribute__((unused));
1410#ifdef __MigPackStructs
1411#pragma pack(pop)
1412#endif
1413/* Struct for pure user data */
1414#ifdef __MigPackStructs
1415#pragma pack(push, 4)
1416#endif
1417 typedef struct {
1418 NDR_record_t NDR;
1419 mach_vm_address_t target_address;
1420 mach_vm_size_t size;
1421 mach_vm_offset_t mask;
1422 int flags;
1423 mach_vm_address_t src_address;
1424 boolean_t copy;
1425 vm_prot_t cur_protection;
1426 vm_prot_t max_protection;
1427 vm_inherit_t inheritance;
1428 char padding[0]; /* Avoid generating empty UData structs */
1429 } __RequestUData__mach_vm_remap_new_external_t __attribute__((unused));
1430#ifdef __MigPackStructs
1431#pragma pack(pop)
1432#endif
1433
1434#ifdef __MigPackStructs
1435#pragma pack(push, 4)
1436#endif
1437 typedef struct {
1438 mach_msg_header_t Head;
1439 NDR_record_t NDR;
1440 mach_vm_offset_t address;
1441 mach_vm_size_t size;
1442 } __Request__mach_vm_deferred_reclamation_buffer_init_t __attribute__((unused));
1443#ifdef __MigPackStructs
1444#pragma pack(pop)
1445#endif
1446/* Struct for kernel processed data (Header + Descriptors) */
1447#ifdef __MigPackStructs
1448#pragma pack(push, 4)
1449#endif
1450 typedef struct {
1451 mach_msg_header_t Head;
1452 } __RequestKData__mach_vm_deferred_reclamation_buffer_init_t __attribute__((unused));
1453#ifdef __MigPackStructs
1454#pragma pack(pop)
1455#endif
1456/* Struct for pure user data */
1457#ifdef __MigPackStructs
1458#pragma pack(push, 4)
1459#endif
1460 typedef struct {
1461 NDR_record_t NDR;
1462 mach_vm_offset_t address;
1463 mach_vm_size_t size;
1464 char padding[0]; /* Avoid generating empty UData structs */
1465 } __RequestUData__mach_vm_deferred_reclamation_buffer_init_t __attribute__((unused));
1466#ifdef __MigPackStructs
1467#pragma pack(pop)
1468#endif
1469
1470#ifdef __MigPackStructs
1471#pragma pack(push, 4)
1472#endif
1473 typedef struct {
1474 mach_msg_header_t Head;
1475 NDR_record_t NDR;
1476 mach_vm_size_t num_entries_to_reclaim;
1477 } __Request__mach_vm_deferred_reclamation_buffer_synchronize_t __attribute__((unused));
1478#ifdef __MigPackStructs
1479#pragma pack(pop)
1480#endif
1481/* Struct for kernel processed data (Header + Descriptors) */
1482#ifdef __MigPackStructs
1483#pragma pack(push, 4)
1484#endif
1485 typedef struct {
1486 mach_msg_header_t Head;
1487 } __RequestKData__mach_vm_deferred_reclamation_buffer_synchronize_t __attribute__((unused));
1488#ifdef __MigPackStructs
1489#pragma pack(pop)
1490#endif
1491/* Struct for pure user data */
1492#ifdef __MigPackStructs
1493#pragma pack(push, 4)
1494#endif
1495 typedef struct {
1496 NDR_record_t NDR;
1497 mach_vm_size_t num_entries_to_reclaim;
1498 char padding[0]; /* Avoid generating empty UData structs */
1499 } __RequestUData__mach_vm_deferred_reclamation_buffer_synchronize_t __attribute__((unused));
1500#ifdef __MigPackStructs
1501#pragma pack(pop)
1502#endif
1503
1504#ifdef __MigPackStructs
1505#pragma pack(push, 4)
1506#endif
1507 typedef struct {
1508 mach_msg_header_t Head;
1509 NDR_record_t NDR;
1510 mach_vm_size_t reclaimable_bytes;
1511 } __Request__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t __attribute__((unused));
1512#ifdef __MigPackStructs
1513#pragma pack(pop)
1514#endif
1515/* Struct for kernel processed data (Header + Descriptors) */
1516#ifdef __MigPackStructs
1517#pragma pack(push, 4)
1518#endif
1519 typedef struct {
1520 mach_msg_header_t Head;
1521 } __RequestKData__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t __attribute__((unused));
1522#ifdef __MigPackStructs
1523#pragma pack(pop)
1524#endif
1525/* Struct for pure user data */
1526#ifdef __MigPackStructs
1527#pragma pack(push, 4)
1528#endif
1529 typedef struct {
1530 NDR_record_t NDR;
1531 mach_vm_size_t reclaimable_bytes;
1532 char padding[0]; /* Avoid generating empty UData structs */
1533 } __RequestUData__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t __attribute__((unused));
1534#ifdef __MigPackStructs
1535#pragma pack(pop)
1536#endif
1537
1538#ifdef __MigPackStructs
1539#pragma pack(push, 4)
1540#endif
1541 typedef struct {
1542 mach_msg_header_t Head;
1543 NDR_record_t NDR;
1544 mach_vm_range_flavor_t flavor;
1545 mach_msg_type_number_t recipesCnt;
1546 uint8_t recipes[1024];
1547 } __Request__mach_vm_range_create_t __attribute__((unused));
1548#ifdef __MigPackStructs
1549#pragma pack(pop)
1550#endif
1551/* Struct for kernel processed data (Header + Descriptors) */
1552#ifdef __MigPackStructs
1553#pragma pack(push, 4)
1554#endif
1555 typedef struct {
1556 mach_msg_header_t Head;
1557 } __RequestKData__mach_vm_range_create_t __attribute__((unused));
1558#ifdef __MigPackStructs
1559#pragma pack(pop)
1560#endif
1561/* Struct for pure user data */
1562#ifdef __MigPackStructs
1563#pragma pack(push, 4)
1564#endif
1565 typedef struct {
1566 NDR_record_t NDR;
1567 mach_vm_range_flavor_t flavor;
1568 mach_msg_type_number_t recipesCnt;
1569 uint8_t recipes[1024];
1570 char padding[0]; /* Avoid generating empty UData structs */
1571 } __RequestUData__mach_vm_range_create_t __attribute__((unused));
1572#ifdef __MigPackStructs
1573#pragma pack(pop)
1574#endif
1575#endif /* !__Request__mach_vm_subsystem__defined */
1576
1577
1578/* union of all requests */
1579
1580#ifndef __RequestUnion__mach_vm_subsystem__defined
1581#define __RequestUnion__mach_vm_subsystem__defined
1582union __RequestUnion__mach_vm_subsystem {
1583 __Request__mach_vm_allocate_external_t Request_mach_vm_allocate_external;
1584 __Request__mach_vm_deallocate_t Request_mach_vm_deallocate;
1585 __Request__mach_vm_protect_t Request_mach_vm_protect;
1586 __Request__mach_vm_inherit_t Request_mach_vm_inherit;
1587 __Request__mach_vm_read_t Request_mach_vm_read;
1588 __Request__mach_vm_read_list_t Request_mach_vm_read_list;
1589 __Request__mach_vm_write_t Request_mach_vm_write;
1590 __Request__mach_vm_copy_t Request_mach_vm_copy;
1591 __Request__mach_vm_read_overwrite_t Request_mach_vm_read_overwrite;
1592 __Request__mach_vm_msync_t Request_mach_vm_msync;
1593 __Request__mach_vm_behavior_set_t Request_mach_vm_behavior_set;
1594 __Request__mach_vm_map_external_t Request_mach_vm_map_external;
1595 __Request__mach_vm_machine_attribute_t Request_mach_vm_machine_attribute;
1596 __Request__mach_vm_remap_external_t Request_mach_vm_remap_external;
1597 __Request__mach_vm_page_query_t Request_mach_vm_page_query;
1598 __Request__mach_vm_region_recurse_t Request_mach_vm_region_recurse;
1599 __Request__mach_vm_region_t Request_mach_vm_region;
1600 __Request___mach_make_memory_entry_t Request__mach_make_memory_entry;
1601 __Request__mach_vm_purgable_control_external_t Request_mach_vm_purgable_control_external;
1602 __Request__mach_vm_page_info_t Request_mach_vm_page_info;
1603 __Request__mach_vm_page_range_query_t Request_mach_vm_page_range_query;
1604 __Request__mach_vm_remap_new_external_t Request_mach_vm_remap_new_external;
1605 __Request__mach_vm_deferred_reclamation_buffer_init_t Request_mach_vm_deferred_reclamation_buffer_init;
1606 __Request__mach_vm_deferred_reclamation_buffer_synchronize_t Request_mach_vm_deferred_reclamation_buffer_synchronize;
1607 __Request__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t Request_mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes;
1608 __Request__mach_vm_range_create_t Request_mach_vm_range_create;
1609};
1610#endif /* __RequestUnion__mach_vm_subsystem__defined */
1611/* typedefs for all replies */
1612
1613#ifndef __Reply__mach_vm_subsystem__defined
1614#define __Reply__mach_vm_subsystem__defined
1615
1616#ifdef __MigPackStructs
1617#pragma pack(push, 4)
1618#endif
1619 typedef struct {
1620 mach_msg_header_t Head;
1621 NDR_record_t NDR;
1622 kern_return_t RetCode;
1623 mach_vm_address_t address;
1624 } __Reply__mach_vm_allocate_external_t __attribute__((unused));
1625#ifdef __MigPackStructs
1626#pragma pack(pop)
1627#endif
1628/* Struct for kernel processed data (Header + Descriptors) */
1629#ifdef __MigPackStructs
1630#pragma pack(push, 4)
1631#endif
1632 typedef struct {
1633 mach_msg_header_t Head;
1634 } __ReplyKData__mach_vm_allocate_external_t __attribute__((unused));
1635#ifdef __MigPackStructs
1636#pragma pack(pop)
1637#endif
1638/* Struct for pure user data */
1639#ifdef __MigPackStructs
1640#pragma pack(push, 4)
1641#endif
1642 typedef struct {
1643 NDR_record_t NDR;
1644 kern_return_t RetCode;
1645 mach_vm_address_t address;
1646 char padding[0]; /* Avoid generating empty UData structs */
1647 } __ReplyUData__mach_vm_allocate_external_t __attribute__((unused));
1648#ifdef __MigPackStructs
1649#pragma pack(pop)
1650#endif
1651
1652#ifdef __MigPackStructs
1653#pragma pack(push, 4)
1654#endif
1655 typedef struct {
1656 mach_msg_header_t Head;
1657 NDR_record_t NDR;
1658 kern_return_t RetCode;
1659 } __Reply__mach_vm_deallocate_t __attribute__((unused));
1660#ifdef __MigPackStructs
1661#pragma pack(pop)
1662#endif
1663/* Struct for kernel processed data (Header + Descriptors) */
1664#ifdef __MigPackStructs
1665#pragma pack(push, 4)
1666#endif
1667 typedef struct {
1668 mach_msg_header_t Head;
1669 } __ReplyKData__mach_vm_deallocate_t __attribute__((unused));
1670#ifdef __MigPackStructs
1671#pragma pack(pop)
1672#endif
1673/* Struct for pure user data */
1674#ifdef __MigPackStructs
1675#pragma pack(push, 4)
1676#endif
1677 typedef struct {
1678 NDR_record_t NDR;
1679 kern_return_t RetCode;
1680 char padding[0]; /* Avoid generating empty UData structs */
1681 } __ReplyUData__mach_vm_deallocate_t __attribute__((unused));
1682#ifdef __MigPackStructs
1683#pragma pack(pop)
1684#endif
1685
1686#ifdef __MigPackStructs
1687#pragma pack(push, 4)
1688#endif
1689 typedef struct {
1690 mach_msg_header_t Head;
1691 NDR_record_t NDR;
1692 kern_return_t RetCode;
1693 } __Reply__mach_vm_protect_t __attribute__((unused));
1694#ifdef __MigPackStructs
1695#pragma pack(pop)
1696#endif
1697/* Struct for kernel processed data (Header + Descriptors) */
1698#ifdef __MigPackStructs
1699#pragma pack(push, 4)
1700#endif
1701 typedef struct {
1702 mach_msg_header_t Head;
1703 } __ReplyKData__mach_vm_protect_t __attribute__((unused));
1704#ifdef __MigPackStructs
1705#pragma pack(pop)
1706#endif
1707/* Struct for pure user data */
1708#ifdef __MigPackStructs
1709#pragma pack(push, 4)
1710#endif
1711 typedef struct {
1712 NDR_record_t NDR;
1713 kern_return_t RetCode;
1714 char padding[0]; /* Avoid generating empty UData structs */
1715 } __ReplyUData__mach_vm_protect_t __attribute__((unused));
1716#ifdef __MigPackStructs
1717#pragma pack(pop)
1718#endif
1719
1720#ifdef __MigPackStructs
1721#pragma pack(push, 4)
1722#endif
1723 typedef struct {
1724 mach_msg_header_t Head;
1725 NDR_record_t NDR;
1726 kern_return_t RetCode;
1727 } __Reply__mach_vm_inherit_t __attribute__((unused));
1728#ifdef __MigPackStructs
1729#pragma pack(pop)
1730#endif
1731/* Struct for kernel processed data (Header + Descriptors) */
1732#ifdef __MigPackStructs
1733#pragma pack(push, 4)
1734#endif
1735 typedef struct {
1736 mach_msg_header_t Head;
1737 } __ReplyKData__mach_vm_inherit_t __attribute__((unused));
1738#ifdef __MigPackStructs
1739#pragma pack(pop)
1740#endif
1741/* Struct for pure user data */
1742#ifdef __MigPackStructs
1743#pragma pack(push, 4)
1744#endif
1745 typedef struct {
1746 NDR_record_t NDR;
1747 kern_return_t RetCode;
1748 char padding[0]; /* Avoid generating empty UData structs */
1749 } __ReplyUData__mach_vm_inherit_t __attribute__((unused));
1750#ifdef __MigPackStructs
1751#pragma pack(pop)
1752#endif
1753
1754#ifdef __MigPackStructs
1755#pragma pack(push, 4)
1756#endif
1757 typedef struct {
1758 mach_msg_header_t Head;
1759 /* start of the kernel processed data */
1760 mach_msg_body_t msgh_body;
1761 mach_msg_ool_descriptor_t data;
1762 /* end of the kernel processed data */
1763 NDR_record_t NDR;
1764 mach_msg_type_number_t dataCnt;
1765 } __Reply__mach_vm_read_t __attribute__((unused));
1766#ifdef __MigPackStructs
1767#pragma pack(pop)
1768#endif
1769/* Struct for kernel processed data (Header + Descriptors) */
1770#ifdef __MigPackStructs
1771#pragma pack(push, 4)
1772#endif
1773 typedef struct {
1774 mach_msg_header_t Head;
1775 mach_msg_body_t msgh_body;
1776 mach_msg_ool_descriptor_t data;
1777 } __ReplyKData__mach_vm_read_t __attribute__((unused));
1778#ifdef __MigPackStructs
1779#pragma pack(pop)
1780#endif
1781/* Struct for pure user data */
1782#ifdef __MigPackStructs
1783#pragma pack(push, 4)
1784#endif
1785 typedef struct {
1786 NDR_record_t NDR;
1787 mach_msg_type_number_t dataCnt;
1788 char padding[0]; /* Avoid generating empty UData structs */
1789 } __ReplyUData__mach_vm_read_t __attribute__((unused));
1790#ifdef __MigPackStructs
1791#pragma pack(pop)
1792#endif
1793
1794#ifdef __MigPackStructs
1795#pragma pack(push, 4)
1796#endif
1797 typedef struct {
1798 mach_msg_header_t Head;
1799 NDR_record_t NDR;
1800 kern_return_t RetCode;
1801 mach_vm_read_entry_t data_list;
1802 } __Reply__mach_vm_read_list_t __attribute__((unused));
1803#ifdef __MigPackStructs
1804#pragma pack(pop)
1805#endif
1806/* Struct for kernel processed data (Header + Descriptors) */
1807#ifdef __MigPackStructs
1808#pragma pack(push, 4)
1809#endif
1810 typedef struct {
1811 mach_msg_header_t Head;
1812 } __ReplyKData__mach_vm_read_list_t __attribute__((unused));
1813#ifdef __MigPackStructs
1814#pragma pack(pop)
1815#endif
1816/* Struct for pure user data */
1817#ifdef __MigPackStructs
1818#pragma pack(push, 4)
1819#endif
1820 typedef struct {
1821 NDR_record_t NDR;
1822 kern_return_t RetCode;
1823 mach_vm_read_entry_t data_list;
1824 char padding[0]; /* Avoid generating empty UData structs */
1825 } __ReplyUData__mach_vm_read_list_t __attribute__((unused));
1826#ifdef __MigPackStructs
1827#pragma pack(pop)
1828#endif
1829
1830#ifdef __MigPackStructs
1831#pragma pack(push, 4)
1832#endif
1833 typedef struct {
1834 mach_msg_header_t Head;
1835 NDR_record_t NDR;
1836 kern_return_t RetCode;
1837 } __Reply__mach_vm_write_t __attribute__((unused));
1838#ifdef __MigPackStructs
1839#pragma pack(pop)
1840#endif
1841/* Struct for kernel processed data (Header + Descriptors) */
1842#ifdef __MigPackStructs
1843#pragma pack(push, 4)
1844#endif
1845 typedef struct {
1846 mach_msg_header_t Head;
1847 } __ReplyKData__mach_vm_write_t __attribute__((unused));
1848#ifdef __MigPackStructs
1849#pragma pack(pop)
1850#endif
1851/* Struct for pure user data */
1852#ifdef __MigPackStructs
1853#pragma pack(push, 4)
1854#endif
1855 typedef struct {
1856 NDR_record_t NDR;
1857 kern_return_t RetCode;
1858 char padding[0]; /* Avoid generating empty UData structs */
1859 } __ReplyUData__mach_vm_write_t __attribute__((unused));
1860#ifdef __MigPackStructs
1861#pragma pack(pop)
1862#endif
1863
1864#ifdef __MigPackStructs
1865#pragma pack(push, 4)
1866#endif
1867 typedef struct {
1868 mach_msg_header_t Head;
1869 NDR_record_t NDR;
1870 kern_return_t RetCode;
1871 } __Reply__mach_vm_copy_t __attribute__((unused));
1872#ifdef __MigPackStructs
1873#pragma pack(pop)
1874#endif
1875/* Struct for kernel processed data (Header + Descriptors) */
1876#ifdef __MigPackStructs
1877#pragma pack(push, 4)
1878#endif
1879 typedef struct {
1880 mach_msg_header_t Head;
1881 } __ReplyKData__mach_vm_copy_t __attribute__((unused));
1882#ifdef __MigPackStructs
1883#pragma pack(pop)
1884#endif
1885/* Struct for pure user data */
1886#ifdef __MigPackStructs
1887#pragma pack(push, 4)
1888#endif
1889 typedef struct {
1890 NDR_record_t NDR;
1891 kern_return_t RetCode;
1892 char padding[0]; /* Avoid generating empty UData structs */
1893 } __ReplyUData__mach_vm_copy_t __attribute__((unused));
1894#ifdef __MigPackStructs
1895#pragma pack(pop)
1896#endif
1897
1898#ifdef __MigPackStructs
1899#pragma pack(push, 4)
1900#endif
1901 typedef struct {
1902 mach_msg_header_t Head;
1903 NDR_record_t NDR;
1904 kern_return_t RetCode;
1905 mach_vm_size_t outsize;
1906 } __Reply__mach_vm_read_overwrite_t __attribute__((unused));
1907#ifdef __MigPackStructs
1908#pragma pack(pop)
1909#endif
1910/* Struct for kernel processed data (Header + Descriptors) */
1911#ifdef __MigPackStructs
1912#pragma pack(push, 4)
1913#endif
1914 typedef struct {
1915 mach_msg_header_t Head;
1916 } __ReplyKData__mach_vm_read_overwrite_t __attribute__((unused));
1917#ifdef __MigPackStructs
1918#pragma pack(pop)
1919#endif
1920/* Struct for pure user data */
1921#ifdef __MigPackStructs
1922#pragma pack(push, 4)
1923#endif
1924 typedef struct {
1925 NDR_record_t NDR;
1926 kern_return_t RetCode;
1927 mach_vm_size_t outsize;
1928 char padding[0]; /* Avoid generating empty UData structs */
1929 } __ReplyUData__mach_vm_read_overwrite_t __attribute__((unused));
1930#ifdef __MigPackStructs
1931#pragma pack(pop)
1932#endif
1933
1934#ifdef __MigPackStructs
1935#pragma pack(push, 4)
1936#endif
1937 typedef struct {
1938 mach_msg_header_t Head;
1939 NDR_record_t NDR;
1940 kern_return_t RetCode;
1941 } __Reply__mach_vm_msync_t __attribute__((unused));
1942#ifdef __MigPackStructs
1943#pragma pack(pop)
1944#endif
1945/* Struct for kernel processed data (Header + Descriptors) */
1946#ifdef __MigPackStructs
1947#pragma pack(push, 4)
1948#endif
1949 typedef struct {
1950 mach_msg_header_t Head;
1951 } __ReplyKData__mach_vm_msync_t __attribute__((unused));
1952#ifdef __MigPackStructs
1953#pragma pack(pop)
1954#endif
1955/* Struct for pure user data */
1956#ifdef __MigPackStructs
1957#pragma pack(push, 4)
1958#endif
1959 typedef struct {
1960 NDR_record_t NDR;
1961 kern_return_t RetCode;
1962 char padding[0]; /* Avoid generating empty UData structs */
1963 } __ReplyUData__mach_vm_msync_t __attribute__((unused));
1964#ifdef __MigPackStructs
1965#pragma pack(pop)
1966#endif
1967
1968#ifdef __MigPackStructs
1969#pragma pack(push, 4)
1970#endif
1971 typedef struct {
1972 mach_msg_header_t Head;
1973 NDR_record_t NDR;
1974 kern_return_t RetCode;
1975 } __Reply__mach_vm_behavior_set_t __attribute__((unused));
1976#ifdef __MigPackStructs
1977#pragma pack(pop)
1978#endif
1979/* Struct for kernel processed data (Header + Descriptors) */
1980#ifdef __MigPackStructs
1981#pragma pack(push, 4)
1982#endif
1983 typedef struct {
1984 mach_msg_header_t Head;
1985 } __ReplyKData__mach_vm_behavior_set_t __attribute__((unused));
1986#ifdef __MigPackStructs
1987#pragma pack(pop)
1988#endif
1989/* Struct for pure user data */
1990#ifdef __MigPackStructs
1991#pragma pack(push, 4)
1992#endif
1993 typedef struct {
1994 NDR_record_t NDR;
1995 kern_return_t RetCode;
1996 char padding[0]; /* Avoid generating empty UData structs */
1997 } __ReplyUData__mach_vm_behavior_set_t __attribute__((unused));
1998#ifdef __MigPackStructs
1999#pragma pack(pop)
2000#endif
2001
2002#ifdef __MigPackStructs
2003#pragma pack(push, 4)
2004#endif
2005 typedef struct {
2006 mach_msg_header_t Head;
2007 NDR_record_t NDR;
2008 kern_return_t RetCode;
2009 mach_vm_address_t address;
2010 } __Reply__mach_vm_map_external_t __attribute__((unused));
2011#ifdef __MigPackStructs
2012#pragma pack(pop)
2013#endif
2014/* Struct for kernel processed data (Header + Descriptors) */
2015#ifdef __MigPackStructs
2016#pragma pack(push, 4)
2017#endif
2018 typedef struct {
2019 mach_msg_header_t Head;
2020 } __ReplyKData__mach_vm_map_external_t __attribute__((unused));
2021#ifdef __MigPackStructs
2022#pragma pack(pop)
2023#endif
2024/* Struct for pure user data */
2025#ifdef __MigPackStructs
2026#pragma pack(push, 4)
2027#endif
2028 typedef struct {
2029 NDR_record_t NDR;
2030 kern_return_t RetCode;
2031 mach_vm_address_t address;
2032 char padding[0]; /* Avoid generating empty UData structs */
2033 } __ReplyUData__mach_vm_map_external_t __attribute__((unused));
2034#ifdef __MigPackStructs
2035#pragma pack(pop)
2036#endif
2037
2038#ifdef __MigPackStructs
2039#pragma pack(push, 4)
2040#endif
2041 typedef struct {
2042 mach_msg_header_t Head;
2043 NDR_record_t NDR;
2044 kern_return_t RetCode;
2045 vm_machine_attribute_val_t value;
2046 } __Reply__mach_vm_machine_attribute_t __attribute__((unused));
2047#ifdef __MigPackStructs
2048#pragma pack(pop)
2049#endif
2050/* Struct for kernel processed data (Header + Descriptors) */
2051#ifdef __MigPackStructs
2052#pragma pack(push, 4)
2053#endif
2054 typedef struct {
2055 mach_msg_header_t Head;
2056 } __ReplyKData__mach_vm_machine_attribute_t __attribute__((unused));
2057#ifdef __MigPackStructs
2058#pragma pack(pop)
2059#endif
2060/* Struct for pure user data */
2061#ifdef __MigPackStructs
2062#pragma pack(push, 4)
2063#endif
2064 typedef struct {
2065 NDR_record_t NDR;
2066 kern_return_t RetCode;
2067 vm_machine_attribute_val_t value;
2068 char padding[0]; /* Avoid generating empty UData structs */
2069 } __ReplyUData__mach_vm_machine_attribute_t __attribute__((unused));
2070#ifdef __MigPackStructs
2071#pragma pack(pop)
2072#endif
2073
2074#ifdef __MigPackStructs
2075#pragma pack(push, 4)
2076#endif
2077 typedef struct {
2078 mach_msg_header_t Head;
2079 NDR_record_t NDR;
2080 kern_return_t RetCode;
2081 mach_vm_address_t target_address;
2082 vm_prot_t cur_protection;
2083 vm_prot_t max_protection;
2084 } __Reply__mach_vm_remap_external_t __attribute__((unused));
2085#ifdef __MigPackStructs
2086#pragma pack(pop)
2087#endif
2088/* Struct for kernel processed data (Header + Descriptors) */
2089#ifdef __MigPackStructs
2090#pragma pack(push, 4)
2091#endif
2092 typedef struct {
2093 mach_msg_header_t Head;
2094 } __ReplyKData__mach_vm_remap_external_t __attribute__((unused));
2095#ifdef __MigPackStructs
2096#pragma pack(pop)
2097#endif
2098/* Struct for pure user data */
2099#ifdef __MigPackStructs
2100#pragma pack(push, 4)
2101#endif
2102 typedef struct {
2103 NDR_record_t NDR;
2104 kern_return_t RetCode;
2105 mach_vm_address_t target_address;
2106 vm_prot_t cur_protection;
2107 vm_prot_t max_protection;
2108 char padding[0]; /* Avoid generating empty UData structs */
2109 } __ReplyUData__mach_vm_remap_external_t __attribute__((unused));
2110#ifdef __MigPackStructs
2111#pragma pack(pop)
2112#endif
2113
2114#ifdef __MigPackStructs
2115#pragma pack(push, 4)
2116#endif
2117 typedef struct {
2118 mach_msg_header_t Head;
2119 NDR_record_t NDR;
2120 kern_return_t RetCode;
2121 integer_t disposition;
2122 integer_t ref_count;
2123 } __Reply__mach_vm_page_query_t __attribute__((unused));
2124#ifdef __MigPackStructs
2125#pragma pack(pop)
2126#endif
2127/* Struct for kernel processed data (Header + Descriptors) */
2128#ifdef __MigPackStructs
2129#pragma pack(push, 4)
2130#endif
2131 typedef struct {
2132 mach_msg_header_t Head;
2133 } __ReplyKData__mach_vm_page_query_t __attribute__((unused));
2134#ifdef __MigPackStructs
2135#pragma pack(pop)
2136#endif
2137/* Struct for pure user data */
2138#ifdef __MigPackStructs
2139#pragma pack(push, 4)
2140#endif
2141 typedef struct {
2142 NDR_record_t NDR;
2143 kern_return_t RetCode;
2144 integer_t disposition;
2145 integer_t ref_count;
2146 char padding[0]; /* Avoid generating empty UData structs */
2147 } __ReplyUData__mach_vm_page_query_t __attribute__((unused));
2148#ifdef __MigPackStructs
2149#pragma pack(pop)
2150#endif
2151
2152#ifdef __MigPackStructs
2153#pragma pack(push, 4)
2154#endif
2155 typedef struct {
2156 mach_msg_header_t Head;
2157 NDR_record_t NDR;
2158 kern_return_t RetCode;
2159 mach_vm_address_t address;
2160 mach_vm_size_t size;
2161 natural_t nesting_depth;
2162 mach_msg_type_number_t infoCnt;
2163 int info[19];
2164 } __Reply__mach_vm_region_recurse_t __attribute__((unused));
2165#ifdef __MigPackStructs
2166#pragma pack(pop)
2167#endif
2168/* Struct for kernel processed data (Header + Descriptors) */
2169#ifdef __MigPackStructs
2170#pragma pack(push, 4)
2171#endif
2172 typedef struct {
2173 mach_msg_header_t Head;
2174 } __ReplyKData__mach_vm_region_recurse_t __attribute__((unused));
2175#ifdef __MigPackStructs
2176#pragma pack(pop)
2177#endif
2178/* Struct for pure user data */
2179#ifdef __MigPackStructs
2180#pragma pack(push, 4)
2181#endif
2182 typedef struct {
2183 NDR_record_t NDR;
2184 kern_return_t RetCode;
2185 mach_vm_address_t address;
2186 mach_vm_size_t size;
2187 natural_t nesting_depth;
2188 mach_msg_type_number_t infoCnt;
2189 int info[19];
2190 char padding[0]; /* Avoid generating empty UData structs */
2191 } __ReplyUData__mach_vm_region_recurse_t __attribute__((unused));
2192#ifdef __MigPackStructs
2193#pragma pack(pop)
2194#endif
2195
2196#ifdef __MigPackStructs
2197#pragma pack(push, 4)
2198#endif
2199 typedef struct {
2200 mach_msg_header_t Head;
2201 /* start of the kernel processed data */
2202 mach_msg_body_t msgh_body;
2203 mach_msg_port_descriptor_t object_name;
2204 /* end of the kernel processed data */
2205 NDR_record_t NDR;
2206 mach_vm_address_t address;
2207 mach_vm_size_t size;
2208 mach_msg_type_number_t infoCnt;
2209 int info[10];
2210 } __Reply__mach_vm_region_t __attribute__((unused));
2211#ifdef __MigPackStructs
2212#pragma pack(pop)
2213#endif
2214/* Struct for kernel processed data (Header + Descriptors) */
2215#ifdef __MigPackStructs
2216#pragma pack(push, 4)
2217#endif
2218 typedef struct {
2219 mach_msg_header_t Head;
2220 mach_msg_body_t msgh_body;
2221 mach_msg_port_descriptor_t object_name;
2222 } __ReplyKData__mach_vm_region_t __attribute__((unused));
2223#ifdef __MigPackStructs
2224#pragma pack(pop)
2225#endif
2226/* Struct for pure user data */
2227#ifdef __MigPackStructs
2228#pragma pack(push, 4)
2229#endif
2230 typedef struct {
2231 NDR_record_t NDR;
2232 mach_vm_address_t address;
2233 mach_vm_size_t size;
2234 mach_msg_type_number_t infoCnt;
2235 int info[10];
2236 char padding[0]; /* Avoid generating empty UData structs */
2237 } __ReplyUData__mach_vm_region_t __attribute__((unused));
2238#ifdef __MigPackStructs
2239#pragma pack(pop)
2240#endif
2241
2242#ifdef __MigPackStructs
2243#pragma pack(push, 4)
2244#endif
2245 typedef struct {
2246 mach_msg_header_t Head;
2247 /* start of the kernel processed data */
2248 mach_msg_body_t msgh_body;
2249 mach_msg_port_descriptor_t object_handle;
2250 /* end of the kernel processed data */
2251 NDR_record_t NDR;
2252 memory_object_size_t size;
2253 } __Reply___mach_make_memory_entry_t __attribute__((unused));
2254#ifdef __MigPackStructs
2255#pragma pack(pop)
2256#endif
2257/* Struct for kernel processed data (Header + Descriptors) */
2258#ifdef __MigPackStructs
2259#pragma pack(push, 4)
2260#endif
2261 typedef struct {
2262 mach_msg_header_t Head;
2263 mach_msg_body_t msgh_body;
2264 mach_msg_port_descriptor_t object_handle;
2265 } __ReplyKData___mach_make_memory_entry_t __attribute__((unused));
2266#ifdef __MigPackStructs
2267#pragma pack(pop)
2268#endif
2269/* Struct for pure user data */
2270#ifdef __MigPackStructs
2271#pragma pack(push, 4)
2272#endif
2273 typedef struct {
2274 NDR_record_t NDR;
2275 memory_object_size_t size;
2276 char padding[0]; /* Avoid generating empty UData structs */
2277 } __ReplyUData___mach_make_memory_entry_t __attribute__((unused));
2278#ifdef __MigPackStructs
2279#pragma pack(pop)
2280#endif
2281
2282#ifdef __MigPackStructs
2283#pragma pack(push, 4)
2284#endif
2285 typedef struct {
2286 mach_msg_header_t Head;
2287 NDR_record_t NDR;
2288 kern_return_t RetCode;
2289 int state;
2290 } __Reply__mach_vm_purgable_control_external_t __attribute__((unused));
2291#ifdef __MigPackStructs
2292#pragma pack(pop)
2293#endif
2294/* Struct for kernel processed data (Header + Descriptors) */
2295#ifdef __MigPackStructs
2296#pragma pack(push, 4)
2297#endif
2298 typedef struct {
2299 mach_msg_header_t Head;
2300 } __ReplyKData__mach_vm_purgable_control_external_t __attribute__((unused));
2301#ifdef __MigPackStructs
2302#pragma pack(pop)
2303#endif
2304/* Struct for pure user data */
2305#ifdef __MigPackStructs
2306#pragma pack(push, 4)
2307#endif
2308 typedef struct {
2309 NDR_record_t NDR;
2310 kern_return_t RetCode;
2311 int state;
2312 char padding[0]; /* Avoid generating empty UData structs */
2313 } __ReplyUData__mach_vm_purgable_control_external_t __attribute__((unused));
2314#ifdef __MigPackStructs
2315#pragma pack(pop)
2316#endif
2317
2318#ifdef __MigPackStructs
2319#pragma pack(push, 4)
2320#endif
2321 typedef struct {
2322 mach_msg_header_t Head;
2323 NDR_record_t NDR;
2324 kern_return_t RetCode;
2325 mach_msg_type_number_t infoCnt;
2326 int info[32];
2327 } __Reply__mach_vm_page_info_t __attribute__((unused));
2328#ifdef __MigPackStructs
2329#pragma pack(pop)
2330#endif
2331/* Struct for kernel processed data (Header + Descriptors) */
2332#ifdef __MigPackStructs
2333#pragma pack(push, 4)
2334#endif
2335 typedef struct {
2336 mach_msg_header_t Head;
2337 } __ReplyKData__mach_vm_page_info_t __attribute__((unused));
2338#ifdef __MigPackStructs
2339#pragma pack(pop)
2340#endif
2341/* Struct for pure user data */
2342#ifdef __MigPackStructs
2343#pragma pack(push, 4)
2344#endif
2345 typedef struct {
2346 NDR_record_t NDR;
2347 kern_return_t RetCode;
2348 mach_msg_type_number_t infoCnt;
2349 int info[32];
2350 char padding[0]; /* Avoid generating empty UData structs */
2351 } __ReplyUData__mach_vm_page_info_t __attribute__((unused));
2352#ifdef __MigPackStructs
2353#pragma pack(pop)
2354#endif
2355
2356#ifdef __MigPackStructs
2357#pragma pack(push, 4)
2358#endif
2359 typedef struct {
2360 mach_msg_header_t Head;
2361 NDR_record_t NDR;
2362 kern_return_t RetCode;
2363 mach_vm_size_t dispositions_count;
2364 } __Reply__mach_vm_page_range_query_t __attribute__((unused));
2365#ifdef __MigPackStructs
2366#pragma pack(pop)
2367#endif
2368/* Struct for kernel processed data (Header + Descriptors) */
2369#ifdef __MigPackStructs
2370#pragma pack(push, 4)
2371#endif
2372 typedef struct {
2373 mach_msg_header_t Head;
2374 } __ReplyKData__mach_vm_page_range_query_t __attribute__((unused));
2375#ifdef __MigPackStructs
2376#pragma pack(pop)
2377#endif
2378/* Struct for pure user data */
2379#ifdef __MigPackStructs
2380#pragma pack(push, 4)
2381#endif
2382 typedef struct {
2383 NDR_record_t NDR;
2384 kern_return_t RetCode;
2385 mach_vm_size_t dispositions_count;
2386 char padding[0]; /* Avoid generating empty UData structs */
2387 } __ReplyUData__mach_vm_page_range_query_t __attribute__((unused));
2388#ifdef __MigPackStructs
2389#pragma pack(pop)
2390#endif
2391
2392#ifdef __MigPackStructs
2393#pragma pack(push, 4)
2394#endif
2395 typedef struct {
2396 mach_msg_header_t Head;
2397 NDR_record_t NDR;
2398 kern_return_t RetCode;
2399 mach_vm_address_t target_address;
2400 vm_prot_t cur_protection;
2401 vm_prot_t max_protection;
2402 } __Reply__mach_vm_remap_new_external_t __attribute__((unused));
2403#ifdef __MigPackStructs
2404#pragma pack(pop)
2405#endif
2406/* Struct for kernel processed data (Header + Descriptors) */
2407#ifdef __MigPackStructs
2408#pragma pack(push, 4)
2409#endif
2410 typedef struct {
2411 mach_msg_header_t Head;
2412 } __ReplyKData__mach_vm_remap_new_external_t __attribute__((unused));
2413#ifdef __MigPackStructs
2414#pragma pack(pop)
2415#endif
2416/* Struct for pure user data */
2417#ifdef __MigPackStructs
2418#pragma pack(push, 4)
2419#endif
2420 typedef struct {
2421 NDR_record_t NDR;
2422 kern_return_t RetCode;
2423 mach_vm_address_t target_address;
2424 vm_prot_t cur_protection;
2425 vm_prot_t max_protection;
2426 char padding[0]; /* Avoid generating empty UData structs */
2427 } __ReplyUData__mach_vm_remap_new_external_t __attribute__((unused));
2428#ifdef __MigPackStructs
2429#pragma pack(pop)
2430#endif
2431
2432#ifdef __MigPackStructs
2433#pragma pack(push, 4)
2434#endif
2435 typedef struct {
2436 mach_msg_header_t Head;
2437 NDR_record_t NDR;
2438 kern_return_t RetCode;
2439 } __Reply__mach_vm_deferred_reclamation_buffer_init_t __attribute__((unused));
2440#ifdef __MigPackStructs
2441#pragma pack(pop)
2442#endif
2443/* Struct for kernel processed data (Header + Descriptors) */
2444#ifdef __MigPackStructs
2445#pragma pack(push, 4)
2446#endif
2447 typedef struct {
2448 mach_msg_header_t Head;
2449 } __ReplyKData__mach_vm_deferred_reclamation_buffer_init_t __attribute__((unused));
2450#ifdef __MigPackStructs
2451#pragma pack(pop)
2452#endif
2453/* Struct for pure user data */
2454#ifdef __MigPackStructs
2455#pragma pack(push, 4)
2456#endif
2457 typedef struct {
2458 NDR_record_t NDR;
2459 kern_return_t RetCode;
2460 char padding[0]; /* Avoid generating empty UData structs */
2461 } __ReplyUData__mach_vm_deferred_reclamation_buffer_init_t __attribute__((unused));
2462#ifdef __MigPackStructs
2463#pragma pack(pop)
2464#endif
2465
2466#ifdef __MigPackStructs
2467#pragma pack(push, 4)
2468#endif
2469 typedef struct {
2470 mach_msg_header_t Head;
2471 NDR_record_t NDR;
2472 kern_return_t RetCode;
2473 } __Reply__mach_vm_deferred_reclamation_buffer_synchronize_t __attribute__((unused));
2474#ifdef __MigPackStructs
2475#pragma pack(pop)
2476#endif
2477/* Struct for kernel processed data (Header + Descriptors) */
2478#ifdef __MigPackStructs
2479#pragma pack(push, 4)
2480#endif
2481 typedef struct {
2482 mach_msg_header_t Head;
2483 } __ReplyKData__mach_vm_deferred_reclamation_buffer_synchronize_t __attribute__((unused));
2484#ifdef __MigPackStructs
2485#pragma pack(pop)
2486#endif
2487/* Struct for pure user data */
2488#ifdef __MigPackStructs
2489#pragma pack(push, 4)
2490#endif
2491 typedef struct {
2492 NDR_record_t NDR;
2493 kern_return_t RetCode;
2494 char padding[0]; /* Avoid generating empty UData structs */
2495 } __ReplyUData__mach_vm_deferred_reclamation_buffer_synchronize_t __attribute__((unused));
2496#ifdef __MigPackStructs
2497#pragma pack(pop)
2498#endif
2499
2500#ifdef __MigPackStructs
2501#pragma pack(push, 4)
2502#endif
2503 typedef struct {
2504 mach_msg_header_t Head;
2505 NDR_record_t NDR;
2506 kern_return_t RetCode;
2507 } __Reply__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t __attribute__((unused));
2508#ifdef __MigPackStructs
2509#pragma pack(pop)
2510#endif
2511/* Struct for kernel processed data (Header + Descriptors) */
2512#ifdef __MigPackStructs
2513#pragma pack(push, 4)
2514#endif
2515 typedef struct {
2516 mach_msg_header_t Head;
2517 } __ReplyKData__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t __attribute__((unused));
2518#ifdef __MigPackStructs
2519#pragma pack(pop)
2520#endif
2521/* Struct for pure user data */
2522#ifdef __MigPackStructs
2523#pragma pack(push, 4)
2524#endif
2525 typedef struct {
2526 NDR_record_t NDR;
2527 kern_return_t RetCode;
2528 char padding[0]; /* Avoid generating empty UData structs */
2529 } __ReplyUData__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t __attribute__((unused));
2530#ifdef __MigPackStructs
2531#pragma pack(pop)
2532#endif
2533
2534#ifdef __MigPackStructs
2535#pragma pack(push, 4)
2536#endif
2537 typedef struct {
2538 mach_msg_header_t Head;
2539 NDR_record_t NDR;
2540 kern_return_t RetCode;
2541 } __Reply__mach_vm_range_create_t __attribute__((unused));
2542#ifdef __MigPackStructs
2543#pragma pack(pop)
2544#endif
2545/* Struct for kernel processed data (Header + Descriptors) */
2546#ifdef __MigPackStructs
2547#pragma pack(push, 4)
2548#endif
2549 typedef struct {
2550 mach_msg_header_t Head;
2551 } __ReplyKData__mach_vm_range_create_t __attribute__((unused));
2552#ifdef __MigPackStructs
2553#pragma pack(pop)
2554#endif
2555/* Struct for pure user data */
2556#ifdef __MigPackStructs
2557#pragma pack(push, 4)
2558#endif
2559 typedef struct {
2560 NDR_record_t NDR;
2561 kern_return_t RetCode;
2562 char padding[0]; /* Avoid generating empty UData structs */
2563 } __ReplyUData__mach_vm_range_create_t __attribute__((unused));
2564#ifdef __MigPackStructs
2565#pragma pack(pop)
2566#endif
2567#endif /* !__Reply__mach_vm_subsystem__defined */
2568
2569
2570/* union of all replies */
2571
2572#ifndef __ReplyUnion__mach_vm_subsystem__defined
2573#define __ReplyUnion__mach_vm_subsystem__defined
2574union __ReplyUnion__mach_vm_subsystem {
2575 __Reply__mach_vm_allocate_external_t Reply_mach_vm_allocate_external;
2576 __Reply__mach_vm_deallocate_t Reply_mach_vm_deallocate;
2577 __Reply__mach_vm_protect_t Reply_mach_vm_protect;
2578 __Reply__mach_vm_inherit_t Reply_mach_vm_inherit;
2579 __Reply__mach_vm_read_t Reply_mach_vm_read;
2580 __Reply__mach_vm_read_list_t Reply_mach_vm_read_list;
2581 __Reply__mach_vm_write_t Reply_mach_vm_write;
2582 __Reply__mach_vm_copy_t Reply_mach_vm_copy;
2583 __Reply__mach_vm_read_overwrite_t Reply_mach_vm_read_overwrite;
2584 __Reply__mach_vm_msync_t Reply_mach_vm_msync;
2585 __Reply__mach_vm_behavior_set_t Reply_mach_vm_behavior_set;
2586 __Reply__mach_vm_map_external_t Reply_mach_vm_map_external;
2587 __Reply__mach_vm_machine_attribute_t Reply_mach_vm_machine_attribute;
2588 __Reply__mach_vm_remap_external_t Reply_mach_vm_remap_external;
2589 __Reply__mach_vm_page_query_t Reply_mach_vm_page_query;
2590 __Reply__mach_vm_region_recurse_t Reply_mach_vm_region_recurse;
2591 __Reply__mach_vm_region_t Reply_mach_vm_region;
2592 __Reply___mach_make_memory_entry_t Reply__mach_make_memory_entry;
2593 __Reply__mach_vm_purgable_control_external_t Reply_mach_vm_purgable_control_external;
2594 __Reply__mach_vm_page_info_t Reply_mach_vm_page_info;
2595 __Reply__mach_vm_page_range_query_t Reply_mach_vm_page_range_query;
2596 __Reply__mach_vm_remap_new_external_t Reply_mach_vm_remap_new_external;
2597 __Reply__mach_vm_deferred_reclamation_buffer_init_t Reply_mach_vm_deferred_reclamation_buffer_init;
2598 __Reply__mach_vm_deferred_reclamation_buffer_synchronize_t Reply_mach_vm_deferred_reclamation_buffer_synchronize;
2599 __Reply__mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes_t Reply_mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes;
2600 __Reply__mach_vm_range_create_t Reply_mach_vm_range_create;
2601};
2602#endif /* __ReplyUnion__mach_vm_subsystem__defined */
2603
2604#ifndef subsystem_to_name_map_mach_vm
2605#define subsystem_to_name_map_mach_vm \
2606 { "mach_vm_allocate_external", 4800 },\
2607 { "mach_vm_deallocate", 4801 },\
2608 { "mach_vm_protect", 4802 },\
2609 { "mach_vm_inherit", 4803 },\
2610 { "mach_vm_read", 4804 },\
2611 { "mach_vm_read_list", 4805 },\
2612 { "mach_vm_write", 4806 },\
2613 { "mach_vm_copy", 4807 },\
2614 { "mach_vm_read_overwrite", 4808 },\
2615 { "mach_vm_msync", 4809 },\
2616 { "mach_vm_behavior_set", 4810 },\
2617 { "mach_vm_map_external", 4811 },\
2618 { "mach_vm_machine_attribute", 4812 },\
2619 { "mach_vm_remap_external", 4813 },\
2620 { "mach_vm_page_query", 4814 },\
2621 { "mach_vm_region_recurse", 4815 },\
2622 { "mach_vm_region", 4816 },\
2623 { "_mach_make_memory_entry", 4817 },\
2624 { "mach_vm_purgable_control_external", 4818 },\
2625 { "mach_vm_page_info", 4819 },\
2626 { "mach_vm_page_range_query", 4820 },\
2627 { "mach_vm_remap_new_external", 4821 },\
2628 { "mach_vm_deferred_reclamation_buffer_init", 4822 },\
2629 { "mach_vm_deferred_reclamation_buffer_synchronize", 4823 },\
2630 { "mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes", 4824 },\
2631 { "mach_vm_range_create", 4825 }
2632#endif
2633
2634#ifdef __AfterMigServerHeader
2635__AfterMigServerHeader
2636#endif /* __AfterMigServerHeader */
2637
2638#endif /* _mach_vm_server_ */
2639