1#ifndef _sysdiagnose_notification_user_
2#define _sysdiagnose_notification_user_
3
4/* Module sysdiagnose_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#if (__MigKernelSpecificCode) || (_MIG_KERNEL_SPECIFIC_CODE_)
42#include <kern/ipc_mig.h>
43#endif /* __MigKernelSpecificCode */
44
45#ifdef AUTOTEST
46#ifndef FUNCTION_PTR_T
47#define FUNCTION_PTR_T
48typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
49typedef struct {
50 char * name;
51 function_ptr_t function;
52} function_table_entry;
53typedef function_table_entry *function_table_t;
54#endif /* FUNCTION_PTR_T */
55#endif /* AUTOTEST */
56
57#ifndef sysdiagnose_notification_MSG_COUNT
58#define sysdiagnose_notification_MSG_COUNT 2
59#endif /* sysdiagnose_notification_MSG_COUNT */
60
61#include <Availability.h>
62#include <mach/std_types.h>
63#include <mach/mig.h>
64#include <mach/mig.h>
65#include <mach/mach_types.h>
66
67#ifdef __BeforeMigUserHeader
68__BeforeMigUserHeader
69#endif /* __BeforeMigUserHeader */
70
71#include <sys/cdefs.h>
72__BEGIN_DECLS
73
74
75/* SimpleRoutine sysdiagnose_notification */
76#ifdef mig_external
77mig_external
78#else
79extern
80#endif /* mig_external */
81kern_return_t send_sysdiagnose_notification
82(
83 mach_port_t sysdiagnose_port,
84 uint32_t flags
85);
86
87/* SimpleRoutine sysdiagnose_notification_with_audit_token */
88#ifdef mig_external
89mig_external
90#else
91extern
92#endif /* mig_external */
93kern_return_t send_sysdiagnose_notification_with_audit_token
94(
95 mach_port_t sysdiagnose_port,
96 uint32_t flags
97);
98
99__END_DECLS
100
101/********************** Caution **************************/
102/* The following data types should be used to calculate */
103/* maximum message sizes only. The actual message may be */
104/* smaller, and the position of the arguments within the */
105/* message layout may vary from what is presented here. */
106/* For example, if any of the arguments are variable- */
107/* sized, and less than the maximum is sent, the data */
108/* will be packed tight in the actual message to reduce */
109/* the presence of holes. */
110/********************** Caution **************************/
111
112/* typedefs for all requests */
113
114#ifndef __Request__sysdiagnose_notification_subsystem__defined
115#define __Request__sysdiagnose_notification_subsystem__defined
116
117#ifdef __MigPackStructs
118#pragma pack(push, 4)
119#endif
120 typedef struct {
121 mach_msg_header_t Head;
122 NDR_record_t NDR;
123 uint32_t flags;
124 } __Request__sysdiagnose_notification_t __attribute__((unused));
125#ifdef __MigPackStructs
126#pragma pack(pop)
127#endif
128
129#ifdef __MigPackStructs
130#pragma pack(push, 4)
131#endif
132 typedef struct {
133 mach_msg_header_t Head;
134 NDR_record_t NDR;
135 uint32_t flags;
136 } __Request__sysdiagnose_notification_with_audit_token_t __attribute__((unused));
137#ifdef __MigPackStructs
138#pragma pack(pop)
139#endif
140#endif /* !__Request__sysdiagnose_notification_subsystem__defined */
141
142/* union of all requests */
143
144#ifndef __RequestUnion__send_sysdiagnose_notification_subsystem__defined
145#define __RequestUnion__send_sysdiagnose_notification_subsystem__defined
146union __RequestUnion__send_sysdiagnose_notification_subsystem {
147 __Request__sysdiagnose_notification_t Request_send_sysdiagnose_notification;
148 __Request__sysdiagnose_notification_with_audit_token_t Request_send_sysdiagnose_notification_with_audit_token;
149};
150#endif /* !__RequestUnion__send_sysdiagnose_notification_subsystem__defined */
151/* typedefs for all replies */
152
153#ifndef __Reply__sysdiagnose_notification_subsystem__defined
154#define __Reply__sysdiagnose_notification_subsystem__defined
155
156#ifdef __MigPackStructs
157#pragma pack(push, 4)
158#endif
159 typedef struct {
160 mach_msg_header_t Head;
161 NDR_record_t NDR;
162 kern_return_t RetCode;
163 } __Reply__sysdiagnose_notification_t __attribute__((unused));
164#ifdef __MigPackStructs
165#pragma pack(pop)
166#endif
167
168#ifdef __MigPackStructs
169#pragma pack(push, 4)
170#endif
171 typedef struct {
172 mach_msg_header_t Head;
173 NDR_record_t NDR;
174 kern_return_t RetCode;
175 } __Reply__sysdiagnose_notification_with_audit_token_t __attribute__((unused));
176#ifdef __MigPackStructs
177#pragma pack(pop)
178#endif
179#endif /* !__Reply__sysdiagnose_notification_subsystem__defined */
180
181/* union of all replies */
182
183#ifndef __ReplyUnion__send_sysdiagnose_notification_subsystem__defined
184#define __ReplyUnion__send_sysdiagnose_notification_subsystem__defined
185union __ReplyUnion__send_sysdiagnose_notification_subsystem {
186 __Reply__sysdiagnose_notification_t Reply_send_sysdiagnose_notification;
187 __Reply__sysdiagnose_notification_with_audit_token_t Reply_send_sysdiagnose_notification_with_audit_token;
188};
189#endif /* !__RequestUnion__send_sysdiagnose_notification_subsystem__defined */
190
191#ifndef subsystem_to_name_map_sysdiagnose_notification
192#define subsystem_to_name_map_sysdiagnose_notification \
193 { "sysdiagnose_notification", 31337 },\
194 { "sysdiagnose_notification_with_audit_token", 31338 }
195#endif
196
197#ifdef __AfterMigUserHeader
198__AfterMigUserHeader
199#endif /* __AfterMigUserHeader */
200
201#endif /* _sysdiagnose_notification_user_ */
202