1 | #ifndef _memory_object_control_server_ |
2 | #define _memory_object_control_server_ |
3 | |
4 | /* Module memory_object_control */ |
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 |
26 | extern "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 |
42 | typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); |
43 | typedef struct { |
44 | char *name; |
45 | function_ptr_t function; |
46 | } function_table_entry; |
47 | typedef function_table_entry *function_table_t; |
48 | #endif /* FUNCTION_PTR_T */ |
49 | #endif /* AUTOTEST */ |
50 | |
51 | #ifndef memory_object_control_MSG_COUNT |
52 | #define memory_object_control_MSG_COUNT 12 |
53 | #endif /* memory_object_control_MSG_COUNT */ |
54 | |
55 | #include <mach/std_types.h> |
56 | #include <mach/mig.h> |
57 | #include <ipc/ipc_voucher.h> |
58 | #include <kern/ipc_kobject.h> |
59 | #include <kern/ipc_tt.h> |
60 | #include <kern/ipc_host.h> |
61 | #include <kern/ipc_sync.h> |
62 | #include <kern/ledger.h> |
63 | #include <kern/processor.h> |
64 | #include <kern/sync_lock.h> |
65 | #include <kern/sync_sema.h> |
66 | #include <vm/memory_object.h> |
67 | #include <vm/vm_map.h> |
68 | #include <kern/ipc_mig.h> |
69 | #include <mach/mig.h> |
70 | #include <mach/mach_types.h> |
71 | |
72 | #ifdef __BeforeMigServerHeader |
73 | __BeforeMigServerHeader |
74 | #endif /* __BeforeMigServerHeader */ |
75 | |
76 | |
77 | /* Routine memory_object_get_attributes */ |
78 | #ifdef mig_external |
79 | mig_external |
80 | #else |
81 | extern |
82 | #endif /* mig_external */ |
83 | kern_return_t memory_object_get_attributes |
84 | ( |
85 | memory_object_control_t memory_control, |
86 | memory_object_flavor_t flavor, |
87 | memory_object_info_t attributes, |
88 | mach_msg_type_number_t *attributesCnt |
89 | ); |
90 | |
91 | /* Routine memory_object_change_attributes */ |
92 | #ifdef mig_external |
93 | mig_external |
94 | #else |
95 | extern |
96 | #endif /* mig_external */ |
97 | kern_return_t memory_object_change_attributes |
98 | ( |
99 | memory_object_control_t memory_control, |
100 | memory_object_flavor_t flavor, |
101 | memory_object_info_t attributes, |
102 | mach_msg_type_number_t attributesCnt |
103 | ); |
104 | |
105 | /* Routine memory_object_synchronize_completed */ |
106 | #ifdef mig_external |
107 | mig_external |
108 | #else |
109 | extern |
110 | #endif /* mig_external */ |
111 | kern_return_t memory_object_synchronize_completed |
112 | ( |
113 | memory_object_control_t memory_control, |
114 | memory_object_offset_t offset, |
115 | memory_object_size_t length |
116 | ); |
117 | |
118 | /* Routine memory_object_lock_request */ |
119 | #ifdef mig_external |
120 | mig_external |
121 | #else |
122 | extern |
123 | #endif /* mig_external */ |
124 | kern_return_t memory_object_lock_request |
125 | ( |
126 | memory_object_control_t memory_control, |
127 | memory_object_offset_t offset, |
128 | memory_object_size_t size, |
129 | memory_object_offset_t *resid_offset, |
130 | integer_t *io_errno, |
131 | memory_object_return_t should_return, |
132 | integer_t flags, |
133 | vm_prot_t lock_value |
134 | ); |
135 | |
136 | /* Routine memory_object_destroy */ |
137 | #ifdef mig_external |
138 | mig_external |
139 | #else |
140 | extern |
141 | #endif /* mig_external */ |
142 | kern_return_t memory_object_destroy |
143 | ( |
144 | memory_object_control_t memory_control, |
145 | kern_return_t reason |
146 | ); |
147 | |
148 | /* Routine memory_object_upl_request */ |
149 | #ifdef mig_external |
150 | mig_external |
151 | #else |
152 | extern |
153 | #endif /* mig_external */ |
154 | kern_return_t memory_object_upl_request |
155 | ( |
156 | memory_object_control_t memory_control, |
157 | memory_object_offset_t offset, |
158 | upl_size_t size, |
159 | upl_t *upl, |
160 | upl_page_info_array_t page_list, |
161 | mach_msg_type_number_t *page_listCnt, |
162 | integer_t cntrl_flags, |
163 | integer_t tag |
164 | ); |
165 | |
166 | /* Routine memory_object_super_upl_request */ |
167 | #ifdef mig_external |
168 | mig_external |
169 | #else |
170 | extern |
171 | #endif /* mig_external */ |
172 | kern_return_t memory_object_super_upl_request |
173 | ( |
174 | memory_object_control_t memory_control, |
175 | memory_object_offset_t offset, |
176 | upl_size_t size, |
177 | upl_size_t super_size, |
178 | upl_t *upl, |
179 | upl_page_info_array_t page_list, |
180 | mach_msg_type_number_t *page_listCnt, |
181 | integer_t cntrl_flags, |
182 | integer_t tag |
183 | ); |
184 | |
185 | /* Routine memory_object_cluster_size */ |
186 | #ifdef mig_external |
187 | mig_external |
188 | #else |
189 | extern |
190 | #endif /* mig_external */ |
191 | kern_return_t memory_object_cluster_size |
192 | ( |
193 | memory_object_control_t control, |
194 | memory_object_offset_t *start, |
195 | vm_size_t *length, |
196 | uint32_t *io_streaming, |
197 | memory_object_fault_info_t fault_info |
198 | ); |
199 | |
200 | /* Routine memory_object_page_op */ |
201 | #ifdef mig_external |
202 | mig_external |
203 | #else |
204 | extern |
205 | #endif /* mig_external */ |
206 | kern_return_t memory_object_page_op |
207 | ( |
208 | memory_object_control_t memory_control, |
209 | memory_object_offset_t offset, |
210 | integer_t ops, |
211 | uint32_t *phys_entry, |
212 | integer_t *flags |
213 | ); |
214 | |
215 | /* Routine memory_object_recover_named */ |
216 | #ifdef mig_external |
217 | mig_external |
218 | #else |
219 | extern |
220 | #endif /* mig_external */ |
221 | kern_return_t memory_object_recover_named |
222 | ( |
223 | memory_object_control_t memory_control, |
224 | boolean_t wait_on_terminating |
225 | ); |
226 | |
227 | /* Routine memory_object_release_name */ |
228 | #ifdef mig_external |
229 | mig_external |
230 | #else |
231 | extern |
232 | #endif /* mig_external */ |
233 | kern_return_t memory_object_release_name |
234 | ( |
235 | memory_object_control_t memory_control, |
236 | integer_t flags |
237 | ); |
238 | |
239 | /* Routine memory_object_range_op */ |
240 | #ifdef mig_external |
241 | mig_external |
242 | #else |
243 | extern |
244 | #endif /* mig_external */ |
245 | kern_return_t memory_object_range_op |
246 | ( |
247 | memory_object_control_t memory_control, |
248 | memory_object_offset_t offset_beg, |
249 | memory_object_offset_t offset_end, |
250 | integer_t ops, |
251 | integer_t *range |
252 | ); |
253 | |
254 | #ifdef mig_external |
255 | mig_external |
256 | #else |
257 | extern |
258 | #endif /* mig_external */ |
259 | boolean_t memory_object_control_server( |
260 | mach_msg_header_t *InHeadP, |
261 | mach_msg_header_t *OutHeadP); |
262 | |
263 | #ifdef mig_external |
264 | mig_external |
265 | #else |
266 | extern |
267 | #endif /* mig_external */ |
268 | mig_routine_t memory_object_control_server_routine( |
269 | mach_msg_header_t *InHeadP); |
270 | |
271 | |
272 | /* Description of this subsystem, for use in direct RPC */ |
273 | extern const struct memory_object_control_subsystem { |
274 | mig_server_routine_t server; /* Server routine */ |
275 | mach_msg_id_t start; /* Min routine number */ |
276 | mach_msg_id_t end; /* Max routine number + 1 */ |
277 | unsigned int maxsize; /* Max msg size */ |
278 | vm_address_t reserved; /* Reserved */ |
279 | struct routine_descriptor /*Array of routine descriptors */ |
280 | routine[12]; |
281 | } memory_object_control_subsystem; |
282 | |
283 | /* typedefs for all requests */ |
284 | |
285 | #ifndef __Request__memory_object_control_subsystem__defined |
286 | #define __Request__memory_object_control_subsystem__defined |
287 | |
288 | #ifdef __MigPackStructs |
289 | #pragma pack(4) |
290 | #endif |
291 | typedef struct { |
292 | mach_msg_header_t Head; |
293 | NDR_record_t NDR; |
294 | memory_object_flavor_t flavor; |
295 | mach_msg_type_number_t attributesCnt; |
296 | } __Request__memory_object_get_attributes_t __attribute__((unused)); |
297 | #ifdef __MigPackStructs |
298 | #pragma pack() |
299 | #endif |
300 | |
301 | #ifdef __MigPackStructs |
302 | #pragma pack(4) |
303 | #endif |
304 | typedef struct { |
305 | mach_msg_header_t Head; |
306 | NDR_record_t NDR; |
307 | memory_object_flavor_t flavor; |
308 | mach_msg_type_number_t attributesCnt; |
309 | int attributes[6]; |
310 | } __Request__memory_object_change_attributes_t __attribute__((unused)); |
311 | #ifdef __MigPackStructs |
312 | #pragma pack() |
313 | #endif |
314 | |
315 | #ifdef __MigPackStructs |
316 | #pragma pack(4) |
317 | #endif |
318 | typedef struct { |
319 | mach_msg_header_t Head; |
320 | NDR_record_t NDR; |
321 | memory_object_offset_t offset; |
322 | memory_object_size_t length; |
323 | } __Request__memory_object_synchronize_completed_t __attribute__((unused)); |
324 | #ifdef __MigPackStructs |
325 | #pragma pack() |
326 | #endif |
327 | |
328 | #ifdef __MigPackStructs |
329 | #pragma pack(4) |
330 | #endif |
331 | typedef struct { |
332 | mach_msg_header_t Head; |
333 | NDR_record_t NDR; |
334 | memory_object_offset_t offset; |
335 | memory_object_size_t size; |
336 | memory_object_return_t should_return; |
337 | integer_t flags; |
338 | vm_prot_t lock_value; |
339 | } __Request__memory_object_lock_request_t __attribute__((unused)); |
340 | #ifdef __MigPackStructs |
341 | #pragma pack() |
342 | #endif |
343 | |
344 | #ifdef __MigPackStructs |
345 | #pragma pack(4) |
346 | #endif |
347 | typedef struct { |
348 | mach_msg_header_t Head; |
349 | NDR_record_t NDR; |
350 | kern_return_t reason; |
351 | } __Request__memory_object_destroy_t __attribute__((unused)); |
352 | #ifdef __MigPackStructs |
353 | #pragma pack() |
354 | #endif |
355 | |
356 | #ifdef __MigPackStructs |
357 | #pragma pack(4) |
358 | #endif |
359 | typedef struct { |
360 | mach_msg_header_t Head; |
361 | NDR_record_t NDR; |
362 | memory_object_offset_t offset; |
363 | upl_size_t size; |
364 | mach_msg_type_number_t page_listCnt; |
365 | integer_t cntrl_flags; |
366 | integer_t tag; |
367 | } __Request__memory_object_upl_request_t __attribute__((unused)); |
368 | #ifdef __MigPackStructs |
369 | #pragma pack() |
370 | #endif |
371 | |
372 | #ifdef __MigPackStructs |
373 | #pragma pack(4) |
374 | #endif |
375 | typedef struct { |
376 | mach_msg_header_t Head; |
377 | NDR_record_t NDR; |
378 | memory_object_offset_t offset; |
379 | upl_size_t size; |
380 | upl_size_t super_size; |
381 | mach_msg_type_number_t page_listCnt; |
382 | integer_t cntrl_flags; |
383 | integer_t tag; |
384 | } __Request__memory_object_super_upl_request_t __attribute__((unused)); |
385 | #ifdef __MigPackStructs |
386 | #pragma pack() |
387 | #endif |
388 | |
389 | #ifdef __MigPackStructs |
390 | #pragma pack(4) |
391 | #endif |
392 | typedef struct { |
393 | mach_msg_header_t Head; |
394 | NDR_record_t NDR; |
395 | memory_object_fault_info_t fault_info; |
396 | } __Request__memory_object_cluster_size_t __attribute__((unused)); |
397 | #ifdef __MigPackStructs |
398 | #pragma pack() |
399 | #endif |
400 | |
401 | #ifdef __MigPackStructs |
402 | #pragma pack(4) |
403 | #endif |
404 | typedef struct { |
405 | mach_msg_header_t Head; |
406 | NDR_record_t NDR; |
407 | memory_object_offset_t offset; |
408 | integer_t ops; |
409 | } __Request__memory_object_page_op_t __attribute__((unused)); |
410 | #ifdef __MigPackStructs |
411 | #pragma pack() |
412 | #endif |
413 | |
414 | #ifdef __MigPackStructs |
415 | #pragma pack(4) |
416 | #endif |
417 | typedef struct { |
418 | mach_msg_header_t Head; |
419 | NDR_record_t NDR; |
420 | boolean_t wait_on_terminating; |
421 | } __Request__memory_object_recover_named_t __attribute__((unused)); |
422 | #ifdef __MigPackStructs |
423 | #pragma pack() |
424 | #endif |
425 | |
426 | #ifdef __MigPackStructs |
427 | #pragma pack(4) |
428 | #endif |
429 | typedef struct { |
430 | mach_msg_header_t Head; |
431 | NDR_record_t NDR; |
432 | integer_t flags; |
433 | } __Request__memory_object_release_name_t __attribute__((unused)); |
434 | #ifdef __MigPackStructs |
435 | #pragma pack() |
436 | #endif |
437 | |
438 | #ifdef __MigPackStructs |
439 | #pragma pack(4) |
440 | #endif |
441 | typedef struct { |
442 | mach_msg_header_t Head; |
443 | NDR_record_t NDR; |
444 | memory_object_offset_t offset_beg; |
445 | memory_object_offset_t offset_end; |
446 | integer_t ops; |
447 | } __Request__memory_object_range_op_t __attribute__((unused)); |
448 | #ifdef __MigPackStructs |
449 | #pragma pack() |
450 | #endif |
451 | #endif /* !__Request__memory_object_control_subsystem__defined */ |
452 | |
453 | |
454 | /* union of all requests */ |
455 | |
456 | #ifndef __RequestUnion__memory_object_control_subsystem__defined |
457 | #define __RequestUnion__memory_object_control_subsystem__defined |
458 | union __RequestUnion__memory_object_control_subsystem { |
459 | __Request__memory_object_get_attributes_t Request_memory_object_get_attributes; |
460 | __Request__memory_object_change_attributes_t Request_memory_object_change_attributes; |
461 | __Request__memory_object_synchronize_completed_t Request_memory_object_synchronize_completed; |
462 | __Request__memory_object_lock_request_t Request_memory_object_lock_request; |
463 | __Request__memory_object_destroy_t Request_memory_object_destroy; |
464 | __Request__memory_object_upl_request_t Request_memory_object_upl_request; |
465 | __Request__memory_object_super_upl_request_t Request_memory_object_super_upl_request; |
466 | __Request__memory_object_cluster_size_t Request_memory_object_cluster_size; |
467 | __Request__memory_object_page_op_t Request_memory_object_page_op; |
468 | __Request__memory_object_recover_named_t Request_memory_object_recover_named; |
469 | __Request__memory_object_release_name_t Request_memory_object_release_name; |
470 | __Request__memory_object_range_op_t Request_memory_object_range_op; |
471 | }; |
472 | #endif /* __RequestUnion__memory_object_control_subsystem__defined */ |
473 | /* typedefs for all replies */ |
474 | |
475 | #ifndef __Reply__memory_object_control_subsystem__defined |
476 | #define __Reply__memory_object_control_subsystem__defined |
477 | |
478 | #ifdef __MigPackStructs |
479 | #pragma pack(4) |
480 | #endif |
481 | typedef struct { |
482 | mach_msg_header_t Head; |
483 | NDR_record_t NDR; |
484 | kern_return_t RetCode; |
485 | mach_msg_type_number_t attributesCnt; |
486 | int attributes[6]; |
487 | } __Reply__memory_object_get_attributes_t __attribute__((unused)); |
488 | #ifdef __MigPackStructs |
489 | #pragma pack() |
490 | #endif |
491 | |
492 | #ifdef __MigPackStructs |
493 | #pragma pack(4) |
494 | #endif |
495 | typedef struct { |
496 | mach_msg_header_t Head; |
497 | NDR_record_t NDR; |
498 | kern_return_t RetCode; |
499 | } __Reply__memory_object_change_attributes_t __attribute__((unused)); |
500 | #ifdef __MigPackStructs |
501 | #pragma pack() |
502 | #endif |
503 | |
504 | #ifdef __MigPackStructs |
505 | #pragma pack(4) |
506 | #endif |
507 | typedef struct { |
508 | mach_msg_header_t Head; |
509 | NDR_record_t NDR; |
510 | kern_return_t RetCode; |
511 | } __Reply__memory_object_synchronize_completed_t __attribute__((unused)); |
512 | #ifdef __MigPackStructs |
513 | #pragma pack() |
514 | #endif |
515 | |
516 | #ifdef __MigPackStructs |
517 | #pragma pack(4) |
518 | #endif |
519 | typedef struct { |
520 | mach_msg_header_t Head; |
521 | NDR_record_t NDR; |
522 | kern_return_t RetCode; |
523 | memory_object_offset_t resid_offset; |
524 | integer_t io_errno; |
525 | } __Reply__memory_object_lock_request_t __attribute__((unused)); |
526 | #ifdef __MigPackStructs |
527 | #pragma pack() |
528 | #endif |
529 | |
530 | #ifdef __MigPackStructs |
531 | #pragma pack(4) |
532 | #endif |
533 | typedef struct { |
534 | mach_msg_header_t Head; |
535 | NDR_record_t NDR; |
536 | kern_return_t RetCode; |
537 | } __Reply__memory_object_destroy_t __attribute__((unused)); |
538 | #ifdef __MigPackStructs |
539 | #pragma pack() |
540 | #endif |
541 | |
542 | #ifdef __MigPackStructs |
543 | #pragma pack(4) |
544 | #endif |
545 | typedef struct { |
546 | mach_msg_header_t Head; |
547 | /* start of the kernel processed data */ |
548 | mach_msg_body_t msgh_body; |
549 | mach_msg_port_descriptor_t upl; |
550 | /* end of the kernel processed data */ |
551 | NDR_record_t NDR; |
552 | mach_msg_type_number_t page_listCnt; |
553 | upl_page_info_t page_list[256]; |
554 | } __Reply__memory_object_upl_request_t __attribute__((unused)); |
555 | #ifdef __MigPackStructs |
556 | #pragma pack() |
557 | #endif |
558 | |
559 | #ifdef __MigPackStructs |
560 | #pragma pack(4) |
561 | #endif |
562 | typedef struct { |
563 | mach_msg_header_t Head; |
564 | /* start of the kernel processed data */ |
565 | mach_msg_body_t msgh_body; |
566 | mach_msg_port_descriptor_t upl; |
567 | /* end of the kernel processed data */ |
568 | NDR_record_t NDR; |
569 | mach_msg_type_number_t page_listCnt; |
570 | upl_page_info_t page_list[256]; |
571 | } __Reply__memory_object_super_upl_request_t __attribute__((unused)); |
572 | #ifdef __MigPackStructs |
573 | #pragma pack() |
574 | #endif |
575 | |
576 | #ifdef __MigPackStructs |
577 | #pragma pack(4) |
578 | #endif |
579 | typedef struct { |
580 | mach_msg_header_t Head; |
581 | NDR_record_t NDR; |
582 | kern_return_t RetCode; |
583 | memory_object_offset_t start; |
584 | vm_size_t length; |
585 | uint32_t io_streaming; |
586 | } __Reply__memory_object_cluster_size_t __attribute__((unused)); |
587 | #ifdef __MigPackStructs |
588 | #pragma pack() |
589 | #endif |
590 | |
591 | #ifdef __MigPackStructs |
592 | #pragma pack(4) |
593 | #endif |
594 | typedef struct { |
595 | mach_msg_header_t Head; |
596 | NDR_record_t NDR; |
597 | kern_return_t RetCode; |
598 | uint32_t phys_entry; |
599 | integer_t flags; |
600 | } __Reply__memory_object_page_op_t __attribute__((unused)); |
601 | #ifdef __MigPackStructs |
602 | #pragma pack() |
603 | #endif |
604 | |
605 | #ifdef __MigPackStructs |
606 | #pragma pack(4) |
607 | #endif |
608 | typedef struct { |
609 | mach_msg_header_t Head; |
610 | NDR_record_t NDR; |
611 | kern_return_t RetCode; |
612 | } __Reply__memory_object_recover_named_t __attribute__((unused)); |
613 | #ifdef __MigPackStructs |
614 | #pragma pack() |
615 | #endif |
616 | |
617 | #ifdef __MigPackStructs |
618 | #pragma pack(4) |
619 | #endif |
620 | typedef struct { |
621 | mach_msg_header_t Head; |
622 | NDR_record_t NDR; |
623 | kern_return_t RetCode; |
624 | } __Reply__memory_object_release_name_t __attribute__((unused)); |
625 | #ifdef __MigPackStructs |
626 | #pragma pack() |
627 | #endif |
628 | |
629 | #ifdef __MigPackStructs |
630 | #pragma pack(4) |
631 | #endif |
632 | typedef struct { |
633 | mach_msg_header_t Head; |
634 | NDR_record_t NDR; |
635 | kern_return_t RetCode; |
636 | integer_t range; |
637 | } __Reply__memory_object_range_op_t __attribute__((unused)); |
638 | #ifdef __MigPackStructs |
639 | #pragma pack() |
640 | #endif |
641 | #endif /* !__Reply__memory_object_control_subsystem__defined */ |
642 | |
643 | |
644 | /* union of all replies */ |
645 | |
646 | #ifndef __ReplyUnion__memory_object_control_subsystem__defined |
647 | #define __ReplyUnion__memory_object_control_subsystem__defined |
648 | union __ReplyUnion__memory_object_control_subsystem { |
649 | __Reply__memory_object_get_attributes_t Reply_memory_object_get_attributes; |
650 | __Reply__memory_object_change_attributes_t Reply_memory_object_change_attributes; |
651 | __Reply__memory_object_synchronize_completed_t Reply_memory_object_synchronize_completed; |
652 | __Reply__memory_object_lock_request_t Reply_memory_object_lock_request; |
653 | __Reply__memory_object_destroy_t Reply_memory_object_destroy; |
654 | __Reply__memory_object_upl_request_t Reply_memory_object_upl_request; |
655 | __Reply__memory_object_super_upl_request_t Reply_memory_object_super_upl_request; |
656 | __Reply__memory_object_cluster_size_t Reply_memory_object_cluster_size; |
657 | __Reply__memory_object_page_op_t Reply_memory_object_page_op; |
658 | __Reply__memory_object_recover_named_t Reply_memory_object_recover_named; |
659 | __Reply__memory_object_release_name_t Reply_memory_object_release_name; |
660 | __Reply__memory_object_range_op_t Reply_memory_object_range_op; |
661 | }; |
662 | #endif /* __RequestUnion__memory_object_control_subsystem__defined */ |
663 | |
664 | #ifndef subsystem_to_name_map_memory_object_control |
665 | #define subsystem_to_name_map_memory_object_control \ |
666 | { "memory_object_get_attributes", 2000 },\ |
667 | { "memory_object_change_attributes", 2001 },\ |
668 | { "memory_object_synchronize_completed", 2002 },\ |
669 | { "memory_object_lock_request", 2003 },\ |
670 | { "memory_object_destroy", 2004 },\ |
671 | { "memory_object_upl_request", 2005 },\ |
672 | { "memory_object_super_upl_request", 2006 },\ |
673 | { "memory_object_cluster_size", 2007 },\ |
674 | { "memory_object_page_op", 2008 },\ |
675 | { "memory_object_recover_named", 2009 },\ |
676 | { "memory_object_release_name", 2010 },\ |
677 | { "memory_object_range_op", 2011 } |
678 | #endif |
679 | |
680 | #ifdef __AfterMigServerHeader |
681 | __AfterMigServerHeader |
682 | #endif /* __AfterMigServerHeader */ |
683 | |
684 | #endif /* _memory_object_control_server_ */ |
685 | |