1#ifndef _map_server_
2#define _map_server_
3
4/* Module map */
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 map_MSG_COUNT
55#define map_MSG_COUNT 32
56#endif /* map_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 region */
89#ifdef mig_external
90mig_external
91#else
92extern
93#endif /* mig_external */
94MIG_SERVER_ROUTINE
95kern_return_t vm32_region
96(
97 vm_map_read_t target_task,
98 vm32_address_t *address,
99 vm32_size_t *size,
100 vm_region_flavor_t flavor,
101 vm_region_info_t info,
102 mach_msg_type_number_t *infoCnt,
103 mach_port_t *object_name
104);
105
106/* Routine allocate */
107#ifdef mig_external
108mig_external
109#else
110extern
111#endif /* mig_external */
112MIG_SERVER_ROUTINE
113kern_return_t vm32_allocate
114(
115 vm_map_t target_task,
116 vm32_address_t *address,
117 vm32_size_t size,
118 int flags
119);
120
121/* Routine deallocate */
122#ifdef mig_external
123mig_external
124#else
125extern
126#endif /* mig_external */
127MIG_SERVER_ROUTINE
128kern_return_t vm32_deallocate
129(
130 vm_map_t target_task,
131 vm32_address_t address,
132 vm32_size_t size
133);
134
135/* Routine protect */
136#ifdef mig_external
137mig_external
138#else
139extern
140#endif /* mig_external */
141MIG_SERVER_ROUTINE
142kern_return_t vm32_protect
143(
144 vm_map_t target_task,
145 vm32_address_t address,
146 vm32_size_t size,
147 boolean_t set_maximum,
148 vm_prot_t new_protection
149);
150
151/* Routine inherit */
152#ifdef mig_external
153mig_external
154#else
155extern
156#endif /* mig_external */
157MIG_SERVER_ROUTINE
158kern_return_t vm32_inherit
159(
160 vm_map_t target_task,
161 vm32_address_t address,
162 vm32_size_t size,
163 vm_inherit_t new_inheritance
164);
165
166/* Routine read */
167#ifdef mig_external
168mig_external
169#else
170extern
171#endif /* mig_external */
172MIG_SERVER_ROUTINE
173kern_return_t vm32_read
174(
175 vm_map_read_t target_task,
176 vm32_address_t address,
177 vm32_size_t size,
178 vm_offset_t *data,
179 mach_msg_type_number_t *dataCnt
180);
181
182/* Routine read_list */
183#ifdef mig_external
184mig_external
185#else
186extern
187#endif /* mig_external */
188MIG_SERVER_ROUTINE
189kern_return_t vm32_read_list
190(
191 vm_map_read_t target_task,
192 vm32_read_entry_t data_list,
193 natural_t count
194);
195
196/* Routine write */
197#ifdef mig_external
198mig_external
199#else
200extern
201#endif /* mig_external */
202MIG_SERVER_ROUTINE
203kern_return_t vm32_write
204(
205 vm_map_t target_task,
206 vm32_address_t address,
207 vm_offset_t data,
208 mach_msg_type_number_t dataCnt
209);
210
211/* Routine copy */
212#ifdef mig_external
213mig_external
214#else
215extern
216#endif /* mig_external */
217MIG_SERVER_ROUTINE
218kern_return_t vm32_copy
219(
220 vm_map_t target_task,
221 vm32_address_t source_address,
222 vm32_size_t size,
223 vm32_address_t dest_address
224);
225
226/* Routine read_overwrite */
227#ifdef mig_external
228mig_external
229#else
230extern
231#endif /* mig_external */
232MIG_SERVER_ROUTINE
233kern_return_t vm32_read_overwrite
234(
235 vm_map_read_t target_task,
236 vm32_address_t address,
237 vm32_size_t size,
238 vm32_address_t data,
239 vm32_size_t *outsize
240);
241
242/* Routine msync */
243#ifdef mig_external
244mig_external
245#else
246extern
247#endif /* mig_external */
248MIG_SERVER_ROUTINE
249kern_return_t vm32_msync
250(
251 vm_map_t target_task,
252 vm32_address_t address,
253 vm32_size_t size,
254 vm_sync_t sync_flags
255);
256
257/* Routine behavior_set */
258#ifdef mig_external
259mig_external
260#else
261extern
262#endif /* mig_external */
263MIG_SERVER_ROUTINE
264kern_return_t vm32_behavior_set
265(
266 vm_map_t target_task,
267 vm32_address_t address,
268 vm32_size_t size,
269 vm_behavior_t new_behavior
270);
271
272/* Routine map */
273#ifdef mig_external
274mig_external
275#else
276extern
277#endif /* mig_external */
278MIG_SERVER_ROUTINE
279kern_return_t vm32_map
280(
281 vm_map_t target_task,
282 vm32_address_t *address,
283 vm32_size_t size,
284 vm32_address_t mask,
285 int flags,
286 mem_entry_name_port_t object,
287 vm32_offset_t offset,
288 boolean_t copy,
289 vm_prot_t cur_protection,
290 vm_prot_t max_protection,
291 vm_inherit_t inheritance
292);
293
294/* Routine machine_attribute */
295#ifdef mig_external
296mig_external
297#else
298extern
299#endif /* mig_external */
300MIG_SERVER_ROUTINE
301kern_return_t vm32_machine_attribute
302(
303 vm_map_t target_task,
304 vm32_address_t address,
305 vm32_size_t size,
306 vm_machine_attribute_t attribute,
307 vm_machine_attribute_val_t *value
308);
309
310/* Routine remap */
311#ifdef mig_external
312mig_external
313#else
314extern
315#endif /* mig_external */
316MIG_SERVER_ROUTINE
317kern_return_t vm32_remap
318(
319 vm_map_t target_task,
320 vm32_address_t *target_address,
321 vm32_size_t size,
322 vm32_address_t mask,
323 boolean_t anywhere,
324 vm_map_t src_task,
325 vm32_address_t src_address,
326 boolean_t copy,
327 vm_prot_t *cur_protection,
328 vm_prot_t *max_protection,
329 vm_inherit_t inheritance
330);
331
332/* Routine _task_wire */
333#ifdef mig_external
334mig_external
335#else
336extern
337#endif /* mig_external */
338MIG_SERVER_ROUTINE
339kern_return_t vm32__task_wire
340(
341 vm_map_t target_task,
342 boolean_t must_wire
343);
344
345/* Routine make_memory_entry */
346#ifdef mig_external
347mig_external
348#else
349extern
350#endif /* mig_external */
351MIG_SERVER_ROUTINE
352kern_return_t vm32_make_memory_entry
353(
354 vm_map_t target_task,
355 vm32_size_t *size,
356 vm32_offset_t offset,
357 vm_prot_t permission,
358 mem_entry_name_port_t *object_handle,
359 mem_entry_name_port_t parent_entry
360);
361
362/* Routine map_page_query */
363#ifdef mig_external
364mig_external
365#else
366extern
367#endif /* mig_external */
368MIG_SERVER_ROUTINE
369kern_return_t vm32_map_page_query
370(
371 vm_map_read_t target_map,
372 vm32_offset_t offset,
373 integer_t *disposition,
374 integer_t *ref_count
375);
376
377/* Routine region_info */
378#ifdef mig_external
379mig_external
380#else
381extern
382#endif /* mig_external */
383MIG_SERVER_ROUTINE
384kern_return_t vm32_region_info
385(
386 vm_map_read_t task,
387 vm32_address_t address,
388 vm_info_region_t *region,
389 vm_info_object_array_t *objects,
390 mach_msg_type_number_t *objectsCnt
391);
392
393/* Routine mapped_pages_info */
394#ifdef mig_external
395mig_external
396#else
397extern
398#endif /* mig_external */
399MIG_SERVER_ROUTINE
400kern_return_t vm32_mapped_pages_info
401(
402 vm_map_read_t task,
403 page_address_array_t *pages,
404 mach_msg_type_number_t *pagesCnt
405);
406
407/* Routine region_recurse */
408#ifdef mig_external
409mig_external
410#else
411extern
412#endif /* mig_external */
413MIG_SERVER_ROUTINE
414kern_return_t vm32_region_recurse
415(
416 vm_map_read_t target_task,
417 vm32_address_t *address,
418 vm32_size_t *size,
419 natural_t *nesting_depth,
420 vm_region_recurse_info_t info,
421 mach_msg_type_number_t *infoCnt
422);
423
424/* Routine region_recurse_64 */
425#ifdef mig_external
426mig_external
427#else
428extern
429#endif /* mig_external */
430MIG_SERVER_ROUTINE
431kern_return_t vm32_region_recurse_64
432(
433 vm_map_read_t target_task,
434 vm32_address_t *address,
435 vm32_size_t *size,
436 natural_t *nesting_depth,
437 vm_region_recurse_info_t info,
438 mach_msg_type_number_t *infoCnt
439);
440
441/* Routine region_info_64 */
442#ifdef mig_external
443mig_external
444#else
445extern
446#endif /* mig_external */
447MIG_SERVER_ROUTINE
448kern_return_t vm32_region_info_64
449(
450 vm_map_read_t task,
451 vm32_address_t address,
452 vm_info_region_64_t *region,
453 vm_info_object_array_t *objects,
454 mach_msg_type_number_t *objectsCnt
455);
456
457/* Routine region_64 */
458#ifdef mig_external
459mig_external
460#else
461extern
462#endif /* mig_external */
463MIG_SERVER_ROUTINE
464kern_return_t vm32_region_64
465(
466 vm_map_read_t target_task,
467 vm32_address_t *address,
468 vm32_size_t *size,
469 vm_region_flavor_t flavor,
470 vm_region_info_t info,
471 mach_msg_type_number_t *infoCnt,
472 mach_port_t *object_name
473);
474
475/* Routine make_memory_entry_64 */
476#ifdef mig_external
477mig_external
478#else
479extern
480#endif /* mig_external */
481MIG_SERVER_ROUTINE
482kern_return_t vm32_make_memory_entry_64
483(
484 vm_map_t target_task,
485 memory_object_size_t *size,
486 memory_object_offset_t offset,
487 vm_prot_t permission,
488 mach_port_t *object_handle,
489 mem_entry_name_port_t parent_entry
490);
491
492/* Routine map_64 */
493#ifdef mig_external
494mig_external
495#else
496extern
497#endif /* mig_external */
498MIG_SERVER_ROUTINE
499kern_return_t vm32_map_64
500(
501 vm_map_t target_task,
502 vm32_address_t *address,
503 vm32_size_t size,
504 vm32_address_t mask,
505 int flags,
506 mem_entry_name_port_t object,
507 memory_object_offset_t offset,
508 boolean_t copy,
509 vm_prot_t cur_protection,
510 vm_prot_t max_protection,
511 vm_inherit_t inheritance
512);
513
514/* Routine purgable_control */
515#ifdef mig_external
516mig_external
517#else
518extern
519#endif /* mig_external */
520MIG_SERVER_ROUTINE
521kern_return_t vm32_purgable_control
522(
523 vm_map_t target_task,
524 vm32_address_t address,
525 vm_purgable_t control,
526 int *state
527);
528
529/* Routine _map_exec_lockdown */
530#ifdef mig_external
531mig_external
532#else
533extern
534#endif /* mig_external */
535MIG_SERVER_ROUTINE
536kern_return_t vm32__map_exec_lockdown
537(
538 vm_map_t target_task
539);
540
541#ifdef mig_external
542mig_external
543#else
544extern
545#endif /* mig_external */
546boolean_t map_server(
547 mach_msg_header_t *InHeadP,
548 void *InDataP,
549 mach_msg_max_trailer_t *InTrailerP,
550 mach_msg_header_t *OutHeadP,
551 void *OutDataP);
552
553#ifdef mig_external
554mig_external
555#else
556extern
557#endif /* mig_external */
558mig_kern_routine_t map_server_routine(
559 mach_msg_header_t *InHeadP);
560
561
562/* Description of this kernel subsystem, for use in direct RPC */
563extern const struct vm32_map_subsystem {
564 mig_kern_server_routine_t kserver; /* Server routine */
565 mach_msg_id_t start; /* Min routine number */
566 mach_msg_id_t end; /* Max routine number + 1 */
567 unsigned int maxsize; /* Max msg size */
568 vm_address_t reserved; /* Reserved */
569 struct kern_routine_descriptor /* Array of routine descriptors */
570 kroutine[32];
571} vm32_map_subsystem;
572
573/* typedefs for all requests */
574
575#ifndef __Request__map_subsystem__defined
576#define __Request__map_subsystem__defined
577
578#ifdef __MigPackStructs
579#pragma pack(push, 4)
580#endif
581 typedef struct {
582 mach_msg_header_t Head;
583 NDR_record_t NDR;
584 vm32_address_t address;
585 vm_region_flavor_t flavor;
586 mach_msg_type_number_t infoCnt;
587 } __Request__region_t __attribute__((unused));
588#ifdef __MigPackStructs
589#pragma pack(pop)
590#endif
591/* Struct for kernel processed data (Header + Descriptors) */
592#ifdef __MigPackStructs
593#pragma pack(push, 4)
594#endif
595 typedef struct {
596 mach_msg_header_t Head;
597 } __RequestKData__region_t __attribute__((unused));
598#ifdef __MigPackStructs
599#pragma pack(pop)
600#endif
601/* Struct for pure user data */
602#ifdef __MigPackStructs
603#pragma pack(push, 4)
604#endif
605 typedef struct {
606 NDR_record_t NDR;
607 vm32_address_t address;
608 vm_region_flavor_t flavor;
609 mach_msg_type_number_t infoCnt;
610 char padding[0]; /* Avoid generating empty UData structs */
611 } __RequestUData__region_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 vm32_address_t address;
623 vm32_size_t size;
624 int flags;
625 } __Request__allocate_t __attribute__((unused));
626#ifdef __MigPackStructs
627#pragma pack(pop)
628#endif
629/* Struct for kernel processed data (Header + Descriptors) */
630#ifdef __MigPackStructs
631#pragma pack(push, 4)
632#endif
633 typedef struct {
634 mach_msg_header_t Head;
635 } __RequestKData__allocate_t __attribute__((unused));
636#ifdef __MigPackStructs
637#pragma pack(pop)
638#endif
639/* Struct for pure user data */
640#ifdef __MigPackStructs
641#pragma pack(push, 4)
642#endif
643 typedef struct {
644 NDR_record_t NDR;
645 vm32_address_t address;
646 vm32_size_t size;
647 int flags;
648 char padding[0]; /* Avoid generating empty UData structs */
649 } __RequestUData__allocate_t __attribute__((unused));
650#ifdef __MigPackStructs
651#pragma pack(pop)
652#endif
653
654#ifdef __MigPackStructs
655#pragma pack(push, 4)
656#endif
657 typedef struct {
658 mach_msg_header_t Head;
659 NDR_record_t NDR;
660 vm32_address_t address;
661 vm32_size_t size;
662 } __Request__deallocate_t __attribute__((unused));
663#ifdef __MigPackStructs
664#pragma pack(pop)
665#endif
666/* Struct for kernel processed data (Header + Descriptors) */
667#ifdef __MigPackStructs
668#pragma pack(push, 4)
669#endif
670 typedef struct {
671 mach_msg_header_t Head;
672 } __RequestKData__deallocate_t __attribute__((unused));
673#ifdef __MigPackStructs
674#pragma pack(pop)
675#endif
676/* Struct for pure user data */
677#ifdef __MigPackStructs
678#pragma pack(push, 4)
679#endif
680 typedef struct {
681 NDR_record_t NDR;
682 vm32_address_t address;
683 vm32_size_t size;
684 char padding[0]; /* Avoid generating empty UData structs */
685 } __RequestUData__deallocate_t __attribute__((unused));
686#ifdef __MigPackStructs
687#pragma pack(pop)
688#endif
689
690#ifdef __MigPackStructs
691#pragma pack(push, 4)
692#endif
693 typedef struct {
694 mach_msg_header_t Head;
695 NDR_record_t NDR;
696 vm32_address_t address;
697 vm32_size_t size;
698 boolean_t set_maximum;
699 vm_prot_t new_protection;
700 } __Request__protect_t __attribute__((unused));
701#ifdef __MigPackStructs
702#pragma pack(pop)
703#endif
704/* Struct for kernel processed data (Header + Descriptors) */
705#ifdef __MigPackStructs
706#pragma pack(push, 4)
707#endif
708 typedef struct {
709 mach_msg_header_t Head;
710 } __RequestKData__protect_t __attribute__((unused));
711#ifdef __MigPackStructs
712#pragma pack(pop)
713#endif
714/* Struct for pure user data */
715#ifdef __MigPackStructs
716#pragma pack(push, 4)
717#endif
718 typedef struct {
719 NDR_record_t NDR;
720 vm32_address_t address;
721 vm32_size_t size;
722 boolean_t set_maximum;
723 vm_prot_t new_protection;
724 char padding[0]; /* Avoid generating empty UData structs */
725 } __RequestUData__protect_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 vm32_address_t address;
737 vm32_size_t size;
738 vm_inherit_t new_inheritance;
739 } __Request__inherit_t __attribute__((unused));
740#ifdef __MigPackStructs
741#pragma pack(pop)
742#endif
743/* Struct for kernel processed data (Header + Descriptors) */
744#ifdef __MigPackStructs
745#pragma pack(push, 4)
746#endif
747 typedef struct {
748 mach_msg_header_t Head;
749 } __RequestKData__inherit_t __attribute__((unused));
750#ifdef __MigPackStructs
751#pragma pack(pop)
752#endif
753/* Struct for pure user data */
754#ifdef __MigPackStructs
755#pragma pack(push, 4)
756#endif
757 typedef struct {
758 NDR_record_t NDR;
759 vm32_address_t address;
760 vm32_size_t size;
761 vm_inherit_t new_inheritance;
762 char padding[0]; /* Avoid generating empty UData structs */
763 } __RequestUData__inherit_t __attribute__((unused));
764#ifdef __MigPackStructs
765#pragma pack(pop)
766#endif
767
768#ifdef __MigPackStructs
769#pragma pack(push, 4)
770#endif
771 typedef struct {
772 mach_msg_header_t Head;
773 NDR_record_t NDR;
774 vm32_address_t address;
775 vm32_size_t size;
776 } __Request__read_t __attribute__((unused));
777#ifdef __MigPackStructs
778#pragma pack(pop)
779#endif
780/* Struct for kernel processed data (Header + Descriptors) */
781#ifdef __MigPackStructs
782#pragma pack(push, 4)
783#endif
784 typedef struct {
785 mach_msg_header_t Head;
786 } __RequestKData__read_t __attribute__((unused));
787#ifdef __MigPackStructs
788#pragma pack(pop)
789#endif
790/* Struct for pure user data */
791#ifdef __MigPackStructs
792#pragma pack(push, 4)
793#endif
794 typedef struct {
795 NDR_record_t NDR;
796 vm32_address_t address;
797 vm32_size_t size;
798 char padding[0]; /* Avoid generating empty UData structs */
799 } __RequestUData__read_t __attribute__((unused));
800#ifdef __MigPackStructs
801#pragma pack(pop)
802#endif
803
804#ifdef __MigPackStructs
805#pragma pack(push, 4)
806#endif
807 typedef struct {
808 mach_msg_header_t Head;
809 NDR_record_t NDR;
810 vm32_read_entry_t data_list;
811 natural_t count;
812 } __Request__read_list_t __attribute__((unused));
813#ifdef __MigPackStructs
814#pragma pack(pop)
815#endif
816/* Struct for kernel processed data (Header + Descriptors) */
817#ifdef __MigPackStructs
818#pragma pack(push, 4)
819#endif
820 typedef struct {
821 mach_msg_header_t Head;
822 } __RequestKData__read_list_t __attribute__((unused));
823#ifdef __MigPackStructs
824#pragma pack(pop)
825#endif
826/* Struct for pure user data */
827#ifdef __MigPackStructs
828#pragma pack(push, 4)
829#endif
830 typedef struct {
831 NDR_record_t NDR;
832 vm32_read_entry_t data_list;
833 natural_t count;
834 char padding[0]; /* Avoid generating empty UData structs */
835 } __RequestUData__read_list_t __attribute__((unused));
836#ifdef __MigPackStructs
837#pragma pack(pop)
838#endif
839
840#ifdef __MigPackStructs
841#pragma pack(push, 4)
842#endif
843 typedef struct {
844 mach_msg_header_t Head;
845 /* start of the kernel processed data */
846 mach_msg_body_t msgh_body;
847 mach_msg_ool_descriptor_t data;
848 /* end of the kernel processed data */
849 NDR_record_t NDR;
850 vm32_address_t address;
851 mach_msg_type_number_t dataCnt;
852 } __Request__write_t __attribute__((unused));
853#ifdef __MigPackStructs
854#pragma pack(pop)
855#endif
856/* Struct for kernel processed data (Header + Descriptors) */
857#ifdef __MigPackStructs
858#pragma pack(push, 4)
859#endif
860 typedef struct {
861 mach_msg_header_t Head;
862 mach_msg_body_t msgh_body;
863 mach_msg_ool_descriptor_t data;
864 } __RequestKData__write_t __attribute__((unused));
865#ifdef __MigPackStructs
866#pragma pack(pop)
867#endif
868/* Struct for pure user data */
869#ifdef __MigPackStructs
870#pragma pack(push, 4)
871#endif
872 typedef struct {
873 NDR_record_t NDR;
874 vm32_address_t address;
875 mach_msg_type_number_t dataCnt;
876 char padding[0]; /* Avoid generating empty UData structs */
877 } __RequestUData__write_t __attribute__((unused));
878#ifdef __MigPackStructs
879#pragma pack(pop)
880#endif
881
882#ifdef __MigPackStructs
883#pragma pack(push, 4)
884#endif
885 typedef struct {
886 mach_msg_header_t Head;
887 NDR_record_t NDR;
888 vm32_address_t source_address;
889 vm32_size_t size;
890 vm32_address_t dest_address;
891 } __Request__copy_t __attribute__((unused));
892#ifdef __MigPackStructs
893#pragma pack(pop)
894#endif
895/* Struct for kernel processed data (Header + Descriptors) */
896#ifdef __MigPackStructs
897#pragma pack(push, 4)
898#endif
899 typedef struct {
900 mach_msg_header_t Head;
901 } __RequestKData__copy_t __attribute__((unused));
902#ifdef __MigPackStructs
903#pragma pack(pop)
904#endif
905/* Struct for pure user data */
906#ifdef __MigPackStructs
907#pragma pack(push, 4)
908#endif
909 typedef struct {
910 NDR_record_t NDR;
911 vm32_address_t source_address;
912 vm32_size_t size;
913 vm32_address_t dest_address;
914 char padding[0]; /* Avoid generating empty UData structs */
915 } __RequestUData__copy_t __attribute__((unused));
916#ifdef __MigPackStructs
917#pragma pack(pop)
918#endif
919
920#ifdef __MigPackStructs
921#pragma pack(push, 4)
922#endif
923 typedef struct {
924 mach_msg_header_t Head;
925 NDR_record_t NDR;
926 vm32_address_t address;
927 vm32_size_t size;
928 vm32_address_t data;
929 } __Request__read_overwrite_t __attribute__((unused));
930#ifdef __MigPackStructs
931#pragma pack(pop)
932#endif
933/* Struct for kernel processed data (Header + Descriptors) */
934#ifdef __MigPackStructs
935#pragma pack(push, 4)
936#endif
937 typedef struct {
938 mach_msg_header_t Head;
939 } __RequestKData__read_overwrite_t __attribute__((unused));
940#ifdef __MigPackStructs
941#pragma pack(pop)
942#endif
943/* Struct for pure user data */
944#ifdef __MigPackStructs
945#pragma pack(push, 4)
946#endif
947 typedef struct {
948 NDR_record_t NDR;
949 vm32_address_t address;
950 vm32_size_t size;
951 vm32_address_t data;
952 char padding[0]; /* Avoid generating empty UData structs */
953 } __RequestUData__read_overwrite_t __attribute__((unused));
954#ifdef __MigPackStructs
955#pragma pack(pop)
956#endif
957
958#ifdef __MigPackStructs
959#pragma pack(push, 4)
960#endif
961 typedef struct {
962 mach_msg_header_t Head;
963 NDR_record_t NDR;
964 vm32_address_t address;
965 vm32_size_t size;
966 vm_sync_t sync_flags;
967 } __Request__msync_t __attribute__((unused));
968#ifdef __MigPackStructs
969#pragma pack(pop)
970#endif
971/* Struct for kernel processed data (Header + Descriptors) */
972#ifdef __MigPackStructs
973#pragma pack(push, 4)
974#endif
975 typedef struct {
976 mach_msg_header_t Head;
977 } __RequestKData__msync_t __attribute__((unused));
978#ifdef __MigPackStructs
979#pragma pack(pop)
980#endif
981/* Struct for pure user data */
982#ifdef __MigPackStructs
983#pragma pack(push, 4)
984#endif
985 typedef struct {
986 NDR_record_t NDR;
987 vm32_address_t address;
988 vm32_size_t size;
989 vm_sync_t sync_flags;
990 char padding[0]; /* Avoid generating empty UData structs */
991 } __RequestUData__msync_t __attribute__((unused));
992#ifdef __MigPackStructs
993#pragma pack(pop)
994#endif
995
996#ifdef __MigPackStructs
997#pragma pack(push, 4)
998#endif
999 typedef struct {
1000 mach_msg_header_t Head;
1001 NDR_record_t NDR;
1002 vm32_address_t address;
1003 vm32_size_t size;
1004 vm_behavior_t new_behavior;
1005 } __Request__behavior_set_t __attribute__((unused));
1006#ifdef __MigPackStructs
1007#pragma pack(pop)
1008#endif
1009/* Struct for kernel processed data (Header + Descriptors) */
1010#ifdef __MigPackStructs
1011#pragma pack(push, 4)
1012#endif
1013 typedef struct {
1014 mach_msg_header_t Head;
1015 } __RequestKData__behavior_set_t __attribute__((unused));
1016#ifdef __MigPackStructs
1017#pragma pack(pop)
1018#endif
1019/* Struct for pure user data */
1020#ifdef __MigPackStructs
1021#pragma pack(push, 4)
1022#endif
1023 typedef struct {
1024 NDR_record_t NDR;
1025 vm32_address_t address;
1026 vm32_size_t size;
1027 vm_behavior_t new_behavior;
1028 char padding[0]; /* Avoid generating empty UData structs */
1029 } __RequestUData__behavior_set_t __attribute__((unused));
1030#ifdef __MigPackStructs
1031#pragma pack(pop)
1032#endif
1033
1034#ifdef __MigPackStructs
1035#pragma pack(push, 4)
1036#endif
1037 typedef struct {
1038 mach_msg_header_t Head;
1039 /* start of the kernel processed data */
1040 mach_msg_body_t msgh_body;
1041 mach_msg_port_descriptor_t object;
1042 /* end of the kernel processed data */
1043 NDR_record_t NDR;
1044 vm32_address_t address;
1045 vm32_size_t size;
1046 vm32_address_t mask;
1047 int flags;
1048 vm32_offset_t offset;
1049 boolean_t copy;
1050 vm_prot_t cur_protection;
1051 vm_prot_t max_protection;
1052 vm_inherit_t inheritance;
1053 } __Request__map_t __attribute__((unused));
1054#ifdef __MigPackStructs
1055#pragma pack(pop)
1056#endif
1057/* Struct for kernel processed data (Header + Descriptors) */
1058#ifdef __MigPackStructs
1059#pragma pack(push, 4)
1060#endif
1061 typedef struct {
1062 mach_msg_header_t Head;
1063 mach_msg_body_t msgh_body;
1064 mach_msg_port_descriptor_t object;
1065 } __RequestKData__map_t __attribute__((unused));
1066#ifdef __MigPackStructs
1067#pragma pack(pop)
1068#endif
1069/* Struct for pure user data */
1070#ifdef __MigPackStructs
1071#pragma pack(push, 4)
1072#endif
1073 typedef struct {
1074 NDR_record_t NDR;
1075 vm32_address_t address;
1076 vm32_size_t size;
1077 vm32_address_t mask;
1078 int flags;
1079 vm32_offset_t offset;
1080 boolean_t copy;
1081 vm_prot_t cur_protection;
1082 vm_prot_t max_protection;
1083 vm_inherit_t inheritance;
1084 char padding[0]; /* Avoid generating empty UData structs */
1085 } __RequestUData__map_t __attribute__((unused));
1086#ifdef __MigPackStructs
1087#pragma pack(pop)
1088#endif
1089
1090#ifdef __MigPackStructs
1091#pragma pack(push, 4)
1092#endif
1093 typedef struct {
1094 mach_msg_header_t Head;
1095 NDR_record_t NDR;
1096 vm32_address_t address;
1097 vm32_size_t size;
1098 vm_machine_attribute_t attribute;
1099 vm_machine_attribute_val_t value;
1100 } __Request__machine_attribute_t __attribute__((unused));
1101#ifdef __MigPackStructs
1102#pragma pack(pop)
1103#endif
1104/* Struct for kernel processed data (Header + Descriptors) */
1105#ifdef __MigPackStructs
1106#pragma pack(push, 4)
1107#endif
1108 typedef struct {
1109 mach_msg_header_t Head;
1110 } __RequestKData__machine_attribute_t __attribute__((unused));
1111#ifdef __MigPackStructs
1112#pragma pack(pop)
1113#endif
1114/* Struct for pure user data */
1115#ifdef __MigPackStructs
1116#pragma pack(push, 4)
1117#endif
1118 typedef struct {
1119 NDR_record_t NDR;
1120 vm32_address_t address;
1121 vm32_size_t size;
1122 vm_machine_attribute_t attribute;
1123 vm_machine_attribute_val_t value;
1124 char padding[0]; /* Avoid generating empty UData structs */
1125 } __RequestUData__machine_attribute_t __attribute__((unused));
1126#ifdef __MigPackStructs
1127#pragma pack(pop)
1128#endif
1129
1130#ifdef __MigPackStructs
1131#pragma pack(push, 4)
1132#endif
1133 typedef struct {
1134 mach_msg_header_t Head;
1135 /* start of the kernel processed data */
1136 mach_msg_body_t msgh_body;
1137 mach_msg_port_descriptor_t src_task;
1138 /* end of the kernel processed data */
1139 NDR_record_t NDR;
1140 vm32_address_t target_address;
1141 vm32_size_t size;
1142 vm32_address_t mask;
1143 boolean_t anywhere;
1144 vm32_address_t src_address;
1145 boolean_t copy;
1146 vm_inherit_t inheritance;
1147 } __Request__remap_t __attribute__((unused));
1148#ifdef __MigPackStructs
1149#pragma pack(pop)
1150#endif
1151/* Struct for kernel processed data (Header + Descriptors) */
1152#ifdef __MigPackStructs
1153#pragma pack(push, 4)
1154#endif
1155 typedef struct {
1156 mach_msg_header_t Head;
1157 mach_msg_body_t msgh_body;
1158 mach_msg_port_descriptor_t src_task;
1159 } __RequestKData__remap_t __attribute__((unused));
1160#ifdef __MigPackStructs
1161#pragma pack(pop)
1162#endif
1163/* Struct for pure user data */
1164#ifdef __MigPackStructs
1165#pragma pack(push, 4)
1166#endif
1167 typedef struct {
1168 NDR_record_t NDR;
1169 vm32_address_t target_address;
1170 vm32_size_t size;
1171 vm32_address_t mask;
1172 boolean_t anywhere;
1173 vm32_address_t src_address;
1174 boolean_t copy;
1175 vm_inherit_t inheritance;
1176 char padding[0]; /* Avoid generating empty UData structs */
1177 } __RequestUData__remap_t __attribute__((unused));
1178#ifdef __MigPackStructs
1179#pragma pack(pop)
1180#endif
1181
1182#ifdef __MigPackStructs
1183#pragma pack(push, 4)
1184#endif
1185 typedef struct {
1186 mach_msg_header_t Head;
1187 NDR_record_t NDR;
1188 boolean_t must_wire;
1189 } __Request___task_wire_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___task_wire_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 boolean_t must_wire;
1210 char padding[0]; /* Avoid generating empty UData structs */
1211 } __RequestUData___task_wire_t __attribute__((unused));
1212#ifdef __MigPackStructs
1213#pragma pack(pop)
1214#endif
1215
1216#ifdef __MigPackStructs
1217#pragma pack(push, 4)
1218#endif
1219 typedef struct {
1220 mach_msg_header_t Head;
1221 /* start of the kernel processed data */
1222 mach_msg_body_t msgh_body;
1223 mach_msg_port_descriptor_t parent_entry;
1224 /* end of the kernel processed data */
1225 NDR_record_t NDR;
1226 vm32_size_t size;
1227 vm32_offset_t offset;
1228 vm_prot_t permission;
1229 } __Request__make_memory_entry_t __attribute__((unused));
1230#ifdef __MigPackStructs
1231#pragma pack(pop)
1232#endif
1233/* Struct for kernel processed data (Header + Descriptors) */
1234#ifdef __MigPackStructs
1235#pragma pack(push, 4)
1236#endif
1237 typedef struct {
1238 mach_msg_header_t Head;
1239 mach_msg_body_t msgh_body;
1240 mach_msg_port_descriptor_t parent_entry;
1241 } __RequestKData__make_memory_entry_t __attribute__((unused));
1242#ifdef __MigPackStructs
1243#pragma pack(pop)
1244#endif
1245/* Struct for pure user data */
1246#ifdef __MigPackStructs
1247#pragma pack(push, 4)
1248#endif
1249 typedef struct {
1250 NDR_record_t NDR;
1251 vm32_size_t size;
1252 vm32_offset_t offset;
1253 vm_prot_t permission;
1254 char padding[0]; /* Avoid generating empty UData structs */
1255 } __RequestUData__make_memory_entry_t __attribute__((unused));
1256#ifdef __MigPackStructs
1257#pragma pack(pop)
1258#endif
1259
1260#ifdef __MigPackStructs
1261#pragma pack(push, 4)
1262#endif
1263 typedef struct {
1264 mach_msg_header_t Head;
1265 NDR_record_t NDR;
1266 vm32_offset_t offset;
1267 } __Request__map_page_query_t __attribute__((unused));
1268#ifdef __MigPackStructs
1269#pragma pack(pop)
1270#endif
1271/* Struct for kernel processed data (Header + Descriptors) */
1272#ifdef __MigPackStructs
1273#pragma pack(push, 4)
1274#endif
1275 typedef struct {
1276 mach_msg_header_t Head;
1277 } __RequestKData__map_page_query_t __attribute__((unused));
1278#ifdef __MigPackStructs
1279#pragma pack(pop)
1280#endif
1281/* Struct for pure user data */
1282#ifdef __MigPackStructs
1283#pragma pack(push, 4)
1284#endif
1285 typedef struct {
1286 NDR_record_t NDR;
1287 vm32_offset_t offset;
1288 char padding[0]; /* Avoid generating empty UData structs */
1289 } __RequestUData__map_page_query_t __attribute__((unused));
1290#ifdef __MigPackStructs
1291#pragma pack(pop)
1292#endif
1293
1294#ifdef __MigPackStructs
1295#pragma pack(push, 4)
1296#endif
1297 typedef struct {
1298 mach_msg_header_t Head;
1299 NDR_record_t NDR;
1300 vm32_address_t address;
1301 } __Request__region_info_t __attribute__((unused));
1302#ifdef __MigPackStructs
1303#pragma pack(pop)
1304#endif
1305/* Struct for kernel processed data (Header + Descriptors) */
1306#ifdef __MigPackStructs
1307#pragma pack(push, 4)
1308#endif
1309 typedef struct {
1310 mach_msg_header_t Head;
1311 } __RequestKData__region_info_t __attribute__((unused));
1312#ifdef __MigPackStructs
1313#pragma pack(pop)
1314#endif
1315/* Struct for pure user data */
1316#ifdef __MigPackStructs
1317#pragma pack(push, 4)
1318#endif
1319 typedef struct {
1320 NDR_record_t NDR;
1321 vm32_address_t address;
1322 char padding[0]; /* Avoid generating empty UData structs */
1323 } __RequestUData__region_info_t __attribute__((unused));
1324#ifdef __MigPackStructs
1325#pragma pack(pop)
1326#endif
1327
1328#ifdef __MigPackStructs
1329#pragma pack(push, 4)
1330#endif
1331 typedef struct {
1332 mach_msg_header_t Head;
1333 } __Request__mapped_pages_info_t __attribute__((unused));
1334#ifdef __MigPackStructs
1335#pragma pack(pop)
1336#endif
1337/* Struct for kernel processed data (Header + Descriptors) */
1338#ifdef __MigPackStructs
1339#pragma pack(push, 4)
1340#endif
1341 typedef struct {
1342 mach_msg_header_t Head;
1343 } __RequestKData__mapped_pages_info_t __attribute__((unused));
1344#ifdef __MigPackStructs
1345#pragma pack(pop)
1346#endif
1347/* Struct for pure user data */
1348#ifdef __MigPackStructs
1349#pragma pack(push, 4)
1350#endif
1351 typedef struct {
1352 char padding[0]; /* Avoid generating empty UData structs */
1353 } __RequestUData__mapped_pages_info_t __attribute__((unused));
1354#ifdef __MigPackStructs
1355#pragma pack(pop)
1356#endif
1357
1358#ifdef __MigPackStructs
1359#pragma pack(push, 4)
1360#endif
1361 typedef struct {
1362 mach_msg_header_t Head;
1363 NDR_record_t NDR;
1364 vm32_address_t address;
1365 natural_t nesting_depth;
1366 mach_msg_type_number_t infoCnt;
1367 } __Request__region_recurse_t __attribute__((unused));
1368#ifdef __MigPackStructs
1369#pragma pack(pop)
1370#endif
1371/* Struct for kernel processed data (Header + Descriptors) */
1372#ifdef __MigPackStructs
1373#pragma pack(push, 4)
1374#endif
1375 typedef struct {
1376 mach_msg_header_t Head;
1377 } __RequestKData__region_recurse_t __attribute__((unused));
1378#ifdef __MigPackStructs
1379#pragma pack(pop)
1380#endif
1381/* Struct for pure user data */
1382#ifdef __MigPackStructs
1383#pragma pack(push, 4)
1384#endif
1385 typedef struct {
1386 NDR_record_t NDR;
1387 vm32_address_t address;
1388 natural_t nesting_depth;
1389 mach_msg_type_number_t infoCnt;
1390 char padding[0]; /* Avoid generating empty UData structs */
1391 } __RequestUData__region_recurse_t __attribute__((unused));
1392#ifdef __MigPackStructs
1393#pragma pack(pop)
1394#endif
1395
1396#ifdef __MigPackStructs
1397#pragma pack(push, 4)
1398#endif
1399 typedef struct {
1400 mach_msg_header_t Head;
1401 NDR_record_t NDR;
1402 vm32_address_t address;
1403 natural_t nesting_depth;
1404 mach_msg_type_number_t infoCnt;
1405 } __Request__region_recurse_64_t __attribute__((unused));
1406#ifdef __MigPackStructs
1407#pragma pack(pop)
1408#endif
1409/* Struct for kernel processed data (Header + Descriptors) */
1410#ifdef __MigPackStructs
1411#pragma pack(push, 4)
1412#endif
1413 typedef struct {
1414 mach_msg_header_t Head;
1415 } __RequestKData__region_recurse_64_t __attribute__((unused));
1416#ifdef __MigPackStructs
1417#pragma pack(pop)
1418#endif
1419/* Struct for pure user data */
1420#ifdef __MigPackStructs
1421#pragma pack(push, 4)
1422#endif
1423 typedef struct {
1424 NDR_record_t NDR;
1425 vm32_address_t address;
1426 natural_t nesting_depth;
1427 mach_msg_type_number_t infoCnt;
1428 char padding[0]; /* Avoid generating empty UData structs */
1429 } __RequestUData__region_recurse_64_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 vm32_address_t address;
1441 } __Request__region_info_64_t __attribute__((unused));
1442#ifdef __MigPackStructs
1443#pragma pack(pop)
1444#endif
1445/* Struct for kernel processed data (Header + Descriptors) */
1446#ifdef __MigPackStructs
1447#pragma pack(push, 4)
1448#endif
1449 typedef struct {
1450 mach_msg_header_t Head;
1451 } __RequestKData__region_info_64_t __attribute__((unused));
1452#ifdef __MigPackStructs
1453#pragma pack(pop)
1454#endif
1455/* Struct for pure user data */
1456#ifdef __MigPackStructs
1457#pragma pack(push, 4)
1458#endif
1459 typedef struct {
1460 NDR_record_t NDR;
1461 vm32_address_t address;
1462 char padding[0]; /* Avoid generating empty UData structs */
1463 } __RequestUData__region_info_64_t __attribute__((unused));
1464#ifdef __MigPackStructs
1465#pragma pack(pop)
1466#endif
1467
1468#ifdef __MigPackStructs
1469#pragma pack(push, 4)
1470#endif
1471 typedef struct {
1472 mach_msg_header_t Head;
1473 NDR_record_t NDR;
1474 vm32_address_t address;
1475 vm_region_flavor_t flavor;
1476 mach_msg_type_number_t infoCnt;
1477 } __Request__region_64_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__region_64_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 vm32_address_t address;
1498 vm_region_flavor_t flavor;
1499 mach_msg_type_number_t infoCnt;
1500 char padding[0]; /* Avoid generating empty UData structs */
1501 } __RequestUData__region_64_t __attribute__((unused));
1502#ifdef __MigPackStructs
1503#pragma pack(pop)
1504#endif
1505
1506#ifdef __MigPackStructs
1507#pragma pack(push, 4)
1508#endif
1509 typedef struct {
1510 mach_msg_header_t Head;
1511 /* start of the kernel processed data */
1512 mach_msg_body_t msgh_body;
1513 mach_msg_port_descriptor_t parent_entry;
1514 /* end of the kernel processed data */
1515 NDR_record_t NDR;
1516 memory_object_size_t size;
1517 memory_object_offset_t offset;
1518 vm_prot_t permission;
1519 } __Request__make_memory_entry_64_t __attribute__((unused));
1520#ifdef __MigPackStructs
1521#pragma pack(pop)
1522#endif
1523/* Struct for kernel processed data (Header + Descriptors) */
1524#ifdef __MigPackStructs
1525#pragma pack(push, 4)
1526#endif
1527 typedef struct {
1528 mach_msg_header_t Head;
1529 mach_msg_body_t msgh_body;
1530 mach_msg_port_descriptor_t parent_entry;
1531 } __RequestKData__make_memory_entry_64_t __attribute__((unused));
1532#ifdef __MigPackStructs
1533#pragma pack(pop)
1534#endif
1535/* Struct for pure user data */
1536#ifdef __MigPackStructs
1537#pragma pack(push, 4)
1538#endif
1539 typedef struct {
1540 NDR_record_t NDR;
1541 memory_object_size_t size;
1542 memory_object_offset_t offset;
1543 vm_prot_t permission;
1544 char padding[0]; /* Avoid generating empty UData structs */
1545 } __RequestUData__make_memory_entry_64_t __attribute__((unused));
1546#ifdef __MigPackStructs
1547#pragma pack(pop)
1548#endif
1549
1550#ifdef __MigPackStructs
1551#pragma pack(push, 4)
1552#endif
1553 typedef struct {
1554 mach_msg_header_t Head;
1555 /* start of the kernel processed data */
1556 mach_msg_body_t msgh_body;
1557 mach_msg_port_descriptor_t object;
1558 /* end of the kernel processed data */
1559 NDR_record_t NDR;
1560 vm32_address_t address;
1561 vm32_size_t size;
1562 vm32_address_t mask;
1563 int flags;
1564 memory_object_offset_t offset;
1565 boolean_t copy;
1566 vm_prot_t cur_protection;
1567 vm_prot_t max_protection;
1568 vm_inherit_t inheritance;
1569 } __Request__map_64_t __attribute__((unused));
1570#ifdef __MigPackStructs
1571#pragma pack(pop)
1572#endif
1573/* Struct for kernel processed data (Header + Descriptors) */
1574#ifdef __MigPackStructs
1575#pragma pack(push, 4)
1576#endif
1577 typedef struct {
1578 mach_msg_header_t Head;
1579 mach_msg_body_t msgh_body;
1580 mach_msg_port_descriptor_t object;
1581 } __RequestKData__map_64_t __attribute__((unused));
1582#ifdef __MigPackStructs
1583#pragma pack(pop)
1584#endif
1585/* Struct for pure user data */
1586#ifdef __MigPackStructs
1587#pragma pack(push, 4)
1588#endif
1589 typedef struct {
1590 NDR_record_t NDR;
1591 vm32_address_t address;
1592 vm32_size_t size;
1593 vm32_address_t mask;
1594 int flags;
1595 memory_object_offset_t offset;
1596 boolean_t copy;
1597 vm_prot_t cur_protection;
1598 vm_prot_t max_protection;
1599 vm_inherit_t inheritance;
1600 char padding[0]; /* Avoid generating empty UData structs */
1601 } __RequestUData__map_64_t __attribute__((unused));
1602#ifdef __MigPackStructs
1603#pragma pack(pop)
1604#endif
1605
1606#ifdef __MigPackStructs
1607#pragma pack(push, 4)
1608#endif
1609 typedef struct {
1610 mach_msg_header_t Head;
1611 NDR_record_t NDR;
1612 vm32_address_t address;
1613 vm_purgable_t control;
1614 int state;
1615 } __Request__purgable_control_t __attribute__((unused));
1616#ifdef __MigPackStructs
1617#pragma pack(pop)
1618#endif
1619/* Struct for kernel processed data (Header + Descriptors) */
1620#ifdef __MigPackStructs
1621#pragma pack(push, 4)
1622#endif
1623 typedef struct {
1624 mach_msg_header_t Head;
1625 } __RequestKData__purgable_control_t __attribute__((unused));
1626#ifdef __MigPackStructs
1627#pragma pack(pop)
1628#endif
1629/* Struct for pure user data */
1630#ifdef __MigPackStructs
1631#pragma pack(push, 4)
1632#endif
1633 typedef struct {
1634 NDR_record_t NDR;
1635 vm32_address_t address;
1636 vm_purgable_t control;
1637 int state;
1638 char padding[0]; /* Avoid generating empty UData structs */
1639 } __RequestUData__purgable_control_t __attribute__((unused));
1640#ifdef __MigPackStructs
1641#pragma pack(pop)
1642#endif
1643
1644#ifdef __MigPackStructs
1645#pragma pack(push, 4)
1646#endif
1647 typedef struct {
1648 mach_msg_header_t Head;
1649 } __Request___map_exec_lockdown_t __attribute__((unused));
1650#ifdef __MigPackStructs
1651#pragma pack(pop)
1652#endif
1653/* Struct for kernel processed data (Header + Descriptors) */
1654#ifdef __MigPackStructs
1655#pragma pack(push, 4)
1656#endif
1657 typedef struct {
1658 mach_msg_header_t Head;
1659 } __RequestKData___map_exec_lockdown_t __attribute__((unused));
1660#ifdef __MigPackStructs
1661#pragma pack(pop)
1662#endif
1663/* Struct for pure user data */
1664#ifdef __MigPackStructs
1665#pragma pack(push, 4)
1666#endif
1667 typedef struct {
1668 char padding[0]; /* Avoid generating empty UData structs */
1669 } __RequestUData___map_exec_lockdown_t __attribute__((unused));
1670#ifdef __MigPackStructs
1671#pragma pack(pop)
1672#endif
1673#endif /* !__Request__map_subsystem__defined */
1674
1675
1676/* union of all requests */
1677
1678#ifndef __RequestUnion__vm32_map_subsystem__defined
1679#define __RequestUnion__vm32_map_subsystem__defined
1680union __RequestUnion__vm32_map_subsystem {
1681 __Request__region_t Request_region;
1682 __Request__allocate_t Request_allocate;
1683 __Request__deallocate_t Request_deallocate;
1684 __Request__protect_t Request_protect;
1685 __Request__inherit_t Request_inherit;
1686 __Request__read_t Request_read;
1687 __Request__read_list_t Request_read_list;
1688 __Request__write_t Request_write;
1689 __Request__copy_t Request_copy;
1690 __Request__read_overwrite_t Request_read_overwrite;
1691 __Request__msync_t Request_msync;
1692 __Request__behavior_set_t Request_behavior_set;
1693 __Request__map_t Request_map;
1694 __Request__machine_attribute_t Request_machine_attribute;
1695 __Request__remap_t Request_remap;
1696 __Request___task_wire_t Request__task_wire;
1697 __Request__make_memory_entry_t Request_make_memory_entry;
1698 __Request__map_page_query_t Request_map_page_query;
1699 __Request__region_info_t Request_region_info;
1700 __Request__mapped_pages_info_t Request_mapped_pages_info;
1701 __Request__region_recurse_t Request_region_recurse;
1702 __Request__region_recurse_64_t Request_region_recurse_64;
1703 __Request__region_info_64_t Request_region_info_64;
1704 __Request__region_64_t Request_region_64;
1705 __Request__make_memory_entry_64_t Request_make_memory_entry_64;
1706 __Request__map_64_t Request_map_64;
1707 __Request__purgable_control_t Request_purgable_control;
1708 __Request___map_exec_lockdown_t Request__map_exec_lockdown;
1709};
1710#endif /* __RequestUnion__vm32_map_subsystem__defined */
1711/* typedefs for all replies */
1712
1713#ifndef __Reply__map_subsystem__defined
1714#define __Reply__map_subsystem__defined
1715
1716#ifdef __MigPackStructs
1717#pragma pack(push, 4)
1718#endif
1719 typedef struct {
1720 mach_msg_header_t Head;
1721 /* start of the kernel processed data */
1722 mach_msg_body_t msgh_body;
1723 mach_msg_port_descriptor_t object_name;
1724 /* end of the kernel processed data */
1725 NDR_record_t NDR;
1726 vm32_address_t address;
1727 vm32_size_t size;
1728 mach_msg_type_number_t infoCnt;
1729 int info[10];
1730 } __Reply__region_t __attribute__((unused));
1731#ifdef __MigPackStructs
1732#pragma pack(pop)
1733#endif
1734/* Struct for kernel processed data (Header + Descriptors) */
1735#ifdef __MigPackStructs
1736#pragma pack(push, 4)
1737#endif
1738 typedef struct {
1739 mach_msg_header_t Head;
1740 mach_msg_body_t msgh_body;
1741 mach_msg_port_descriptor_t object_name;
1742 } __ReplyKData__region_t __attribute__((unused));
1743#ifdef __MigPackStructs
1744#pragma pack(pop)
1745#endif
1746/* Struct for pure user data */
1747#ifdef __MigPackStructs
1748#pragma pack(push, 4)
1749#endif
1750 typedef struct {
1751 NDR_record_t NDR;
1752 vm32_address_t address;
1753 vm32_size_t size;
1754 mach_msg_type_number_t infoCnt;
1755 int info[10];
1756 char padding[0]; /* Avoid generating empty UData structs */
1757 } __ReplyUData__region_t __attribute__((unused));
1758#ifdef __MigPackStructs
1759#pragma pack(pop)
1760#endif
1761
1762#ifdef __MigPackStructs
1763#pragma pack(push, 4)
1764#endif
1765 typedef struct {
1766 mach_msg_header_t Head;
1767 NDR_record_t NDR;
1768 kern_return_t RetCode;
1769 vm32_address_t address;
1770 } __Reply__allocate_t __attribute__((unused));
1771#ifdef __MigPackStructs
1772#pragma pack(pop)
1773#endif
1774/* Struct for kernel processed data (Header + Descriptors) */
1775#ifdef __MigPackStructs
1776#pragma pack(push, 4)
1777#endif
1778 typedef struct {
1779 mach_msg_header_t Head;
1780 } __ReplyKData__allocate_t __attribute__((unused));
1781#ifdef __MigPackStructs
1782#pragma pack(pop)
1783#endif
1784/* Struct for pure user data */
1785#ifdef __MigPackStructs
1786#pragma pack(push, 4)
1787#endif
1788 typedef struct {
1789 NDR_record_t NDR;
1790 kern_return_t RetCode;
1791 vm32_address_t address;
1792 char padding[0]; /* Avoid generating empty UData structs */
1793 } __ReplyUData__allocate_t __attribute__((unused));
1794#ifdef __MigPackStructs
1795#pragma pack(pop)
1796#endif
1797
1798#ifdef __MigPackStructs
1799#pragma pack(push, 4)
1800#endif
1801 typedef struct {
1802 mach_msg_header_t Head;
1803 NDR_record_t NDR;
1804 kern_return_t RetCode;
1805 } __Reply__deallocate_t __attribute__((unused));
1806#ifdef __MigPackStructs
1807#pragma pack(pop)
1808#endif
1809/* Struct for kernel processed data (Header + Descriptors) */
1810#ifdef __MigPackStructs
1811#pragma pack(push, 4)
1812#endif
1813 typedef struct {
1814 mach_msg_header_t Head;
1815 } __ReplyKData__deallocate_t __attribute__((unused));
1816#ifdef __MigPackStructs
1817#pragma pack(pop)
1818#endif
1819/* Struct for pure user data */
1820#ifdef __MigPackStructs
1821#pragma pack(push, 4)
1822#endif
1823 typedef struct {
1824 NDR_record_t NDR;
1825 kern_return_t RetCode;
1826 char padding[0]; /* Avoid generating empty UData structs */
1827 } __ReplyUData__deallocate_t __attribute__((unused));
1828#ifdef __MigPackStructs
1829#pragma pack(pop)
1830#endif
1831
1832#ifdef __MigPackStructs
1833#pragma pack(push, 4)
1834#endif
1835 typedef struct {
1836 mach_msg_header_t Head;
1837 NDR_record_t NDR;
1838 kern_return_t RetCode;
1839 } __Reply__protect_t __attribute__((unused));
1840#ifdef __MigPackStructs
1841#pragma pack(pop)
1842#endif
1843/* Struct for kernel processed data (Header + Descriptors) */
1844#ifdef __MigPackStructs
1845#pragma pack(push, 4)
1846#endif
1847 typedef struct {
1848 mach_msg_header_t Head;
1849 } __ReplyKData__protect_t __attribute__((unused));
1850#ifdef __MigPackStructs
1851#pragma pack(pop)
1852#endif
1853/* Struct for pure user data */
1854#ifdef __MigPackStructs
1855#pragma pack(push, 4)
1856#endif
1857 typedef struct {
1858 NDR_record_t NDR;
1859 kern_return_t RetCode;
1860 char padding[0]; /* Avoid generating empty UData structs */
1861 } __ReplyUData__protect_t __attribute__((unused));
1862#ifdef __MigPackStructs
1863#pragma pack(pop)
1864#endif
1865
1866#ifdef __MigPackStructs
1867#pragma pack(push, 4)
1868#endif
1869 typedef struct {
1870 mach_msg_header_t Head;
1871 NDR_record_t NDR;
1872 kern_return_t RetCode;
1873 } __Reply__inherit_t __attribute__((unused));
1874#ifdef __MigPackStructs
1875#pragma pack(pop)
1876#endif
1877/* Struct for kernel processed data (Header + Descriptors) */
1878#ifdef __MigPackStructs
1879#pragma pack(push, 4)
1880#endif
1881 typedef struct {
1882 mach_msg_header_t Head;
1883 } __ReplyKData__inherit_t __attribute__((unused));
1884#ifdef __MigPackStructs
1885#pragma pack(pop)
1886#endif
1887/* Struct for pure user data */
1888#ifdef __MigPackStructs
1889#pragma pack(push, 4)
1890#endif
1891 typedef struct {
1892 NDR_record_t NDR;
1893 kern_return_t RetCode;
1894 char padding[0]; /* Avoid generating empty UData structs */
1895 } __ReplyUData__inherit_t __attribute__((unused));
1896#ifdef __MigPackStructs
1897#pragma pack(pop)
1898#endif
1899
1900#ifdef __MigPackStructs
1901#pragma pack(push, 4)
1902#endif
1903 typedef struct {
1904 mach_msg_header_t Head;
1905 /* start of the kernel processed data */
1906 mach_msg_body_t msgh_body;
1907 mach_msg_ool_descriptor_t data;
1908 /* end of the kernel processed data */
1909 NDR_record_t NDR;
1910 mach_msg_type_number_t dataCnt;
1911 } __Reply__read_t __attribute__((unused));
1912#ifdef __MigPackStructs
1913#pragma pack(pop)
1914#endif
1915/* Struct for kernel processed data (Header + Descriptors) */
1916#ifdef __MigPackStructs
1917#pragma pack(push, 4)
1918#endif
1919 typedef struct {
1920 mach_msg_header_t Head;
1921 mach_msg_body_t msgh_body;
1922 mach_msg_ool_descriptor_t data;
1923 } __ReplyKData__read_t __attribute__((unused));
1924#ifdef __MigPackStructs
1925#pragma pack(pop)
1926#endif
1927/* Struct for pure user data */
1928#ifdef __MigPackStructs
1929#pragma pack(push, 4)
1930#endif
1931 typedef struct {
1932 NDR_record_t NDR;
1933 mach_msg_type_number_t dataCnt;
1934 char padding[0]; /* Avoid generating empty UData structs */
1935 } __ReplyUData__read_t __attribute__((unused));
1936#ifdef __MigPackStructs
1937#pragma pack(pop)
1938#endif
1939
1940#ifdef __MigPackStructs
1941#pragma pack(push, 4)
1942#endif
1943 typedef struct {
1944 mach_msg_header_t Head;
1945 NDR_record_t NDR;
1946 kern_return_t RetCode;
1947 vm32_read_entry_t data_list;
1948 } __Reply__read_list_t __attribute__((unused));
1949#ifdef __MigPackStructs
1950#pragma pack(pop)
1951#endif
1952/* Struct for kernel processed data (Header + Descriptors) */
1953#ifdef __MigPackStructs
1954#pragma pack(push, 4)
1955#endif
1956 typedef struct {
1957 mach_msg_header_t Head;
1958 } __ReplyKData__read_list_t __attribute__((unused));
1959#ifdef __MigPackStructs
1960#pragma pack(pop)
1961#endif
1962/* Struct for pure user data */
1963#ifdef __MigPackStructs
1964#pragma pack(push, 4)
1965#endif
1966 typedef struct {
1967 NDR_record_t NDR;
1968 kern_return_t RetCode;
1969 vm32_read_entry_t data_list;
1970 char padding[0]; /* Avoid generating empty UData structs */
1971 } __ReplyUData__read_list_t __attribute__((unused));
1972#ifdef __MigPackStructs
1973#pragma pack(pop)
1974#endif
1975
1976#ifdef __MigPackStructs
1977#pragma pack(push, 4)
1978#endif
1979 typedef struct {
1980 mach_msg_header_t Head;
1981 NDR_record_t NDR;
1982 kern_return_t RetCode;
1983 } __Reply__write_t __attribute__((unused));
1984#ifdef __MigPackStructs
1985#pragma pack(pop)
1986#endif
1987/* Struct for kernel processed data (Header + Descriptors) */
1988#ifdef __MigPackStructs
1989#pragma pack(push, 4)
1990#endif
1991 typedef struct {
1992 mach_msg_header_t Head;
1993 } __ReplyKData__write_t __attribute__((unused));
1994#ifdef __MigPackStructs
1995#pragma pack(pop)
1996#endif
1997/* Struct for pure user data */
1998#ifdef __MigPackStructs
1999#pragma pack(push, 4)
2000#endif
2001 typedef struct {
2002 NDR_record_t NDR;
2003 kern_return_t RetCode;
2004 char padding[0]; /* Avoid generating empty UData structs */
2005 } __ReplyUData__write_t __attribute__((unused));
2006#ifdef __MigPackStructs
2007#pragma pack(pop)
2008#endif
2009
2010#ifdef __MigPackStructs
2011#pragma pack(push, 4)
2012#endif
2013 typedef struct {
2014 mach_msg_header_t Head;
2015 NDR_record_t NDR;
2016 kern_return_t RetCode;
2017 } __Reply__copy_t __attribute__((unused));
2018#ifdef __MigPackStructs
2019#pragma pack(pop)
2020#endif
2021/* Struct for kernel processed data (Header + Descriptors) */
2022#ifdef __MigPackStructs
2023#pragma pack(push, 4)
2024#endif
2025 typedef struct {
2026 mach_msg_header_t Head;
2027 } __ReplyKData__copy_t __attribute__((unused));
2028#ifdef __MigPackStructs
2029#pragma pack(pop)
2030#endif
2031/* Struct for pure user data */
2032#ifdef __MigPackStructs
2033#pragma pack(push, 4)
2034#endif
2035 typedef struct {
2036 NDR_record_t NDR;
2037 kern_return_t RetCode;
2038 char padding[0]; /* Avoid generating empty UData structs */
2039 } __ReplyUData__copy_t __attribute__((unused));
2040#ifdef __MigPackStructs
2041#pragma pack(pop)
2042#endif
2043
2044#ifdef __MigPackStructs
2045#pragma pack(push, 4)
2046#endif
2047 typedef struct {
2048 mach_msg_header_t Head;
2049 NDR_record_t NDR;
2050 kern_return_t RetCode;
2051 vm32_size_t outsize;
2052 } __Reply__read_overwrite_t __attribute__((unused));
2053#ifdef __MigPackStructs
2054#pragma pack(pop)
2055#endif
2056/* Struct for kernel processed data (Header + Descriptors) */
2057#ifdef __MigPackStructs
2058#pragma pack(push, 4)
2059#endif
2060 typedef struct {
2061 mach_msg_header_t Head;
2062 } __ReplyKData__read_overwrite_t __attribute__((unused));
2063#ifdef __MigPackStructs
2064#pragma pack(pop)
2065#endif
2066/* Struct for pure user data */
2067#ifdef __MigPackStructs
2068#pragma pack(push, 4)
2069#endif
2070 typedef struct {
2071 NDR_record_t NDR;
2072 kern_return_t RetCode;
2073 vm32_size_t outsize;
2074 char padding[0]; /* Avoid generating empty UData structs */
2075 } __ReplyUData__read_overwrite_t __attribute__((unused));
2076#ifdef __MigPackStructs
2077#pragma pack(pop)
2078#endif
2079
2080#ifdef __MigPackStructs
2081#pragma pack(push, 4)
2082#endif
2083 typedef struct {
2084 mach_msg_header_t Head;
2085 NDR_record_t NDR;
2086 kern_return_t RetCode;
2087 } __Reply__msync_t __attribute__((unused));
2088#ifdef __MigPackStructs
2089#pragma pack(pop)
2090#endif
2091/* Struct for kernel processed data (Header + Descriptors) */
2092#ifdef __MigPackStructs
2093#pragma pack(push, 4)
2094#endif
2095 typedef struct {
2096 mach_msg_header_t Head;
2097 } __ReplyKData__msync_t __attribute__((unused));
2098#ifdef __MigPackStructs
2099#pragma pack(pop)
2100#endif
2101/* Struct for pure user data */
2102#ifdef __MigPackStructs
2103#pragma pack(push, 4)
2104#endif
2105 typedef struct {
2106 NDR_record_t NDR;
2107 kern_return_t RetCode;
2108 char padding[0]; /* Avoid generating empty UData structs */
2109 } __ReplyUData__msync_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 } __Reply__behavior_set_t __attribute__((unused));
2122#ifdef __MigPackStructs
2123#pragma pack(pop)
2124#endif
2125/* Struct for kernel processed data (Header + Descriptors) */
2126#ifdef __MigPackStructs
2127#pragma pack(push, 4)
2128#endif
2129 typedef struct {
2130 mach_msg_header_t Head;
2131 } __ReplyKData__behavior_set_t __attribute__((unused));
2132#ifdef __MigPackStructs
2133#pragma pack(pop)
2134#endif
2135/* Struct for pure user data */
2136#ifdef __MigPackStructs
2137#pragma pack(push, 4)
2138#endif
2139 typedef struct {
2140 NDR_record_t NDR;
2141 kern_return_t RetCode;
2142 char padding[0]; /* Avoid generating empty UData structs */
2143 } __ReplyUData__behavior_set_t __attribute__((unused));
2144#ifdef __MigPackStructs
2145#pragma pack(pop)
2146#endif
2147
2148#ifdef __MigPackStructs
2149#pragma pack(push, 4)
2150#endif
2151 typedef struct {
2152 mach_msg_header_t Head;
2153 NDR_record_t NDR;
2154 kern_return_t RetCode;
2155 vm32_address_t address;
2156 } __Reply__map_t __attribute__((unused));
2157#ifdef __MigPackStructs
2158#pragma pack(pop)
2159#endif
2160/* Struct for kernel processed data (Header + Descriptors) */
2161#ifdef __MigPackStructs
2162#pragma pack(push, 4)
2163#endif
2164 typedef struct {
2165 mach_msg_header_t Head;
2166 } __ReplyKData__map_t __attribute__((unused));
2167#ifdef __MigPackStructs
2168#pragma pack(pop)
2169#endif
2170/* Struct for pure user data */
2171#ifdef __MigPackStructs
2172#pragma pack(push, 4)
2173#endif
2174 typedef struct {
2175 NDR_record_t NDR;
2176 kern_return_t RetCode;
2177 vm32_address_t address;
2178 char padding[0]; /* Avoid generating empty UData structs */
2179 } __ReplyUData__map_t __attribute__((unused));
2180#ifdef __MigPackStructs
2181#pragma pack(pop)
2182#endif
2183
2184#ifdef __MigPackStructs
2185#pragma pack(push, 4)
2186#endif
2187 typedef struct {
2188 mach_msg_header_t Head;
2189 NDR_record_t NDR;
2190 kern_return_t RetCode;
2191 vm_machine_attribute_val_t value;
2192 } __Reply__machine_attribute_t __attribute__((unused));
2193#ifdef __MigPackStructs
2194#pragma pack(pop)
2195#endif
2196/* Struct for kernel processed data (Header + Descriptors) */
2197#ifdef __MigPackStructs
2198#pragma pack(push, 4)
2199#endif
2200 typedef struct {
2201 mach_msg_header_t Head;
2202 } __ReplyKData__machine_attribute_t __attribute__((unused));
2203#ifdef __MigPackStructs
2204#pragma pack(pop)
2205#endif
2206/* Struct for pure user data */
2207#ifdef __MigPackStructs
2208#pragma pack(push, 4)
2209#endif
2210 typedef struct {
2211 NDR_record_t NDR;
2212 kern_return_t RetCode;
2213 vm_machine_attribute_val_t value;
2214 char padding[0]; /* Avoid generating empty UData structs */
2215 } __ReplyUData__machine_attribute_t __attribute__((unused));
2216#ifdef __MigPackStructs
2217#pragma pack(pop)
2218#endif
2219
2220#ifdef __MigPackStructs
2221#pragma pack(push, 4)
2222#endif
2223 typedef struct {
2224 mach_msg_header_t Head;
2225 NDR_record_t NDR;
2226 kern_return_t RetCode;
2227 vm32_address_t target_address;
2228 vm_prot_t cur_protection;
2229 vm_prot_t max_protection;
2230 } __Reply__remap_t __attribute__((unused));
2231#ifdef __MigPackStructs
2232#pragma pack(pop)
2233#endif
2234/* Struct for kernel processed data (Header + Descriptors) */
2235#ifdef __MigPackStructs
2236#pragma pack(push, 4)
2237#endif
2238 typedef struct {
2239 mach_msg_header_t Head;
2240 } __ReplyKData__remap_t __attribute__((unused));
2241#ifdef __MigPackStructs
2242#pragma pack(pop)
2243#endif
2244/* Struct for pure user data */
2245#ifdef __MigPackStructs
2246#pragma pack(push, 4)
2247#endif
2248 typedef struct {
2249 NDR_record_t NDR;
2250 kern_return_t RetCode;
2251 vm32_address_t target_address;
2252 vm_prot_t cur_protection;
2253 vm_prot_t max_protection;
2254 char padding[0]; /* Avoid generating empty UData structs */
2255 } __ReplyUData__remap_t __attribute__((unused));
2256#ifdef __MigPackStructs
2257#pragma pack(pop)
2258#endif
2259
2260#ifdef __MigPackStructs
2261#pragma pack(push, 4)
2262#endif
2263 typedef struct {
2264 mach_msg_header_t Head;
2265 NDR_record_t NDR;
2266 kern_return_t RetCode;
2267 } __Reply___task_wire_t __attribute__((unused));
2268#ifdef __MigPackStructs
2269#pragma pack(pop)
2270#endif
2271/* Struct for kernel processed data (Header + Descriptors) */
2272#ifdef __MigPackStructs
2273#pragma pack(push, 4)
2274#endif
2275 typedef struct {
2276 mach_msg_header_t Head;
2277 } __ReplyKData___task_wire_t __attribute__((unused));
2278#ifdef __MigPackStructs
2279#pragma pack(pop)
2280#endif
2281/* Struct for pure user data */
2282#ifdef __MigPackStructs
2283#pragma pack(push, 4)
2284#endif
2285 typedef struct {
2286 NDR_record_t NDR;
2287 kern_return_t RetCode;
2288 char padding[0]; /* Avoid generating empty UData structs */
2289 } __ReplyUData___task_wire_t __attribute__((unused));
2290#ifdef __MigPackStructs
2291#pragma pack(pop)
2292#endif
2293
2294#ifdef __MigPackStructs
2295#pragma pack(push, 4)
2296#endif
2297 typedef struct {
2298 mach_msg_header_t Head;
2299 /* start of the kernel processed data */
2300 mach_msg_body_t msgh_body;
2301 mach_msg_port_descriptor_t object_handle;
2302 /* end of the kernel processed data */
2303 NDR_record_t NDR;
2304 vm32_size_t size;
2305 } __Reply__make_memory_entry_t __attribute__((unused));
2306#ifdef __MigPackStructs
2307#pragma pack(pop)
2308#endif
2309/* Struct for kernel processed data (Header + Descriptors) */
2310#ifdef __MigPackStructs
2311#pragma pack(push, 4)
2312#endif
2313 typedef struct {
2314 mach_msg_header_t Head;
2315 mach_msg_body_t msgh_body;
2316 mach_msg_port_descriptor_t object_handle;
2317 } __ReplyKData__make_memory_entry_t __attribute__((unused));
2318#ifdef __MigPackStructs
2319#pragma pack(pop)
2320#endif
2321/* Struct for pure user data */
2322#ifdef __MigPackStructs
2323#pragma pack(push, 4)
2324#endif
2325 typedef struct {
2326 NDR_record_t NDR;
2327 vm32_size_t size;
2328 char padding[0]; /* Avoid generating empty UData structs */
2329 } __ReplyUData__make_memory_entry_t __attribute__((unused));
2330#ifdef __MigPackStructs
2331#pragma pack(pop)
2332#endif
2333
2334#ifdef __MigPackStructs
2335#pragma pack(push, 4)
2336#endif
2337 typedef struct {
2338 mach_msg_header_t Head;
2339 NDR_record_t NDR;
2340 kern_return_t RetCode;
2341 integer_t disposition;
2342 integer_t ref_count;
2343 } __Reply__map_page_query_t __attribute__((unused));
2344#ifdef __MigPackStructs
2345#pragma pack(pop)
2346#endif
2347/* Struct for kernel processed data (Header + Descriptors) */
2348#ifdef __MigPackStructs
2349#pragma pack(push, 4)
2350#endif
2351 typedef struct {
2352 mach_msg_header_t Head;
2353 } __ReplyKData__map_page_query_t __attribute__((unused));
2354#ifdef __MigPackStructs
2355#pragma pack(pop)
2356#endif
2357/* Struct for pure user data */
2358#ifdef __MigPackStructs
2359#pragma pack(push, 4)
2360#endif
2361 typedef struct {
2362 NDR_record_t NDR;
2363 kern_return_t RetCode;
2364 integer_t disposition;
2365 integer_t ref_count;
2366 char padding[0]; /* Avoid generating empty UData structs */
2367 } __ReplyUData__map_page_query_t __attribute__((unused));
2368#ifdef __MigPackStructs
2369#pragma pack(pop)
2370#endif
2371
2372#ifdef __MigPackStructs
2373#pragma pack(push, 4)
2374#endif
2375 typedef struct {
2376 mach_msg_header_t Head;
2377 /* start of the kernel processed data */
2378 mach_msg_body_t msgh_body;
2379 mach_msg_ool_descriptor_t objects;
2380 /* end of the kernel processed data */
2381 NDR_record_t NDR;
2382 vm_info_region_t region;
2383 mach_msg_type_number_t objectsCnt;
2384 } __Reply__region_info_t __attribute__((unused));
2385#ifdef __MigPackStructs
2386#pragma pack(pop)
2387#endif
2388/* Struct for kernel processed data (Header + Descriptors) */
2389#ifdef __MigPackStructs
2390#pragma pack(push, 4)
2391#endif
2392 typedef struct {
2393 mach_msg_header_t Head;
2394 mach_msg_body_t msgh_body;
2395 mach_msg_ool_descriptor_t objects;
2396 } __ReplyKData__region_info_t __attribute__((unused));
2397#ifdef __MigPackStructs
2398#pragma pack(pop)
2399#endif
2400/* Struct for pure user data */
2401#ifdef __MigPackStructs
2402#pragma pack(push, 4)
2403#endif
2404 typedef struct {
2405 NDR_record_t NDR;
2406 vm_info_region_t region;
2407 mach_msg_type_number_t objectsCnt;
2408 char padding[0]; /* Avoid generating empty UData structs */
2409 } __ReplyUData__region_info_t __attribute__((unused));
2410#ifdef __MigPackStructs
2411#pragma pack(pop)
2412#endif
2413
2414#ifdef __MigPackStructs
2415#pragma pack(push, 4)
2416#endif
2417 typedef struct {
2418 mach_msg_header_t Head;
2419 /* start of the kernel processed data */
2420 mach_msg_body_t msgh_body;
2421 mach_msg_ool_descriptor_t pages;
2422 /* end of the kernel processed data */
2423 NDR_record_t NDR;
2424 mach_msg_type_number_t pagesCnt;
2425 } __Reply__mapped_pages_info_t __attribute__((unused));
2426#ifdef __MigPackStructs
2427#pragma pack(pop)
2428#endif
2429/* Struct for kernel processed data (Header + Descriptors) */
2430#ifdef __MigPackStructs
2431#pragma pack(push, 4)
2432#endif
2433 typedef struct {
2434 mach_msg_header_t Head;
2435 mach_msg_body_t msgh_body;
2436 mach_msg_ool_descriptor_t pages;
2437 } __ReplyKData__mapped_pages_info_t __attribute__((unused));
2438#ifdef __MigPackStructs
2439#pragma pack(pop)
2440#endif
2441/* Struct for pure user data */
2442#ifdef __MigPackStructs
2443#pragma pack(push, 4)
2444#endif
2445 typedef struct {
2446 NDR_record_t NDR;
2447 mach_msg_type_number_t pagesCnt;
2448 char padding[0]; /* Avoid generating empty UData structs */
2449 } __ReplyUData__mapped_pages_info_t __attribute__((unused));
2450#ifdef __MigPackStructs
2451#pragma pack(pop)
2452#endif
2453
2454#ifdef __MigPackStructs
2455#pragma pack(push, 4)
2456#endif
2457 typedef struct {
2458 mach_msg_header_t Head;
2459 NDR_record_t NDR;
2460 kern_return_t RetCode;
2461 vm32_address_t address;
2462 vm32_size_t size;
2463 natural_t nesting_depth;
2464 mach_msg_type_number_t infoCnt;
2465 int info[19];
2466 } __Reply__region_recurse_t __attribute__((unused));
2467#ifdef __MigPackStructs
2468#pragma pack(pop)
2469#endif
2470/* Struct for kernel processed data (Header + Descriptors) */
2471#ifdef __MigPackStructs
2472#pragma pack(push, 4)
2473#endif
2474 typedef struct {
2475 mach_msg_header_t Head;
2476 } __ReplyKData__region_recurse_t __attribute__((unused));
2477#ifdef __MigPackStructs
2478#pragma pack(pop)
2479#endif
2480/* Struct for pure user data */
2481#ifdef __MigPackStructs
2482#pragma pack(push, 4)
2483#endif
2484 typedef struct {
2485 NDR_record_t NDR;
2486 kern_return_t RetCode;
2487 vm32_address_t address;
2488 vm32_size_t size;
2489 natural_t nesting_depth;
2490 mach_msg_type_number_t infoCnt;
2491 int info[19];
2492 char padding[0]; /* Avoid generating empty UData structs */
2493 } __ReplyUData__region_recurse_t __attribute__((unused));
2494#ifdef __MigPackStructs
2495#pragma pack(pop)
2496#endif
2497
2498#ifdef __MigPackStructs
2499#pragma pack(push, 4)
2500#endif
2501 typedef struct {
2502 mach_msg_header_t Head;
2503 NDR_record_t NDR;
2504 kern_return_t RetCode;
2505 vm32_address_t address;
2506 vm32_size_t size;
2507 natural_t nesting_depth;
2508 mach_msg_type_number_t infoCnt;
2509 int info[19];
2510 } __Reply__region_recurse_64_t __attribute__((unused));
2511#ifdef __MigPackStructs
2512#pragma pack(pop)
2513#endif
2514/* Struct for kernel processed data (Header + Descriptors) */
2515#ifdef __MigPackStructs
2516#pragma pack(push, 4)
2517#endif
2518 typedef struct {
2519 mach_msg_header_t Head;
2520 } __ReplyKData__region_recurse_64_t __attribute__((unused));
2521#ifdef __MigPackStructs
2522#pragma pack(pop)
2523#endif
2524/* Struct for pure user data */
2525#ifdef __MigPackStructs
2526#pragma pack(push, 4)
2527#endif
2528 typedef struct {
2529 NDR_record_t NDR;
2530 kern_return_t RetCode;
2531 vm32_address_t address;
2532 vm32_size_t size;
2533 natural_t nesting_depth;
2534 mach_msg_type_number_t infoCnt;
2535 int info[19];
2536 char padding[0]; /* Avoid generating empty UData structs */
2537 } __ReplyUData__region_recurse_64_t __attribute__((unused));
2538#ifdef __MigPackStructs
2539#pragma pack(pop)
2540#endif
2541
2542#ifdef __MigPackStructs
2543#pragma pack(push, 4)
2544#endif
2545 typedef struct {
2546 mach_msg_header_t Head;
2547 /* start of the kernel processed data */
2548 mach_msg_body_t msgh_body;
2549 mach_msg_ool_descriptor_t objects;
2550 /* end of the kernel processed data */
2551 NDR_record_t NDR;
2552 vm_info_region_64_t region;
2553 mach_msg_type_number_t objectsCnt;
2554 } __Reply__region_info_64_t __attribute__((unused));
2555#ifdef __MigPackStructs
2556#pragma pack(pop)
2557#endif
2558/* Struct for kernel processed data (Header + Descriptors) */
2559#ifdef __MigPackStructs
2560#pragma pack(push, 4)
2561#endif
2562 typedef struct {
2563 mach_msg_header_t Head;
2564 mach_msg_body_t msgh_body;
2565 mach_msg_ool_descriptor_t objects;
2566 } __ReplyKData__region_info_64_t __attribute__((unused));
2567#ifdef __MigPackStructs
2568#pragma pack(pop)
2569#endif
2570/* Struct for pure user data */
2571#ifdef __MigPackStructs
2572#pragma pack(push, 4)
2573#endif
2574 typedef struct {
2575 NDR_record_t NDR;
2576 vm_info_region_64_t region;
2577 mach_msg_type_number_t objectsCnt;
2578 char padding[0]; /* Avoid generating empty UData structs */
2579 } __ReplyUData__region_info_64_t __attribute__((unused));
2580#ifdef __MigPackStructs
2581#pragma pack(pop)
2582#endif
2583
2584#ifdef __MigPackStructs
2585#pragma pack(push, 4)
2586#endif
2587 typedef struct {
2588 mach_msg_header_t Head;
2589 /* start of the kernel processed data */
2590 mach_msg_body_t msgh_body;
2591 mach_msg_port_descriptor_t object_name;
2592 /* end of the kernel processed data */
2593 NDR_record_t NDR;
2594 vm32_address_t address;
2595 vm32_size_t size;
2596 mach_msg_type_number_t infoCnt;
2597 int info[10];
2598 } __Reply__region_64_t __attribute__((unused));
2599#ifdef __MigPackStructs
2600#pragma pack(pop)
2601#endif
2602/* Struct for kernel processed data (Header + Descriptors) */
2603#ifdef __MigPackStructs
2604#pragma pack(push, 4)
2605#endif
2606 typedef struct {
2607 mach_msg_header_t Head;
2608 mach_msg_body_t msgh_body;
2609 mach_msg_port_descriptor_t object_name;
2610 } __ReplyKData__region_64_t __attribute__((unused));
2611#ifdef __MigPackStructs
2612#pragma pack(pop)
2613#endif
2614/* Struct for pure user data */
2615#ifdef __MigPackStructs
2616#pragma pack(push, 4)
2617#endif
2618 typedef struct {
2619 NDR_record_t NDR;
2620 vm32_address_t address;
2621 vm32_size_t size;
2622 mach_msg_type_number_t infoCnt;
2623 int info[10];
2624 char padding[0]; /* Avoid generating empty UData structs */
2625 } __ReplyUData__region_64_t __attribute__((unused));
2626#ifdef __MigPackStructs
2627#pragma pack(pop)
2628#endif
2629
2630#ifdef __MigPackStructs
2631#pragma pack(push, 4)
2632#endif
2633 typedef struct {
2634 mach_msg_header_t Head;
2635 /* start of the kernel processed data */
2636 mach_msg_body_t msgh_body;
2637 mach_msg_port_descriptor_t object_handle;
2638 /* end of the kernel processed data */
2639 NDR_record_t NDR;
2640 memory_object_size_t size;
2641 } __Reply__make_memory_entry_64_t __attribute__((unused));
2642#ifdef __MigPackStructs
2643#pragma pack(pop)
2644#endif
2645/* Struct for kernel processed data (Header + Descriptors) */
2646#ifdef __MigPackStructs
2647#pragma pack(push, 4)
2648#endif
2649 typedef struct {
2650 mach_msg_header_t Head;
2651 mach_msg_body_t msgh_body;
2652 mach_msg_port_descriptor_t object_handle;
2653 } __ReplyKData__make_memory_entry_64_t __attribute__((unused));
2654#ifdef __MigPackStructs
2655#pragma pack(pop)
2656#endif
2657/* Struct for pure user data */
2658#ifdef __MigPackStructs
2659#pragma pack(push, 4)
2660#endif
2661 typedef struct {
2662 NDR_record_t NDR;
2663 memory_object_size_t size;
2664 char padding[0]; /* Avoid generating empty UData structs */
2665 } __ReplyUData__make_memory_entry_64_t __attribute__((unused));
2666#ifdef __MigPackStructs
2667#pragma pack(pop)
2668#endif
2669
2670#ifdef __MigPackStructs
2671#pragma pack(push, 4)
2672#endif
2673 typedef struct {
2674 mach_msg_header_t Head;
2675 NDR_record_t NDR;
2676 kern_return_t RetCode;
2677 vm32_address_t address;
2678 } __Reply__map_64_t __attribute__((unused));
2679#ifdef __MigPackStructs
2680#pragma pack(pop)
2681#endif
2682/* Struct for kernel processed data (Header + Descriptors) */
2683#ifdef __MigPackStructs
2684#pragma pack(push, 4)
2685#endif
2686 typedef struct {
2687 mach_msg_header_t Head;
2688 } __ReplyKData__map_64_t __attribute__((unused));
2689#ifdef __MigPackStructs
2690#pragma pack(pop)
2691#endif
2692/* Struct for pure user data */
2693#ifdef __MigPackStructs
2694#pragma pack(push, 4)
2695#endif
2696 typedef struct {
2697 NDR_record_t NDR;
2698 kern_return_t RetCode;
2699 vm32_address_t address;
2700 char padding[0]; /* Avoid generating empty UData structs */
2701 } __ReplyUData__map_64_t __attribute__((unused));
2702#ifdef __MigPackStructs
2703#pragma pack(pop)
2704#endif
2705
2706#ifdef __MigPackStructs
2707#pragma pack(push, 4)
2708#endif
2709 typedef struct {
2710 mach_msg_header_t Head;
2711 NDR_record_t NDR;
2712 kern_return_t RetCode;
2713 int state;
2714 } __Reply__purgable_control_t __attribute__((unused));
2715#ifdef __MigPackStructs
2716#pragma pack(pop)
2717#endif
2718/* Struct for kernel processed data (Header + Descriptors) */
2719#ifdef __MigPackStructs
2720#pragma pack(push, 4)
2721#endif
2722 typedef struct {
2723 mach_msg_header_t Head;
2724 } __ReplyKData__purgable_control_t __attribute__((unused));
2725#ifdef __MigPackStructs
2726#pragma pack(pop)
2727#endif
2728/* Struct for pure user data */
2729#ifdef __MigPackStructs
2730#pragma pack(push, 4)
2731#endif
2732 typedef struct {
2733 NDR_record_t NDR;
2734 kern_return_t RetCode;
2735 int state;
2736 char padding[0]; /* Avoid generating empty UData structs */
2737 } __ReplyUData__purgable_control_t __attribute__((unused));
2738#ifdef __MigPackStructs
2739#pragma pack(pop)
2740#endif
2741
2742#ifdef __MigPackStructs
2743#pragma pack(push, 4)
2744#endif
2745 typedef struct {
2746 mach_msg_header_t Head;
2747 NDR_record_t NDR;
2748 kern_return_t RetCode;
2749 } __Reply___map_exec_lockdown_t __attribute__((unused));
2750#ifdef __MigPackStructs
2751#pragma pack(pop)
2752#endif
2753/* Struct for kernel processed data (Header + Descriptors) */
2754#ifdef __MigPackStructs
2755#pragma pack(push, 4)
2756#endif
2757 typedef struct {
2758 mach_msg_header_t Head;
2759 } __ReplyKData___map_exec_lockdown_t __attribute__((unused));
2760#ifdef __MigPackStructs
2761#pragma pack(pop)
2762#endif
2763/* Struct for pure user data */
2764#ifdef __MigPackStructs
2765#pragma pack(push, 4)
2766#endif
2767 typedef struct {
2768 NDR_record_t NDR;
2769 kern_return_t RetCode;
2770 char padding[0]; /* Avoid generating empty UData structs */
2771 } __ReplyUData___map_exec_lockdown_t __attribute__((unused));
2772#ifdef __MigPackStructs
2773#pragma pack(pop)
2774#endif
2775#endif /* !__Reply__map_subsystem__defined */
2776
2777
2778/* union of all replies */
2779
2780#ifndef __ReplyUnion__vm32_map_subsystem__defined
2781#define __ReplyUnion__vm32_map_subsystem__defined
2782union __ReplyUnion__vm32_map_subsystem {
2783 __Reply__region_t Reply_region;
2784 __Reply__allocate_t Reply_allocate;
2785 __Reply__deallocate_t Reply_deallocate;
2786 __Reply__protect_t Reply_protect;
2787 __Reply__inherit_t Reply_inherit;
2788 __Reply__read_t Reply_read;
2789 __Reply__read_list_t Reply_read_list;
2790 __Reply__write_t Reply_write;
2791 __Reply__copy_t Reply_copy;
2792 __Reply__read_overwrite_t Reply_read_overwrite;
2793 __Reply__msync_t Reply_msync;
2794 __Reply__behavior_set_t Reply_behavior_set;
2795 __Reply__map_t Reply_map;
2796 __Reply__machine_attribute_t Reply_machine_attribute;
2797 __Reply__remap_t Reply_remap;
2798 __Reply___task_wire_t Reply__task_wire;
2799 __Reply__make_memory_entry_t Reply_make_memory_entry;
2800 __Reply__map_page_query_t Reply_map_page_query;
2801 __Reply__region_info_t Reply_region_info;
2802 __Reply__mapped_pages_info_t Reply_mapped_pages_info;
2803 __Reply__region_recurse_t Reply_region_recurse;
2804 __Reply__region_recurse_64_t Reply_region_recurse_64;
2805 __Reply__region_info_64_t Reply_region_info_64;
2806 __Reply__region_64_t Reply_region_64;
2807 __Reply__make_memory_entry_64_t Reply_make_memory_entry_64;
2808 __Reply__map_64_t Reply_map_64;
2809 __Reply__purgable_control_t Reply_purgable_control;
2810 __Reply___map_exec_lockdown_t Reply__map_exec_lockdown;
2811};
2812#endif /* __ReplyUnion__vm32_map_subsystem__defined */
2813
2814#ifndef subsystem_to_name_map_map
2815#define subsystem_to_name_map_map \
2816 { "region", 3800 },\
2817 { "allocate", 3801 },\
2818 { "deallocate", 3802 },\
2819 { "protect", 3803 },\
2820 { "inherit", 3804 },\
2821 { "read", 3805 },\
2822 { "read_list", 3806 },\
2823 { "write", 3807 },\
2824 { "copy", 3808 },\
2825 { "read_overwrite", 3809 },\
2826 { "msync", 3810 },\
2827 { "behavior_set", 3811 },\
2828 { "map", 3812 },\
2829 { "machine_attribute", 3813 },\
2830 { "remap", 3814 },\
2831 { "_task_wire", 3815 },\
2832 { "make_memory_entry", 3816 },\
2833 { "map_page_query", 3817 },\
2834 { "region_info", 3818 },\
2835 { "mapped_pages_info", 3819 },\
2836 { "region_recurse", 3821 },\
2837 { "region_recurse_64", 3822 },\
2838 { "region_info_64", 3823 },\
2839 { "region_64", 3824 },\
2840 { "make_memory_entry_64", 3825 },\
2841 { "map_64", 3826 },\
2842 { "purgable_control", 3830 },\
2843 { "_map_exec_lockdown", 3831 }
2844#endif
2845
2846#ifdef __AfterMigServerHeader
2847__AfterMigServerHeader
2848#endif /* __AfterMigServerHeader */
2849
2850#endif /* _map_server_ */
2851