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