1#ifndef _coalition_notification_server_
2#define _coalition_notification_server_
3
4/* Module coalition_notification */
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 coalition_notification_MSG_COUNT
55#define coalition_notification_MSG_COUNT 1
56#endif /* coalition_notification_MSG_COUNT */
57
58#include <Availability.h>
59#include <mach/std_types.h>
60#include <mach/mig.h>
61#include <mach/mig.h>
62#include <mach/mach_types.h>
63
64#ifdef __BeforeMigServerHeader
65__BeforeMigServerHeader
66#endif /* __BeforeMigServerHeader */
67
68#ifndef MIG_SERVER_ROUTINE
69#define MIG_SERVER_ROUTINE
70#endif
71
72
73/* SimpleRoutine coalition_notification */
74#ifdef mig_external
75mig_external
76#else
77extern
78#endif /* mig_external */
79MIG_SERVER_ROUTINE
80kern_return_t coalition_notification
81(
82 mach_port_t coalition_port,
83 uint64_t id,
84 uint32_t flags
85);
86
87#ifdef mig_external
88mig_external
89#else
90extern
91#endif /* mig_external */
92boolean_t coalition_notification_server(
93 mach_msg_header_t *InHeadP,
94 mach_msg_header_t *OutHeadP);
95
96#ifdef mig_external
97mig_external
98#else
99extern
100#endif /* mig_external */
101mig_routine_t coalition_notification_server_routine(
102 mach_msg_header_t *InHeadP);
103
104
105/* Description of this subsystem, for use in direct RPC */
106extern const struct coalition_notification_subsystem {
107 mig_server_routine_t server; /* Server routine */
108 mach_msg_id_t start; /* Min routine number */
109 mach_msg_id_t end; /* Max routine number + 1 */
110 unsigned int maxsize; /* Max msg size */
111 vm_address_t reserved; /* Reserved */
112 struct routine_descriptor /* Array of routine descriptors */
113 routine[1];
114} coalition_notification_subsystem;
115
116/* typedefs for all requests */
117
118#ifndef __Request__coalition_notification_subsystem__defined
119#define __Request__coalition_notification_subsystem__defined
120
121#ifdef __MigPackStructs
122#pragma pack(push, 4)
123#endif
124 typedef struct {
125 mach_msg_header_t Head;
126 NDR_record_t NDR;
127 uint64_t id;
128 uint32_t flags;
129 } __Request__coalition_notification_t __attribute__((unused));
130#ifdef __MigPackStructs
131#pragma pack(pop)
132#endif
133#endif /* !__Request__coalition_notification_subsystem__defined */
134
135
136/* union of all requests */
137
138#ifndef __RequestUnion__coalition_notification_subsystem__defined
139#define __RequestUnion__coalition_notification_subsystem__defined
140union __RequestUnion__coalition_notification_subsystem {
141 __Request__coalition_notification_t Request_coalition_notification;
142};
143#endif /* __RequestUnion__coalition_notification_subsystem__defined */
144/* typedefs for all replies */
145
146#ifndef __Reply__coalition_notification_subsystem__defined
147#define __Reply__coalition_notification_subsystem__defined
148
149#ifdef __MigPackStructs
150#pragma pack(push, 4)
151#endif
152 typedef struct {
153 mach_msg_header_t Head;
154 NDR_record_t NDR;
155 kern_return_t RetCode;
156 } __Reply__coalition_notification_t __attribute__((unused));
157#ifdef __MigPackStructs
158#pragma pack(pop)
159#endif
160#endif /* !__Reply__coalition_notification_subsystem__defined */
161
162
163/* union of all replies */
164
165#ifndef __ReplyUnion__coalition_notification_subsystem__defined
166#define __ReplyUnion__coalition_notification_subsystem__defined
167union __ReplyUnion__coalition_notification_subsystem {
168 __Reply__coalition_notification_t Reply_coalition_notification;
169};
170#endif /* __ReplyUnion__coalition_notification_subsystem__defined */
171
172#ifndef subsystem_to_name_map_coalition_notification
173#define subsystem_to_name_map_coalition_notification \
174 { "coalition_notification", 5300 }
175#endif
176
177#ifdef __AfterMigServerHeader
178__AfterMigServerHeader
179#endif /* __AfterMigServerHeader */
180
181#endif /* _coalition_notification_server_ */
182