1#ifndef _vm_map_user_
2#define _vm_map_user_
3
4/* Module vm_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 extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import));
29#ifdef __cplusplus
30}
31#endif
32#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */
33#endif /* __has_include(<mach/mig_strncpy_zerofill_support.h>) */
34#endif /* __has_include */
35
36/* END MIG_STRNCPY_ZEROFILL CODE */
37
38
39#ifdef AUTOTEST
40#ifndef FUNCTION_PTR_T
41#define FUNCTION_PTR_T
42typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
43typedef struct {
44 char *name;
45 function_ptr_t function;
46} function_table_entry;
47typedef function_table_entry *function_table_t;
48#endif /* FUNCTION_PTR_T */
49#endif /* AUTOTEST */
50
51#ifndef vm_map_MSG_COUNT
52#define vm_map_MSG_COUNT 32
53#endif /* vm_map_MSG_COUNT */
54
55#include <mach/std_types.h>
56#include <mach/mig.h>
57#include <mach/mig.h>
58#include <mach/mach_types.h>
59#include <mach_debug/mach_debug_types.h>
60
61#ifdef __BeforeMigUserHeader
62__BeforeMigUserHeader
63#endif /* __BeforeMigUserHeader */
64
65#include <sys/cdefs.h>
66__BEGIN_DECLS
67
68
69/* Routine vm_region */
70#ifdef mig_external
71mig_external
72#else
73extern
74#endif /* mig_external */
75kern_return_t vm_region
76(
77 vm_map_t target_task,
78 vm_address_t *address,
79 vm_size_t *size,
80 vm_region_flavor_t flavor,
81 vm_region_info_t info,
82 mach_msg_type_number_t *infoCnt,
83 mach_port_t *object_name
84);
85
86/* Routine vm_allocate */
87#ifdef mig_external
88mig_external
89#else
90extern
91#endif /* mig_external */
92kern_return_t vm_allocate
93(
94 vm_map_t target_task,
95 vm_address_t *address,
96 vm_size_t size,
97 int flags
98);
99
100/* Routine vm_deallocate */
101#ifdef mig_external
102mig_external
103#else
104extern
105#endif /* mig_external */
106kern_return_t vm_deallocate
107(
108 vm_map_t target_task,
109 vm_address_t address,
110 vm_size_t size
111);
112
113/* Routine vm_protect */
114#ifdef mig_external
115mig_external
116#else
117extern
118#endif /* mig_external */
119kern_return_t vm_protect
120(
121 vm_map_t target_task,
122 vm_address_t address,
123 vm_size_t size,
124 boolean_t set_maximum,
125 vm_prot_t new_protection
126);
127
128/* Routine vm_inherit */
129#ifdef mig_external
130mig_external
131#else
132extern
133#endif /* mig_external */
134kern_return_t vm_inherit
135(
136 vm_map_t target_task,
137 vm_address_t address,
138 vm_size_t size,
139 vm_inherit_t new_inheritance
140);
141
142/* Routine vm_read */
143#ifdef mig_external
144mig_external
145#else
146extern
147#endif /* mig_external */
148kern_return_t vm_read
149(
150 vm_map_t target_task,
151 vm_address_t address,
152 vm_size_t size,
153 vm_offset_t *data,
154 mach_msg_type_number_t *dataCnt
155);
156
157/* Routine vm_read_list */
158#ifdef mig_external
159mig_external
160#else
161extern
162#endif /* mig_external */
163kern_return_t vm_read_list
164(
165 vm_map_t target_task,
166 vm_read_entry_t data_list,
167 natural_t count
168);
169
170/* Routine vm_write */
171#ifdef mig_external
172mig_external
173#else
174extern
175#endif /* mig_external */
176kern_return_t vm_write
177(
178 vm_map_t target_task,
179 vm_address_t address,
180 vm_offset_t data,
181 mach_msg_type_number_t dataCnt
182);
183
184/* Routine vm_copy */
185#ifdef mig_external
186mig_external
187#else
188extern
189#endif /* mig_external */
190kern_return_t vm_copy
191(
192 vm_map_t target_task,
193 vm_address_t source_address,
194 vm_size_t size,
195 vm_address_t dest_address
196);
197
198/* Routine vm_read_overwrite */
199#ifdef mig_external
200mig_external
201#else
202extern
203#endif /* mig_external */
204kern_return_t vm_read_overwrite
205(
206 vm_map_t target_task,
207 vm_address_t address,
208 vm_size_t size,
209 vm_address_t data,
210 vm_size_t *outsize
211);
212
213/* Routine vm_msync */
214#ifdef mig_external
215mig_external
216#else
217extern
218#endif /* mig_external */
219kern_return_t vm_msync
220(
221 vm_map_t target_task,
222 vm_address_t address,
223 vm_size_t size,
224 vm_sync_t sync_flags
225);
226
227/* Routine vm_behavior_set */
228#ifdef mig_external
229mig_external
230#else
231extern
232#endif /* mig_external */
233kern_return_t vm_behavior_set
234(
235 vm_map_t target_task,
236 vm_address_t address,
237 vm_size_t size,
238 vm_behavior_t new_behavior
239);
240
241/* Routine vm_map */
242#ifdef mig_external
243mig_external
244#else
245extern
246#endif /* mig_external */
247kern_return_t vm_map
248(
249 vm_map_t target_task,
250 vm_address_t *address,
251 vm_size_t size,
252 vm_address_t mask,
253 int flags,
254 mem_entry_name_port_t object,
255 vm_offset_t offset,
256 boolean_t copy,
257 vm_prot_t cur_protection,
258 vm_prot_t max_protection,
259 vm_inherit_t inheritance
260);
261
262/* Routine vm_machine_attribute */
263#ifdef mig_external
264mig_external
265#else
266extern
267#endif /* mig_external */
268kern_return_t vm_machine_attribute
269(
270 vm_map_t target_task,
271 vm_address_t address,
272 vm_size_t size,
273 vm_machine_attribute_t attribute,
274 vm_machine_attribute_val_t *value
275);
276
277/* Routine vm_remap */
278#ifdef mig_external
279mig_external
280#else
281extern
282#endif /* mig_external */
283kern_return_t vm_remap
284(
285 vm_map_t target_task,
286 vm_address_t *target_address,
287 vm_size_t size,
288 vm_address_t mask,
289 int flags,
290 vm_map_t src_task,
291 vm_address_t src_address,
292 boolean_t copy,
293 vm_prot_t *cur_protection,
294 vm_prot_t *max_protection,
295 vm_inherit_t inheritance
296);
297
298/* Routine task_wire */
299#ifdef mig_external
300mig_external
301#else
302extern
303#endif /* mig_external */
304kern_return_t task_wire
305(
306 vm_map_t target_task,
307 boolean_t must_wire
308);
309
310/* Routine mach_make_memory_entry */
311#ifdef mig_external
312mig_external
313#else
314extern
315#endif /* mig_external */
316kern_return_t mach_make_memory_entry
317(
318 vm_map_t target_task,
319 vm_size_t *size,
320 vm_offset_t offset,
321 vm_prot_t permission,
322 mem_entry_name_port_t *object_handle,
323 mem_entry_name_port_t parent_entry
324);
325
326/* Routine vm_map_page_query */
327#ifdef mig_external
328mig_external
329#else
330extern
331#endif /* mig_external */
332kern_return_t vm_map_page_query
333(
334 vm_map_t target_map,
335 vm_offset_t offset,
336 integer_t *disposition,
337 integer_t *ref_count
338);
339
340/* Routine mach_vm_region_info */
341#ifdef mig_external
342mig_external
343#else
344extern
345#endif /* mig_external */
346kern_return_t mach_vm_region_info
347(
348 vm_map_t task,
349 vm_address_t address,
350 vm_info_region_t *region,
351 vm_info_object_array_t *objects,
352 mach_msg_type_number_t *objectsCnt
353);
354
355/* Routine vm_mapped_pages_info */
356#ifdef mig_external
357mig_external
358#else
359extern
360#endif /* mig_external */
361kern_return_t vm_mapped_pages_info
362(
363 vm_map_t task,
364 page_address_array_t *pages,
365 mach_msg_type_number_t *pagesCnt
366);
367
368/* Routine vm_region_recurse */
369#ifdef mig_external
370mig_external
371#else
372extern
373#endif /* mig_external */
374kern_return_t vm_region_recurse
375(
376 vm_map_t target_task,
377 vm_address_t *address,
378 vm_size_t *size,
379 natural_t *nesting_depth,
380 vm_region_recurse_info_t info,
381 mach_msg_type_number_t *infoCnt
382);
383
384/* Routine vm_region_recurse_64 */
385#ifdef mig_external
386mig_external
387#else
388extern
389#endif /* mig_external */
390kern_return_t vm_region_recurse_64
391(
392 vm_map_t target_task,
393 vm_address_t *address,
394 vm_size_t *size,
395 natural_t *nesting_depth,
396 vm_region_recurse_info_t info,
397 mach_msg_type_number_t *infoCnt
398);
399
400/* Routine mach_vm_region_info_64 */
401#ifdef mig_external
402mig_external
403#else
404extern
405#endif /* mig_external */
406kern_return_t mach_vm_region_info_64
407(
408 vm_map_t task,
409 vm_address_t address,
410 vm_info_region_64_t *region,
411 vm_info_object_array_t *objects,
412 mach_msg_type_number_t *objectsCnt
413);
414
415/* Routine vm_region_64 */
416#ifdef mig_external
417mig_external
418#else
419extern
420#endif /* mig_external */
421kern_return_t vm_region_64
422(
423 vm_map_t target_task,
424 vm_address_t *address,
425 vm_size_t *size,
426 vm_region_flavor_t flavor,
427 vm_region_info_t info,
428 mach_msg_type_number_t *infoCnt,
429 mach_port_t *object_name
430);
431
432/* Routine mach_make_memory_entry_64 */
433#ifdef mig_external
434mig_external
435#else
436extern
437#endif /* mig_external */
438kern_return_t mach_make_memory_entry_64
439(
440 vm_map_t target_task,
441 memory_object_size_t *size,
442 memory_object_offset_t offset,
443 vm_prot_t permission,
444 mach_port_t *object_handle,
445 mem_entry_name_port_t parent_entry
446);
447
448/* Routine vm_map_64 */
449#ifdef mig_external
450mig_external
451#else
452extern
453#endif /* mig_external */
454kern_return_t vm_map_64
455(
456 vm_map_t target_task,
457 vm_address_t *address,
458 vm_size_t size,
459 vm_address_t mask,
460 int flags,
461 mem_entry_name_port_t object,
462 memory_object_offset_t offset,
463 boolean_t copy,
464 vm_prot_t cur_protection,
465 vm_prot_t max_protection,
466 vm_inherit_t inheritance
467);
468
469/* Routine vm_purgable_control */
470#ifdef mig_external
471mig_external
472#else
473extern
474#endif /* mig_external */
475kern_return_t vm_purgable_control
476(
477 vm_map_t target_task,
478 vm_address_t address,
479 vm_purgable_t control,
480 int *state
481);
482
483/* Routine vm_map_exec_lockdown */
484#ifdef mig_external
485mig_external
486#else
487extern
488#endif /* mig_external */
489kern_return_t vm_map_exec_lockdown
490(
491 vm_map_t target_task
492);
493
494__END_DECLS
495
496/********************** Caution **************************/
497/* The following data types should be used to calculate */
498/* maximum message sizes only. The actual message may be */
499/* smaller, and the position of the arguments within the */
500/* message layout may vary from what is presented here. */
501/* For example, if any of the arguments are variable- */
502/* sized, and less than the maximum is sent, the data */
503/* will be packed tight in the actual message to reduce */
504/* the presence of holes. */
505/********************** Caution **************************/
506
507/* typedefs for all requests */
508
509#ifndef __Request__vm_map_subsystem__defined
510#define __Request__vm_map_subsystem__defined
511
512#ifdef __MigPackStructs
513#pragma pack(4)
514#endif
515 typedef struct {
516 mach_msg_header_t Head;
517 NDR_record_t NDR;
518 vm_address_t address;
519 vm_region_flavor_t flavor;
520 mach_msg_type_number_t infoCnt;
521 } __Request__vm_region_t __attribute__((unused));
522#ifdef __MigPackStructs
523#pragma pack()
524#endif
525
526#ifdef __MigPackStructs
527#pragma pack(4)
528#endif
529 typedef struct {
530 mach_msg_header_t Head;
531 NDR_record_t NDR;
532 vm_address_t address;
533 vm_size_t size;
534 int flags;
535 } __Request__vm_allocate_t __attribute__((unused));
536#ifdef __MigPackStructs
537#pragma pack()
538#endif
539
540#ifdef __MigPackStructs
541#pragma pack(4)
542#endif
543 typedef struct {
544 mach_msg_header_t Head;
545 NDR_record_t NDR;
546 vm_address_t address;
547 vm_size_t size;
548 } __Request__vm_deallocate_t __attribute__((unused));
549#ifdef __MigPackStructs
550#pragma pack()
551#endif
552
553#ifdef __MigPackStructs
554#pragma pack(4)
555#endif
556 typedef struct {
557 mach_msg_header_t Head;
558 NDR_record_t NDR;
559 vm_address_t address;
560 vm_size_t size;
561 boolean_t set_maximum;
562 vm_prot_t new_protection;
563 } __Request__vm_protect_t __attribute__((unused));
564#ifdef __MigPackStructs
565#pragma pack()
566#endif
567
568#ifdef __MigPackStructs
569#pragma pack(4)
570#endif
571 typedef struct {
572 mach_msg_header_t Head;
573 NDR_record_t NDR;
574 vm_address_t address;
575 vm_size_t size;
576 vm_inherit_t new_inheritance;
577 } __Request__vm_inherit_t __attribute__((unused));
578#ifdef __MigPackStructs
579#pragma pack()
580#endif
581
582#ifdef __MigPackStructs
583#pragma pack(4)
584#endif
585 typedef struct {
586 mach_msg_header_t Head;
587 NDR_record_t NDR;
588 vm_address_t address;
589 vm_size_t size;
590 } __Request__vm_read_t __attribute__((unused));
591#ifdef __MigPackStructs
592#pragma pack()
593#endif
594
595#ifdef __MigPackStructs
596#pragma pack(4)
597#endif
598 typedef struct {
599 mach_msg_header_t Head;
600 NDR_record_t NDR;
601 vm_read_entry_t data_list;
602 natural_t count;
603 } __Request__vm_read_list_t __attribute__((unused));
604#ifdef __MigPackStructs
605#pragma pack()
606#endif
607
608#ifdef __MigPackStructs
609#pragma pack(4)
610#endif
611 typedef struct {
612 mach_msg_header_t Head;
613 /* start of the kernel processed data */
614 mach_msg_body_t msgh_body;
615 mach_msg_ool_descriptor_t data;
616 /* end of the kernel processed data */
617 NDR_record_t NDR;
618 vm_address_t address;
619 mach_msg_type_number_t dataCnt;
620 } __Request__vm_write_t __attribute__((unused));
621#ifdef __MigPackStructs
622#pragma pack()
623#endif
624
625#ifdef __MigPackStructs
626#pragma pack(4)
627#endif
628 typedef struct {
629 mach_msg_header_t Head;
630 NDR_record_t NDR;
631 vm_address_t source_address;
632 vm_size_t size;
633 vm_address_t dest_address;
634 } __Request__vm_copy_t __attribute__((unused));
635#ifdef __MigPackStructs
636#pragma pack()
637#endif
638
639#ifdef __MigPackStructs
640#pragma pack(4)
641#endif
642 typedef struct {
643 mach_msg_header_t Head;
644 NDR_record_t NDR;
645 vm_address_t address;
646 vm_size_t size;
647 vm_address_t data;
648 } __Request__vm_read_overwrite_t __attribute__((unused));
649#ifdef __MigPackStructs
650#pragma pack()
651#endif
652
653#ifdef __MigPackStructs
654#pragma pack(4)
655#endif
656 typedef struct {
657 mach_msg_header_t Head;
658 NDR_record_t NDR;
659 vm_address_t address;
660 vm_size_t size;
661 vm_sync_t sync_flags;
662 } __Request__vm_msync_t __attribute__((unused));
663#ifdef __MigPackStructs
664#pragma pack()
665#endif
666
667#ifdef __MigPackStructs
668#pragma pack(4)
669#endif
670 typedef struct {
671 mach_msg_header_t Head;
672 NDR_record_t NDR;
673 vm_address_t address;
674 vm_size_t size;
675 vm_behavior_t new_behavior;
676 } __Request__vm_behavior_set_t __attribute__((unused));
677#ifdef __MigPackStructs
678#pragma pack()
679#endif
680
681#ifdef __MigPackStructs
682#pragma pack(4)
683#endif
684 typedef struct {
685 mach_msg_header_t Head;
686 /* start of the kernel processed data */
687 mach_msg_body_t msgh_body;
688 mach_msg_port_descriptor_t object;
689 /* end of the kernel processed data */
690 NDR_record_t NDR;
691 vm_address_t address;
692 vm_size_t size;
693 vm_address_t mask;
694 int flags;
695 vm_offset_t offset;
696 boolean_t copy;
697 vm_prot_t cur_protection;
698 vm_prot_t max_protection;
699 vm_inherit_t inheritance;
700 } __Request__vm_map_t __attribute__((unused));
701#ifdef __MigPackStructs
702#pragma pack()
703#endif
704
705#ifdef __MigPackStructs
706#pragma pack(4)
707#endif
708 typedef struct {
709 mach_msg_header_t Head;
710 NDR_record_t NDR;
711 vm_address_t address;
712 vm_size_t size;
713 vm_machine_attribute_t attribute;
714 vm_machine_attribute_val_t value;
715 } __Request__vm_machine_attribute_t __attribute__((unused));
716#ifdef __MigPackStructs
717#pragma pack()
718#endif
719
720#ifdef __MigPackStructs
721#pragma pack(4)
722#endif
723 typedef struct {
724 mach_msg_header_t Head;
725 /* start of the kernel processed data */
726 mach_msg_body_t msgh_body;
727 mach_msg_port_descriptor_t src_task;
728 /* end of the kernel processed data */
729 NDR_record_t NDR;
730 vm_address_t target_address;
731 vm_size_t size;
732 vm_address_t mask;
733 int flags;
734 vm_address_t src_address;
735 boolean_t copy;
736 vm_inherit_t inheritance;
737 } __Request__vm_remap_t __attribute__((unused));
738#ifdef __MigPackStructs
739#pragma pack()
740#endif
741
742#ifdef __MigPackStructs
743#pragma pack(4)
744#endif
745 typedef struct {
746 mach_msg_header_t Head;
747 NDR_record_t NDR;
748 boolean_t must_wire;
749 } __Request__task_wire_t __attribute__((unused));
750#ifdef __MigPackStructs
751#pragma pack()
752#endif
753
754#ifdef __MigPackStructs
755#pragma pack(4)
756#endif
757 typedef struct {
758 mach_msg_header_t Head;
759 /* start of the kernel processed data */
760 mach_msg_body_t msgh_body;
761 mach_msg_port_descriptor_t parent_entry;
762 /* end of the kernel processed data */
763 NDR_record_t NDR;
764 vm_size_t size;
765 vm_offset_t offset;
766 vm_prot_t permission;
767 } __Request__mach_make_memory_entry_t __attribute__((unused));
768#ifdef __MigPackStructs
769#pragma pack()
770#endif
771
772#ifdef __MigPackStructs
773#pragma pack(4)
774#endif
775 typedef struct {
776 mach_msg_header_t Head;
777 NDR_record_t NDR;
778 vm_offset_t offset;
779 } __Request__vm_map_page_query_t __attribute__((unused));
780#ifdef __MigPackStructs
781#pragma pack()
782#endif
783
784#ifdef __MigPackStructs
785#pragma pack(4)
786#endif
787 typedef struct {
788 mach_msg_header_t Head;
789 NDR_record_t NDR;
790 vm_address_t address;
791 } __Request__mach_vm_region_info_t __attribute__((unused));
792#ifdef __MigPackStructs
793#pragma pack()
794#endif
795
796#ifdef __MigPackStructs
797#pragma pack(4)
798#endif
799 typedef struct {
800 mach_msg_header_t Head;
801 } __Request__vm_mapped_pages_info_t __attribute__((unused));
802#ifdef __MigPackStructs
803#pragma pack()
804#endif
805
806#ifdef __MigPackStructs
807#pragma pack(4)
808#endif
809 typedef struct {
810 mach_msg_header_t Head;
811 NDR_record_t NDR;
812 vm_address_t address;
813 natural_t nesting_depth;
814 mach_msg_type_number_t infoCnt;
815 } __Request__vm_region_recurse_t __attribute__((unused));
816#ifdef __MigPackStructs
817#pragma pack()
818#endif
819
820#ifdef __MigPackStructs
821#pragma pack(4)
822#endif
823 typedef struct {
824 mach_msg_header_t Head;
825 NDR_record_t NDR;
826 vm_address_t address;
827 natural_t nesting_depth;
828 mach_msg_type_number_t infoCnt;
829 } __Request__vm_region_recurse_64_t __attribute__((unused));
830#ifdef __MigPackStructs
831#pragma pack()
832#endif
833
834#ifdef __MigPackStructs
835#pragma pack(4)
836#endif
837 typedef struct {
838 mach_msg_header_t Head;
839 NDR_record_t NDR;
840 vm_address_t address;
841 } __Request__mach_vm_region_info_64_t __attribute__((unused));
842#ifdef __MigPackStructs
843#pragma pack()
844#endif
845
846#ifdef __MigPackStructs
847#pragma pack(4)
848#endif
849 typedef struct {
850 mach_msg_header_t Head;
851 NDR_record_t NDR;
852 vm_address_t address;
853 vm_region_flavor_t flavor;
854 mach_msg_type_number_t infoCnt;
855 } __Request__vm_region_64_t __attribute__((unused));
856#ifdef __MigPackStructs
857#pragma pack()
858#endif
859
860#ifdef __MigPackStructs
861#pragma pack(4)
862#endif
863 typedef struct {
864 mach_msg_header_t Head;
865 /* start of the kernel processed data */
866 mach_msg_body_t msgh_body;
867 mach_msg_port_descriptor_t parent_entry;
868 /* end of the kernel processed data */
869 NDR_record_t NDR;
870 memory_object_size_t size;
871 memory_object_offset_t offset;
872 vm_prot_t permission;
873 } __Request__mach_make_memory_entry_64_t __attribute__((unused));
874#ifdef __MigPackStructs
875#pragma pack()
876#endif
877
878#ifdef __MigPackStructs
879#pragma pack(4)
880#endif
881 typedef struct {
882 mach_msg_header_t Head;
883 /* start of the kernel processed data */
884 mach_msg_body_t msgh_body;
885 mach_msg_port_descriptor_t object;
886 /* end of the kernel processed data */
887 NDR_record_t NDR;
888 vm_address_t address;
889 vm_size_t size;
890 vm_address_t mask;
891 int flags;
892 memory_object_offset_t offset;
893 boolean_t copy;
894 vm_prot_t cur_protection;
895 vm_prot_t max_protection;
896 vm_inherit_t inheritance;
897 } __Request__vm_map_64_t __attribute__((unused));
898#ifdef __MigPackStructs
899#pragma pack()
900#endif
901
902#ifdef __MigPackStructs
903#pragma pack(4)
904#endif
905 typedef struct {
906 mach_msg_header_t Head;
907 NDR_record_t NDR;
908 vm_address_t address;
909 vm_purgable_t control;
910 int state;
911 } __Request__vm_purgable_control_t __attribute__((unused));
912#ifdef __MigPackStructs
913#pragma pack()
914#endif
915
916#ifdef __MigPackStructs
917#pragma pack(4)
918#endif
919 typedef struct {
920 mach_msg_header_t Head;
921 } __Request__vm_map_exec_lockdown_t __attribute__((unused));
922#ifdef __MigPackStructs
923#pragma pack()
924#endif
925#endif /* !__Request__vm_map_subsystem__defined */
926
927/* union of all requests */
928
929#ifndef __RequestUnion__vm_map_subsystem__defined
930#define __RequestUnion__vm_map_subsystem__defined
931union __RequestUnion__vm_map_subsystem {
932 __Request__vm_region_t Request_vm_region;
933 __Request__vm_allocate_t Request_vm_allocate;
934 __Request__vm_deallocate_t Request_vm_deallocate;
935 __Request__vm_protect_t Request_vm_protect;
936 __Request__vm_inherit_t Request_vm_inherit;
937 __Request__vm_read_t Request_vm_read;
938 __Request__vm_read_list_t Request_vm_read_list;
939 __Request__vm_write_t Request_vm_write;
940 __Request__vm_copy_t Request_vm_copy;
941 __Request__vm_read_overwrite_t Request_vm_read_overwrite;
942 __Request__vm_msync_t Request_vm_msync;
943 __Request__vm_behavior_set_t Request_vm_behavior_set;
944 __Request__vm_map_t Request_vm_map;
945 __Request__vm_machine_attribute_t Request_vm_machine_attribute;
946 __Request__vm_remap_t Request_vm_remap;
947 __Request__task_wire_t Request_task_wire;
948 __Request__mach_make_memory_entry_t Request_mach_make_memory_entry;
949 __Request__vm_map_page_query_t Request_vm_map_page_query;
950 __Request__mach_vm_region_info_t Request_mach_vm_region_info;
951 __Request__vm_mapped_pages_info_t Request_vm_mapped_pages_info;
952 __Request__vm_region_recurse_t Request_vm_region_recurse;
953 __Request__vm_region_recurse_64_t Request_vm_region_recurse_64;
954 __Request__mach_vm_region_info_64_t Request_mach_vm_region_info_64;
955 __Request__vm_region_64_t Request_vm_region_64;
956 __Request__mach_make_memory_entry_64_t Request_mach_make_memory_entry_64;
957 __Request__vm_map_64_t Request_vm_map_64;
958 __Request__vm_purgable_control_t Request_vm_purgable_control;
959 __Request__vm_map_exec_lockdown_t Request_vm_map_exec_lockdown;
960};
961#endif /* !__RequestUnion__vm_map_subsystem__defined */
962/* typedefs for all replies */
963
964#ifndef __Reply__vm_map_subsystem__defined
965#define __Reply__vm_map_subsystem__defined
966
967#ifdef __MigPackStructs
968#pragma pack(4)
969#endif
970 typedef struct {
971 mach_msg_header_t Head;
972 /* start of the kernel processed data */
973 mach_msg_body_t msgh_body;
974 mach_msg_port_descriptor_t object_name;
975 /* end of the kernel processed data */
976 NDR_record_t NDR;
977 vm_address_t address;
978 vm_size_t size;
979 mach_msg_type_number_t infoCnt;
980 int info[10];
981 } __Reply__vm_region_t __attribute__((unused));
982#ifdef __MigPackStructs
983#pragma pack()
984#endif
985
986#ifdef __MigPackStructs
987#pragma pack(4)
988#endif
989 typedef struct {
990 mach_msg_header_t Head;
991 NDR_record_t NDR;
992 kern_return_t RetCode;
993 vm_address_t address;
994 } __Reply__vm_allocate_t __attribute__((unused));
995#ifdef __MigPackStructs
996#pragma pack()
997#endif
998
999#ifdef __MigPackStructs
1000#pragma pack(4)
1001#endif
1002 typedef struct {
1003 mach_msg_header_t Head;
1004 NDR_record_t NDR;
1005 kern_return_t RetCode;
1006 } __Reply__vm_deallocate_t __attribute__((unused));
1007#ifdef __MigPackStructs
1008#pragma pack()
1009#endif
1010
1011#ifdef __MigPackStructs
1012#pragma pack(4)
1013#endif
1014 typedef struct {
1015 mach_msg_header_t Head;
1016 NDR_record_t NDR;
1017 kern_return_t RetCode;
1018 } __Reply__vm_protect_t __attribute__((unused));
1019#ifdef __MigPackStructs
1020#pragma pack()
1021#endif
1022
1023#ifdef __MigPackStructs
1024#pragma pack(4)
1025#endif
1026 typedef struct {
1027 mach_msg_header_t Head;
1028 NDR_record_t NDR;
1029 kern_return_t RetCode;
1030 } __Reply__vm_inherit_t __attribute__((unused));
1031#ifdef __MigPackStructs
1032#pragma pack()
1033#endif
1034
1035#ifdef __MigPackStructs
1036#pragma pack(4)
1037#endif
1038 typedef struct {
1039 mach_msg_header_t Head;
1040 /* start of the kernel processed data */
1041 mach_msg_body_t msgh_body;
1042 mach_msg_ool_descriptor_t data;
1043 /* end of the kernel processed data */
1044 NDR_record_t NDR;
1045 mach_msg_type_number_t dataCnt;
1046 } __Reply__vm_read_t __attribute__((unused));
1047#ifdef __MigPackStructs
1048#pragma pack()
1049#endif
1050
1051#ifdef __MigPackStructs
1052#pragma pack(4)
1053#endif
1054 typedef struct {
1055 mach_msg_header_t Head;
1056 NDR_record_t NDR;
1057 kern_return_t RetCode;
1058 vm_read_entry_t data_list;
1059 } __Reply__vm_read_list_t __attribute__((unused));
1060#ifdef __MigPackStructs
1061#pragma pack()
1062#endif
1063
1064#ifdef __MigPackStructs
1065#pragma pack(4)
1066#endif
1067 typedef struct {
1068 mach_msg_header_t Head;
1069 NDR_record_t NDR;
1070 kern_return_t RetCode;
1071 } __Reply__vm_write_t __attribute__((unused));
1072#ifdef __MigPackStructs
1073#pragma pack()
1074#endif
1075
1076#ifdef __MigPackStructs
1077#pragma pack(4)
1078#endif
1079 typedef struct {
1080 mach_msg_header_t Head;
1081 NDR_record_t NDR;
1082 kern_return_t RetCode;
1083 } __Reply__vm_copy_t __attribute__((unused));
1084#ifdef __MigPackStructs
1085#pragma pack()
1086#endif
1087
1088#ifdef __MigPackStructs
1089#pragma pack(4)
1090#endif
1091 typedef struct {
1092 mach_msg_header_t Head;
1093 NDR_record_t NDR;
1094 kern_return_t RetCode;
1095 vm_size_t outsize;
1096 } __Reply__vm_read_overwrite_t __attribute__((unused));
1097#ifdef __MigPackStructs
1098#pragma pack()
1099#endif
1100
1101#ifdef __MigPackStructs
1102#pragma pack(4)
1103#endif
1104 typedef struct {
1105 mach_msg_header_t Head;
1106 NDR_record_t NDR;
1107 kern_return_t RetCode;
1108 } __Reply__vm_msync_t __attribute__((unused));
1109#ifdef __MigPackStructs
1110#pragma pack()
1111#endif
1112
1113#ifdef __MigPackStructs
1114#pragma pack(4)
1115#endif
1116 typedef struct {
1117 mach_msg_header_t Head;
1118 NDR_record_t NDR;
1119 kern_return_t RetCode;
1120 } __Reply__vm_behavior_set_t __attribute__((unused));
1121#ifdef __MigPackStructs
1122#pragma pack()
1123#endif
1124
1125#ifdef __MigPackStructs
1126#pragma pack(4)
1127#endif
1128 typedef struct {
1129 mach_msg_header_t Head;
1130 NDR_record_t NDR;
1131 kern_return_t RetCode;
1132 vm_address_t address;
1133 } __Reply__vm_map_t __attribute__((unused));
1134#ifdef __MigPackStructs
1135#pragma pack()
1136#endif
1137
1138#ifdef __MigPackStructs
1139#pragma pack(4)
1140#endif
1141 typedef struct {
1142 mach_msg_header_t Head;
1143 NDR_record_t NDR;
1144 kern_return_t RetCode;
1145 vm_machine_attribute_val_t value;
1146 } __Reply__vm_machine_attribute_t __attribute__((unused));
1147#ifdef __MigPackStructs
1148#pragma pack()
1149#endif
1150
1151#ifdef __MigPackStructs
1152#pragma pack(4)
1153#endif
1154 typedef struct {
1155 mach_msg_header_t Head;
1156 NDR_record_t NDR;
1157 kern_return_t RetCode;
1158 vm_address_t target_address;
1159 vm_prot_t cur_protection;
1160 vm_prot_t max_protection;
1161 } __Reply__vm_remap_t __attribute__((unused));
1162#ifdef __MigPackStructs
1163#pragma pack()
1164#endif
1165
1166#ifdef __MigPackStructs
1167#pragma pack(4)
1168#endif
1169 typedef struct {
1170 mach_msg_header_t Head;
1171 NDR_record_t NDR;
1172 kern_return_t RetCode;
1173 } __Reply__task_wire_t __attribute__((unused));
1174#ifdef __MigPackStructs
1175#pragma pack()
1176#endif
1177
1178#ifdef __MigPackStructs
1179#pragma pack(4)
1180#endif
1181 typedef struct {
1182 mach_msg_header_t Head;
1183 /* start of the kernel processed data */
1184 mach_msg_body_t msgh_body;
1185 mach_msg_port_descriptor_t object_handle;
1186 /* end of the kernel processed data */
1187 NDR_record_t NDR;
1188 vm_size_t size;
1189 } __Reply__mach_make_memory_entry_t __attribute__((unused));
1190#ifdef __MigPackStructs
1191#pragma pack()
1192#endif
1193
1194#ifdef __MigPackStructs
1195#pragma pack(4)
1196#endif
1197 typedef struct {
1198 mach_msg_header_t Head;
1199 NDR_record_t NDR;
1200 kern_return_t RetCode;
1201 integer_t disposition;
1202 integer_t ref_count;
1203 } __Reply__vm_map_page_query_t __attribute__((unused));
1204#ifdef __MigPackStructs
1205#pragma pack()
1206#endif
1207
1208#ifdef __MigPackStructs
1209#pragma pack(4)
1210#endif
1211 typedef struct {
1212 mach_msg_header_t Head;
1213 /* start of the kernel processed data */
1214 mach_msg_body_t msgh_body;
1215 mach_msg_ool_descriptor_t objects;
1216 /* end of the kernel processed data */
1217 NDR_record_t NDR;
1218 vm_info_region_t region;
1219 mach_msg_type_number_t objectsCnt;
1220 } __Reply__mach_vm_region_info_t __attribute__((unused));
1221#ifdef __MigPackStructs
1222#pragma pack()
1223#endif
1224
1225#ifdef __MigPackStructs
1226#pragma pack(4)
1227#endif
1228 typedef struct {
1229 mach_msg_header_t Head;
1230 /* start of the kernel processed data */
1231 mach_msg_body_t msgh_body;
1232 mach_msg_ool_descriptor_t pages;
1233 /* end of the kernel processed data */
1234 NDR_record_t NDR;
1235 mach_msg_type_number_t pagesCnt;
1236 } __Reply__vm_mapped_pages_info_t __attribute__((unused));
1237#ifdef __MigPackStructs
1238#pragma pack()
1239#endif
1240
1241#ifdef __MigPackStructs
1242#pragma pack(4)
1243#endif
1244 typedef struct {
1245 mach_msg_header_t Head;
1246 NDR_record_t NDR;
1247 kern_return_t RetCode;
1248 vm_address_t address;
1249 vm_size_t size;
1250 natural_t nesting_depth;
1251 mach_msg_type_number_t infoCnt;
1252 int info[19];
1253 } __Reply__vm_region_recurse_t __attribute__((unused));
1254#ifdef __MigPackStructs
1255#pragma pack()
1256#endif
1257
1258#ifdef __MigPackStructs
1259#pragma pack(4)
1260#endif
1261 typedef struct {
1262 mach_msg_header_t Head;
1263 NDR_record_t NDR;
1264 kern_return_t RetCode;
1265 vm_address_t address;
1266 vm_size_t size;
1267 natural_t nesting_depth;
1268 mach_msg_type_number_t infoCnt;
1269 int info[19];
1270 } __Reply__vm_region_recurse_64_t __attribute__((unused));
1271#ifdef __MigPackStructs
1272#pragma pack()
1273#endif
1274
1275#ifdef __MigPackStructs
1276#pragma pack(4)
1277#endif
1278 typedef struct {
1279 mach_msg_header_t Head;
1280 /* start of the kernel processed data */
1281 mach_msg_body_t msgh_body;
1282 mach_msg_ool_descriptor_t objects;
1283 /* end of the kernel processed data */
1284 NDR_record_t NDR;
1285 vm_info_region_64_t region;
1286 mach_msg_type_number_t objectsCnt;
1287 } __Reply__mach_vm_region_info_64_t __attribute__((unused));
1288#ifdef __MigPackStructs
1289#pragma pack()
1290#endif
1291
1292#ifdef __MigPackStructs
1293#pragma pack(4)
1294#endif
1295 typedef struct {
1296 mach_msg_header_t Head;
1297 /* start of the kernel processed data */
1298 mach_msg_body_t msgh_body;
1299 mach_msg_port_descriptor_t object_name;
1300 /* end of the kernel processed data */
1301 NDR_record_t NDR;
1302 vm_address_t address;
1303 vm_size_t size;
1304 mach_msg_type_number_t infoCnt;
1305 int info[10];
1306 } __Reply__vm_region_64_t __attribute__((unused));
1307#ifdef __MigPackStructs
1308#pragma pack()
1309#endif
1310
1311#ifdef __MigPackStructs
1312#pragma pack(4)
1313#endif
1314 typedef struct {
1315 mach_msg_header_t Head;
1316 /* start of the kernel processed data */
1317 mach_msg_body_t msgh_body;
1318 mach_msg_port_descriptor_t object_handle;
1319 /* end of the kernel processed data */
1320 NDR_record_t NDR;
1321 memory_object_size_t size;
1322 } __Reply__mach_make_memory_entry_64_t __attribute__((unused));
1323#ifdef __MigPackStructs
1324#pragma pack()
1325#endif
1326
1327#ifdef __MigPackStructs
1328#pragma pack(4)
1329#endif
1330 typedef struct {
1331 mach_msg_header_t Head;
1332 NDR_record_t NDR;
1333 kern_return_t RetCode;
1334 vm_address_t address;
1335 } __Reply__vm_map_64_t __attribute__((unused));
1336#ifdef __MigPackStructs
1337#pragma pack()
1338#endif
1339
1340#ifdef __MigPackStructs
1341#pragma pack(4)
1342#endif
1343 typedef struct {
1344 mach_msg_header_t Head;
1345 NDR_record_t NDR;
1346 kern_return_t RetCode;
1347 int state;
1348 } __Reply__vm_purgable_control_t __attribute__((unused));
1349#ifdef __MigPackStructs
1350#pragma pack()
1351#endif
1352
1353#ifdef __MigPackStructs
1354#pragma pack(4)
1355#endif
1356 typedef struct {
1357 mach_msg_header_t Head;
1358 NDR_record_t NDR;
1359 kern_return_t RetCode;
1360 } __Reply__vm_map_exec_lockdown_t __attribute__((unused));
1361#ifdef __MigPackStructs
1362#pragma pack()
1363#endif
1364#endif /* !__Reply__vm_map_subsystem__defined */
1365
1366/* union of all replies */
1367
1368#ifndef __ReplyUnion__vm_map_subsystem__defined
1369#define __ReplyUnion__vm_map_subsystem__defined
1370union __ReplyUnion__vm_map_subsystem {
1371 __Reply__vm_region_t Reply_vm_region;
1372 __Reply__vm_allocate_t Reply_vm_allocate;
1373 __Reply__vm_deallocate_t Reply_vm_deallocate;
1374 __Reply__vm_protect_t Reply_vm_protect;
1375 __Reply__vm_inherit_t Reply_vm_inherit;
1376 __Reply__vm_read_t Reply_vm_read;
1377 __Reply__vm_read_list_t Reply_vm_read_list;
1378 __Reply__vm_write_t Reply_vm_write;
1379 __Reply__vm_copy_t Reply_vm_copy;
1380 __Reply__vm_read_overwrite_t Reply_vm_read_overwrite;
1381 __Reply__vm_msync_t Reply_vm_msync;
1382 __Reply__vm_behavior_set_t Reply_vm_behavior_set;
1383 __Reply__vm_map_t Reply_vm_map;
1384 __Reply__vm_machine_attribute_t Reply_vm_machine_attribute;
1385 __Reply__vm_remap_t Reply_vm_remap;
1386 __Reply__task_wire_t Reply_task_wire;
1387 __Reply__mach_make_memory_entry_t Reply_mach_make_memory_entry;
1388 __Reply__vm_map_page_query_t Reply_vm_map_page_query;
1389 __Reply__mach_vm_region_info_t Reply_mach_vm_region_info;
1390 __Reply__vm_mapped_pages_info_t Reply_vm_mapped_pages_info;
1391 __Reply__vm_region_recurse_t Reply_vm_region_recurse;
1392 __Reply__vm_region_recurse_64_t Reply_vm_region_recurse_64;
1393 __Reply__mach_vm_region_info_64_t Reply_mach_vm_region_info_64;
1394 __Reply__vm_region_64_t Reply_vm_region_64;
1395 __Reply__mach_make_memory_entry_64_t Reply_mach_make_memory_entry_64;
1396 __Reply__vm_map_64_t Reply_vm_map_64;
1397 __Reply__vm_purgable_control_t Reply_vm_purgable_control;
1398 __Reply__vm_map_exec_lockdown_t Reply_vm_map_exec_lockdown;
1399};
1400#endif /* !__RequestUnion__vm_map_subsystem__defined */
1401
1402#ifndef subsystem_to_name_map_vm_map
1403#define subsystem_to_name_map_vm_map \
1404 { "vm_region", 3800 },\
1405 { "vm_allocate", 3801 },\
1406 { "vm_deallocate", 3802 },\
1407 { "vm_protect", 3803 },\
1408 { "vm_inherit", 3804 },\
1409 { "vm_read", 3805 },\
1410 { "vm_read_list", 3806 },\
1411 { "vm_write", 3807 },\
1412 { "vm_copy", 3808 },\
1413 { "vm_read_overwrite", 3809 },\
1414 { "vm_msync", 3810 },\
1415 { "vm_behavior_set", 3811 },\
1416 { "vm_map", 3812 },\
1417 { "vm_machine_attribute", 3813 },\
1418 { "vm_remap", 3814 },\
1419 { "task_wire", 3815 },\
1420 { "mach_make_memory_entry", 3816 },\
1421 { "vm_map_page_query", 3817 },\
1422 { "mach_vm_region_info", 3818 },\
1423 { "vm_mapped_pages_info", 3819 },\
1424 { "vm_region_recurse", 3821 },\
1425 { "vm_region_recurse_64", 3822 },\
1426 { "mach_vm_region_info_64", 3823 },\
1427 { "vm_region_64", 3824 },\
1428 { "mach_make_memory_entry_64", 3825 },\
1429 { "vm_map_64", 3826 },\
1430 { "vm_purgable_control", 3830 },\
1431 { "vm_map_exec_lockdown", 3831 }
1432#endif
1433
1434#ifdef __AfterMigUserHeader
1435__AfterMigUserHeader
1436#endif /* __AfterMigUserHeader */
1437
1438#endif /* _vm_map_user_ */
1439