1#ifndef _memory_object_default_server_
2#define _memory_object_default_server_
3
4/* Module memory_object_default */
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 memory_object_default_MSG_COUNT
52#define memory_object_default_MSG_COUNT 1
53#endif /* memory_object_default_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
60#ifdef __BeforeMigServerHeader
61__BeforeMigServerHeader
62#endif /* __BeforeMigServerHeader */
63
64
65/* Routine memory_object_create */
66#ifdef mig_external
67mig_external
68#else
69extern
70#endif /* mig_external */
71kern_return_t memory_object_create
72(
73 memory_object_default_t default_memory_manager,
74 vm_size_t new_memory_object_size,
75 memory_object_t *new_memory_object
76);
77
78#ifdef mig_external
79mig_external
80#else
81extern
82#endif /* mig_external */
83boolean_t memory_object_default_server(
84 mach_msg_header_t *InHeadP,
85 mach_msg_header_t *OutHeadP);
86
87#ifdef mig_external
88mig_external
89#else
90extern
91#endif /* mig_external */
92mig_routine_t memory_object_default_server_routine(
93 mach_msg_header_t *InHeadP);
94
95
96/* Description of this subsystem, for use in direct RPC */
97extern const struct memory_object_default_subsystem {
98 mig_server_routine_t server; /* Server routine */
99 mach_msg_id_t start; /* Min routine number */
100 mach_msg_id_t end; /* Max routine number + 1 */
101 unsigned int maxsize; /* Max msg size */
102 vm_address_t reserved; /* Reserved */
103 struct routine_descriptor /*Array of routine descriptors */
104 routine[1];
105} memory_object_default_subsystem;
106
107/* typedefs for all requests */
108
109#ifndef __Request__memory_object_default_subsystem__defined
110#define __Request__memory_object_default_subsystem__defined
111
112#ifdef __MigPackStructs
113#pragma pack(4)
114#endif
115 typedef struct {
116 mach_msg_header_t Head;
117 NDR_record_t NDR;
118 vm_size_t new_memory_object_size;
119 } __Request__memory_object_create_t __attribute__((unused));
120#ifdef __MigPackStructs
121#pragma pack()
122#endif
123#endif /* !__Request__memory_object_default_subsystem__defined */
124
125
126/* union of all requests */
127
128#ifndef __RequestUnion__memory_object_default_subsystem__defined
129#define __RequestUnion__memory_object_default_subsystem__defined
130union __RequestUnion__memory_object_default_subsystem {
131 __Request__memory_object_create_t Request_memory_object_create;
132};
133#endif /* __RequestUnion__memory_object_default_subsystem__defined */
134/* typedefs for all replies */
135
136#ifndef __Reply__memory_object_default_subsystem__defined
137#define __Reply__memory_object_default_subsystem__defined
138
139#ifdef __MigPackStructs
140#pragma pack(4)
141#endif
142 typedef struct {
143 mach_msg_header_t Head;
144 /* start of the kernel processed data */
145 mach_msg_body_t msgh_body;
146 mach_msg_port_descriptor_t new_memory_object;
147 /* end of the kernel processed data */
148 } __Reply__memory_object_create_t __attribute__((unused));
149#ifdef __MigPackStructs
150#pragma pack()
151#endif
152#endif /* !__Reply__memory_object_default_subsystem__defined */
153
154
155/* union of all replies */
156
157#ifndef __ReplyUnion__memory_object_default_subsystem__defined
158#define __ReplyUnion__memory_object_default_subsystem__defined
159union __ReplyUnion__memory_object_default_subsystem {
160 __Reply__memory_object_create_t Reply_memory_object_create;
161};
162#endif /* __RequestUnion__memory_object_default_subsystem__defined */
163
164#ifndef subsystem_to_name_map_memory_object_default
165#define subsystem_to_name_map_memory_object_default \
166 { "memory_object_create", 2250 }
167#endif
168
169#ifdef __AfterMigServerHeader
170__AfterMigServerHeader
171#endif /* __AfterMigServerHeader */
172
173#endif /* _memory_object_default_server_ */
174