Add a string parameter to server ==> client notification, add a new InfoShutdown...
[jack2.git] / macosx / RPC / JackRPCClient.h
blobd44624798c4bc865c40dd517350b1555440f5e88
1 #ifndef _JackRPCClient_user_
2 #define _JackRPCClient_user_
4 /* Module JackRPCClient */
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>
16 #ifdef AUTOTEST
17 #ifndef FUNCTION_PTR_T
18 #define FUNCTION_PTR_T
19 typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
20 typedef struct {
21 char *name;
22 function_ptr_t function;
23 } function_table_entry;
24 typedef function_table_entry *function_table_t;
25 #endif /* FUNCTION_PTR_T */
26 #endif /* AUTOTEST */
28 #ifndef JackRPCClient_MSG_COUNT
29 #define JackRPCClient_MSG_COUNT 2
30 #endif /* JackRPCClient_MSG_COUNT */
32 #include <mach/std_types.h>
33 #include <mach/mig.h>
34 #include <mach/mig.h>
35 #include <mach/mach_types.h>
36 #include "Jackdefs.h"
38 #ifdef __BeforeMigUserHeader
39 __BeforeMigUserHeader
40 #endif /* __BeforeMigUserHeader */
42 #include <sys/cdefs.h>
43 __BEGIN_DECLS
46 /* Routine rpc_jack_client_sync_notify */
47 #ifdef mig_external
48 mig_external
49 #else
50 extern
51 #endif /* mig_external */
52 kern_return_t rpc_jack_client_sync_notify
54 mach_port_t client_port,
55 int refnum,
56 client_name_t client_name,
57 int notify,
58 message_t message,
59 int value1,
60 int value2,
61 int *result
64 /* SimpleRoutine rpc_jack_client_async_notify */
65 #ifdef mig_external
66 mig_external
67 #else
68 extern
69 #endif /* mig_external */
70 kern_return_t rpc_jack_client_async_notify
72 mach_port_t client_port,
73 int refnum,
74 client_name_t client_name,
75 int notify,
76 message_t message,
77 int value1,
78 int value2
81 __END_DECLS
83 /********************** Caution **************************/
84 /* The following data types should be used to calculate */
85 /* maximum message sizes only. The actual message may be */
86 /* smaller, and the position of the arguments within the */
87 /* message layout may vary from what is presented here. */
88 /* For example, if any of the arguments are variable- */
89 /* sized, and less than the maximum is sent, the data */
90 /* will be packed tight in the actual message to reduce */
91 /* the presence of holes. */
92 /********************** Caution **************************/
94 /* typedefs for all requests */
96 #ifndef __Request__JackRPCClient_subsystem__defined
97 #define __Request__JackRPCClient_subsystem__defined
99 #ifdef __MigPackStructs
100 #pragma pack(4)
101 #endif
102 typedef struct {
103 mach_msg_header_t Head;
104 NDR_record_t NDR;
105 int refnum;
106 client_name_t client_name;
107 int notify;
108 message_t message;
109 int value1;
110 int value2;
111 } __Request__rpc_jack_client_sync_notify_t;
112 #ifdef __MigPackStructs
113 #pragma pack()
114 #endif
116 #ifdef __MigPackStructs
117 #pragma pack(4)
118 #endif
119 typedef struct {
120 mach_msg_header_t Head;
121 NDR_record_t NDR;
122 int refnum;
123 client_name_t client_name;
124 int notify;
125 message_t message;
126 int value1;
127 int value2;
128 } __Request__rpc_jack_client_async_notify_t;
129 #ifdef __MigPackStructs
130 #pragma pack()
131 #endif
132 #endif /* !__Request__JackRPCClient_subsystem__defined */
134 /* union of all requests */
136 #ifndef __RequestUnion__JackRPCClient_subsystem__defined
137 #define __RequestUnion__JackRPCClient_subsystem__defined
138 union __RequestUnion__JackRPCClient_subsystem {
139 __Request__rpc_jack_client_sync_notify_t Request_rpc_jack_client_sync_notify;
140 __Request__rpc_jack_client_async_notify_t Request_rpc_jack_client_async_notify;
142 #endif /* !__RequestUnion__JackRPCClient_subsystem__defined */
143 /* typedefs for all replies */
145 #ifndef __Reply__JackRPCClient_subsystem__defined
146 #define __Reply__JackRPCClient_subsystem__defined
148 #ifdef __MigPackStructs
149 #pragma pack(4)
150 #endif
151 typedef struct {
152 mach_msg_header_t Head;
153 NDR_record_t NDR;
154 kern_return_t RetCode;
155 int result;
156 } __Reply__rpc_jack_client_sync_notify_t;
157 #ifdef __MigPackStructs
158 #pragma pack()
159 #endif
161 #ifdef __MigPackStructs
162 #pragma pack(4)
163 #endif
164 typedef struct {
165 mach_msg_header_t Head;
166 NDR_record_t NDR;
167 kern_return_t RetCode;
168 } __Reply__rpc_jack_client_async_notify_t;
169 #ifdef __MigPackStructs
170 #pragma pack()
171 #endif
172 #endif /* !__Reply__JackRPCClient_subsystem__defined */
174 /* union of all replies */
176 #ifndef __ReplyUnion__JackRPCClient_subsystem__defined
177 #define __ReplyUnion__JackRPCClient_subsystem__defined
178 union __ReplyUnion__JackRPCClient_subsystem {
179 __Reply__rpc_jack_client_sync_notify_t Reply_rpc_jack_client_sync_notify;
180 __Reply__rpc_jack_client_async_notify_t Reply_rpc_jack_client_async_notify;
182 #endif /* !__RequestUnion__JackRPCClient_subsystem__defined */
184 #ifndef subsystem_to_name_map_JackRPCClient
185 #define subsystem_to_name_map_JackRPCClient \
186 { "rpc_jack_client_sync_notify", 1000 },\
187 { "rpc_jack_client_async_notify", 1001 }
188 #endif
190 #ifdef __AfterMigUserHeader
191 __AfterMigUserHeader
192 #endif /* __AfterMigUserHeader */
194 #endif /* _JackRPCClient_user_ */