1#ifndef _telemetry_notification_server_
2#define _telemetry_notification_server_
3
4/* Module telemetry_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 telemetry_notification_MSG_COUNT
55#define telemetry_notification_MSG_COUNT 1
56#endif /* telemetry_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 telemetry_notification */
74#ifdef mig_external
75mig_external
76#else
77extern
78#endif /* mig_external */
79MIG_SERVER_ROUTINE
80kern_return_t telemetry_notification
81(
82 mach_port_t telemetry_port,
83 uint32_t flags
84);
85
86#ifdef mig_external
87mig_external
88#else
89extern
90#endif /* mig_external */
91boolean_t telemetry_notification_server(
92 mach_msg_header_t *InHeadP,
93 mach_msg_header_t *OutHeadP);
94
95#ifdef mig_external
96mig_external
97#else
98extern
99#endif /* mig_external */
100mig_routine_t telemetry_notification_server_routine(
101 mach_msg_header_t *InHeadP);
102
103
104/* Description of this subsystem, for use in direct RPC */
105extern const struct telemetry_notification_subsystem {
106 mig_server_routine_t server; /* Server routine */
107 mach_msg_id_t start; /* Min routine number */
108 mach_msg_id_t end; /* Max routine number + 1 */
109 unsigned int maxsize; /* Max msg size */
110 vm_address_t reserved; /* Reserved */
111 struct routine_descriptor /* Array of routine descriptors */
112 routine[1];
113} telemetry_notification_subsystem;
114
115/* typedefs for all requests */
116
117#ifndef __Request__telemetry_notification_subsystem__defined
118#define __Request__telemetry_notification_subsystem__defined
119
120#ifdef __MigPackStructs
121#pragma pack(push, 4)
122#endif
123 typedef struct {
124 mach_msg_header_t Head;
125 NDR_record_t NDR;
126 uint32_t flags;
127 } __Request__telemetry_notification_t __attribute__((unused));
128#ifdef __MigPackStructs
129#pragma pack(pop)
130#endif
131#endif /* !__Request__telemetry_notification_subsystem__defined */
132
133
134/* union of all requests */
135
136#ifndef __RequestUnion__telemetry_notification_subsystem__defined
137#define __RequestUnion__telemetry_notification_subsystem__defined
138union __RequestUnion__telemetry_notification_subsystem {
139 __Request__telemetry_notification_t Request_telemetry_notification;
140};
141#endif /* __RequestUnion__telemetry_notification_subsystem__defined */
142/* typedefs for all replies */
143
144#ifndef __Reply__telemetry_notification_subsystem__defined
145#define __Reply__telemetry_notification_subsystem__defined
146
147#ifdef __MigPackStructs
148#pragma pack(push, 4)
149#endif
150 typedef struct {
151 mach_msg_header_t Head;
152 NDR_record_t NDR;
153 kern_return_t RetCode;
154 } __Reply__telemetry_notification_t __attribute__((unused));
155#ifdef __MigPackStructs
156#pragma pack(pop)
157#endif
158#endif /* !__Reply__telemetry_notification_subsystem__defined */
159
160
161/* union of all replies */
162
163#ifndef __ReplyUnion__telemetry_notification_subsystem__defined
164#define __ReplyUnion__telemetry_notification_subsystem__defined
165union __ReplyUnion__telemetry_notification_subsystem {
166 __Reply__telemetry_notification_t Reply_telemetry_notification;
167};
168#endif /* __ReplyUnion__telemetry_notification_subsystem__defined */
169
170#ifndef subsystem_to_name_map_telemetry_notification
171#define subsystem_to_name_map_telemetry_notification \
172 { "telemetry_notification", 5100 }
173#endif
174
175#ifdef __AfterMigServerHeader
176__AfterMigServerHeader
177#endif /* __AfterMigServerHeader */
178
179#endif /* _telemetry_notification_server_ */
180