jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

449 lines
15KB

  1. /*
  2. * IDENTIFICATION:
  3. * stub generated Thu Oct 11 16:40:18 2007
  4. * with a MiG generated Mon Sep 11 19:11:05 PDT 2006 by root@b09.apple.com
  5. * OPTIONS:
  6. */
  7. #define __MIG_check__Reply__JackRPCClient_subsystem__ 1
  8. #define __NDR_convert__Reply__JackRPCClient_subsystem__ 1
  9. #define __NDR_convert__mig_reply_error_subsystem__ 1
  10. #include "JackRPCClient.h"
  11. #ifndef mig_internal
  12. #define mig_internal static __inline__
  13. #endif /* mig_internal */
  14. #ifndef mig_external
  15. #define mig_external
  16. #endif /* mig_external */
  17. #if !defined(__MigTypeCheck) && defined(TypeCheck)
  18. #define __MigTypeCheck TypeCheck /* Legacy setting */
  19. #endif /* !defined(__MigTypeCheck) */
  20. #if !defined(__MigKernelSpecificCode) && defined(_MIG_KERNEL_SPECIFIC_CODE_)
  21. #define __MigKernelSpecificCode _MIG_KERNEL_SPECIFIC_CODE_ /* Legacy setting */
  22. #endif /* !defined(__MigKernelSpecificCode) */
  23. #ifndef LimitCheck
  24. #define LimitCheck 0
  25. #endif /* LimitCheck */
  26. #ifndef min
  27. #define min(a,b) ( ((a) < (b))? (a): (b) )
  28. #endif /* min */
  29. #if !defined(_WALIGN_)
  30. #define _WALIGN_(x) (((x) + 3) & ~3)
  31. #endif /* !defined(_WALIGN_) */
  32. #if !defined(_WALIGNSZ_)
  33. #define _WALIGNSZ_(x) _WALIGN_(sizeof(x))
  34. #endif /* !defined(_WALIGNSZ_) */
  35. #ifndef UseStaticTemplates
  36. #define UseStaticTemplates 0
  37. #endif /* UseStaticTemplates */
  38. #ifndef __MachMsgErrorWithTimeout
  39. #define __MachMsgErrorWithTimeout(_R_) { \
  40. switch (_R_) { \
  41. case MACH_SEND_INVALID_REPLY: \
  42. case MACH_RCV_INVALID_NAME: \
  43. case MACH_RCV_PORT_DIED: \
  44. case MACH_RCV_PORT_CHANGED: \
  45. case MACH_RCV_TIMED_OUT: \
  46. mig_dealloc_reply_port(InP->Head.msgh_reply_port); \
  47. break; \
  48. default: \
  49. mig_put_reply_port(InP->Head.msgh_reply_port); \
  50. } \
  51. }
  52. #endif /* __MachMsgErrorWithTimeout */
  53. #ifndef __MachMsgErrorWithoutTimeout
  54. #define __MachMsgErrorWithoutTimeout(_R_) { \
  55. switch (_R_) { \
  56. case MACH_SEND_INVALID_REPLY: \
  57. case MACH_RCV_INVALID_NAME: \
  58. case MACH_RCV_PORT_DIED: \
  59. case MACH_RCV_PORT_CHANGED: \
  60. mig_dealloc_reply_port(InP->Head.msgh_reply_port); \
  61. break; \
  62. default: \
  63. mig_put_reply_port(InP->Head.msgh_reply_port); \
  64. } \
  65. }
  66. #endif /* __MachMsgErrorWithoutTimeout */
  67. #ifndef __DeclareSendRpc
  68. #define __DeclareSendRpc(_NUM_, _NAME_)
  69. #endif /* __DeclareSendRpc */
  70. #ifndef __BeforeSendRpc
  71. #define __BeforeSendRpc(_NUM_, _NAME_)
  72. #endif /* __BeforeSendRpc */
  73. #ifndef __AfterSendRpc
  74. #define __AfterSendRpc(_NUM_, _NAME_)
  75. #endif /* __AfterSendRpc */
  76. #ifndef __DeclareSendSimple
  77. #define __DeclareSendSimple(_NUM_, _NAME_)
  78. #endif /* __DeclareSendSimple */
  79. #ifndef __BeforeSendSimple
  80. #define __BeforeSendSimple(_NUM_, _NAME_)
  81. #endif /* __BeforeSendSimple */
  82. #ifndef __AfterSendSimple
  83. #define __AfterSendSimple(_NUM_, _NAME_)
  84. #endif /* __AfterSendSimple */
  85. #define msgh_request_port msgh_remote_port
  86. #define msgh_reply_port msgh_local_port
  87. #if ( __MigTypeCheck || __NDR_convert__ )
  88. #if __MIG_check__Reply__JackRPCClient_subsystem__
  89. #if !defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined)
  90. #define __MIG_check__Reply__rpc_jack_client_sync_notify_t__defined
  91. #ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
  92. #if defined(__NDR_convert__int_rep__JackRPCClient__kern_return_t__defined)
  93. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
  94. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(a, f) \
  95. __NDR_convert__int_rep__JackRPCClient__kern_return_t((kern_return_t *)(a), f)
  96. #elif defined(__NDR_convert__int_rep__kern_return_t__defined)
  97. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined
  98. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(a, f) \
  99. __NDR_convert__int_rep__kern_return_t((kern_return_t *)(a), f)
  100. #endif /* defined(__NDR_convert__*__defined) */
  101. #endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined */
  102. #ifndef __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  103. #if defined(__NDR_convert__int_rep__JackRPCClient__int__defined)
  104. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  105. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  106. __NDR_convert__int_rep__JackRPCClient__int((int *)(a), f)
  107. #elif defined(__NDR_convert__int_rep__int__defined)
  108. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  109. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  110. __NDR_convert__int_rep__int((int *)(a), f)
  111. #elif defined(__NDR_convert__int_rep__JackRPCClient__int32_t__defined)
  112. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  113. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  114. __NDR_convert__int_rep__JackRPCClient__int32_t((int32_t *)(a), f)
  115. #elif defined(__NDR_convert__int_rep__int32_t__defined)
  116. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  117. #define __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  118. __NDR_convert__int_rep__int32_t((int32_t *)(a), f)
  119. #endif /* defined(__NDR_convert__*__defined) */
  120. #endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
  121. #ifndef __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  122. #if defined(__NDR_convert__char_rep__JackRPCClient__int__defined)
  123. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  124. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  125. __NDR_convert__char_rep__JackRPCClient__int((int *)(a), f)
  126. #elif defined(__NDR_convert__char_rep__int__defined)
  127. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  128. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  129. __NDR_convert__char_rep__int((int *)(a), f)
  130. #elif defined(__NDR_convert__char_rep__JackRPCClient__int32_t__defined)
  131. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  132. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  133. __NDR_convert__char_rep__JackRPCClient__int32_t((int32_t *)(a), f)
  134. #elif defined(__NDR_convert__char_rep__int32_t__defined)
  135. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  136. #define __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  137. __NDR_convert__char_rep__int32_t((int32_t *)(a), f)
  138. #endif /* defined(__NDR_convert__*__defined) */
  139. #endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
  140. #ifndef __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  141. #if defined(__NDR_convert__float_rep__JackRPCClient__int__defined)
  142. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  143. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  144. __NDR_convert__float_rep__JackRPCClient__int((int *)(a), f)
  145. #elif defined(__NDR_convert__float_rep__int__defined)
  146. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  147. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  148. __NDR_convert__float_rep__int((int *)(a), f)
  149. #elif defined(__NDR_convert__float_rep__JackRPCClient__int32_t__defined)
  150. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  151. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  152. __NDR_convert__float_rep__JackRPCClient__int32_t((int32_t *)(a), f)
  153. #elif defined(__NDR_convert__float_rep__int32_t__defined)
  154. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined
  155. #define __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(a, f) \
  156. __NDR_convert__float_rep__int32_t((int32_t *)(a), f)
  157. #endif /* defined(__NDR_convert__*__defined) */
  158. #endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
  159. mig_internal kern_return_t __MIG_check__Reply__rpc_jack_client_sync_notify_t(__Reply__rpc_jack_client_sync_notify_t *Out0P)
  160. {
  161. typedef __Reply__rpc_jack_client_sync_notify_t __Reply;
  162. #if __MigTypeCheck
  163. unsigned int msgh_size;
  164. #endif /* __MigTypeCheck */
  165. if (Out0P->Head.msgh_id != 1100) {
  166. if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE)
  167. { return MIG_SERVER_DIED; }
  168. else
  169. { return MIG_REPLY_MISMATCH; }
  170. }
  171. #if __MigTypeCheck
  172. msgh_size = Out0P->Head.msgh_size;
  173. if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
  174. ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) &&
  175. (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) ||
  176. Out0P->RetCode == KERN_SUCCESS)))
  177. { return MIG_TYPE_ERROR ; }
  178. #endif /* __MigTypeCheck */
  179. if (Out0P->RetCode != KERN_SUCCESS) {
  180. #ifdef __NDR_convert__mig_reply_error_t__defined
  181. __NDR_convert__mig_reply_error_t((mig_reply_error_t *)Out0P);
  182. #endif /* __NDR_convert__mig_reply_error_t__defined */
  183. return ((mig_reply_error_t *)Out0P)->RetCode;
  184. }
  185. #if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined) || \
  186. defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
  187. if (Out0P->NDR.int_rep != NDR_record.int_rep) {
  188. #if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined)
  189. __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode(&Out0P->RetCode, Out0P->NDR.int_rep);
  190. #endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__RetCode__defined */
  191. #if defined(__NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
  192. __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.int_rep);
  193. #endif /* __NDR_convert__int_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
  194. }
  195. #endif /* defined(__NDR_convert__int_rep...) */
  196. #if 0 || \
  197. defined(__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
  198. if (Out0P->NDR.char_rep != NDR_record.char_rep) {
  199. #if defined(__NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
  200. __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.char_rep);
  201. #endif /* __NDR_convert__char_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
  202. }
  203. #endif /* defined(__NDR_convert__char_rep...) */
  204. #if 0 || \
  205. defined(__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
  206. if (Out0P->NDR.float_rep != NDR_record.float_rep) {
  207. #if defined(__NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined)
  208. __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result(&Out0P->result, Out0P->NDR.float_rep);
  209. #endif /* __NDR_convert__float_rep__Reply__rpc_jack_client_sync_notify_t__result__defined */
  210. }
  211. #endif /* defined(__NDR_convert__float_rep...) */
  212. return MACH_MSG_SUCCESS;
  213. }
  214. #endif /* !defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined) */
  215. #endif /* __MIG_check__Reply__JackRPCClient_subsystem__ */
  216. #endif /* ( __MigTypeCheck || __NDR_convert__ ) */
  217. /* Routine rpc_jack_client_sync_notify */
  218. mig_external kern_return_t rpc_jack_client_sync_notify
  219. (
  220. mach_port_t client_port,
  221. int refnum,
  222. client_name_t client_name,
  223. int notify,
  224. int value,
  225. int *result
  226. )
  227. {
  228. {
  229. #ifdef __MigPackStructs
  230. #pragma pack(4)
  231. #endif
  232. typedef struct {
  233. mach_msg_header_t Head;
  234. NDR_record_t NDR;
  235. int refnum;
  236. client_name_t client_name;
  237. int notify;
  238. int value;
  239. } Request;
  240. #ifdef __MigPackStructs
  241. #pragma pack()
  242. #endif
  243. #ifdef __MigPackStructs
  244. #pragma pack(4)
  245. #endif
  246. typedef struct {
  247. mach_msg_header_t Head;
  248. NDR_record_t NDR;
  249. kern_return_t RetCode;
  250. int result;
  251. mach_msg_trailer_t trailer;
  252. } Reply;
  253. #ifdef __MigPackStructs
  254. #pragma pack()
  255. #endif
  256. #ifdef __MigPackStructs
  257. #pragma pack(4)
  258. #endif
  259. typedef struct {
  260. mach_msg_header_t Head;
  261. NDR_record_t NDR;
  262. kern_return_t RetCode;
  263. int result;
  264. } __Reply;
  265. #ifdef __MigPackStructs
  266. #pragma pack()
  267. #endif
  268. /*
  269. * typedef struct {
  270. * mach_msg_header_t Head;
  271. * NDR_record_t NDR;
  272. * kern_return_t RetCode;
  273. * } mig_reply_error_t;
  274. */
  275. union {
  276. Request In;
  277. Reply Out;
  278. } Mess;
  279. Request *InP = &Mess.In;
  280. Reply *Out0P = &Mess.Out;
  281. mach_msg_return_t msg_result;
  282. #ifdef __MIG_check__Reply__rpc_jack_client_sync_notify_t__defined
  283. kern_return_t check_result;
  284. #endif /* __MIG_check__Reply__rpc_jack_client_sync_notify_t__defined */
  285. __DeclareSendRpc(1000, "rpc_jack_client_sync_notify")
  286. InP->NDR = NDR_record;
  287. InP->refnum = refnum;
  288. (void) mig_strncpy(InP->client_name, client_name, 128);
  289. InP->notify = notify;
  290. InP->value = value;
  291. InP->Head.msgh_bits =
  292. MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
  293. /* msgh_size passed as argument */
  294. InP->Head.msgh_request_port = client_port;
  295. InP->Head.msgh_reply_port = mig_get_reply_port();
  296. InP->Head.msgh_id = 1000;
  297. __BeforeSendRpc(1000, "rpc_jack_client_sync_notify")
  298. msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_SEND_TIMEOUT|MACH_RCV_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, 5000, MACH_PORT_NULL);
  299. __AfterSendRpc(1000, "rpc_jack_client_sync_notify")
  300. if (msg_result != MACH_MSG_SUCCESS) {
  301. __MachMsgErrorWithTimeout(msg_result);
  302. { return msg_result; }
  303. }
  304. #if defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined)
  305. check_result = __MIG_check__Reply__rpc_jack_client_sync_notify_t((__Reply__rpc_jack_client_sync_notify_t *)Out0P);
  306. if (check_result != MACH_MSG_SUCCESS)
  307. { return check_result; }
  308. #endif /* defined(__MIG_check__Reply__rpc_jack_client_sync_notify_t__defined) */
  309. *result = Out0P->result;
  310. return KERN_SUCCESS;
  311. }
  312. }
  313. /* SimpleRoutine rpc_jack_client_async_notify */
  314. mig_external kern_return_t rpc_jack_client_async_notify
  315. (
  316. mach_port_t client_port,
  317. int refnum,
  318. client_name_t client_name,
  319. int notify,
  320. int value
  321. )
  322. {
  323. {
  324. #ifdef __MigPackStructs
  325. #pragma pack(4)
  326. #endif
  327. typedef struct {
  328. mach_msg_header_t Head;
  329. NDR_record_t NDR;
  330. int refnum;
  331. client_name_t client_name;
  332. int notify;
  333. int value;
  334. } Request;
  335. #ifdef __MigPackStructs
  336. #pragma pack()
  337. #endif
  338. /*
  339. * typedef struct {
  340. * mach_msg_header_t Head;
  341. * NDR_record_t NDR;
  342. * kern_return_t RetCode;
  343. * } mig_reply_error_t;
  344. */
  345. union {
  346. Request In;
  347. } Mess;
  348. Request *InP = &Mess.In;
  349. mach_msg_return_t msg_result;
  350. #ifdef __MIG_check__Reply__rpc_jack_client_async_notify_t__defined
  351. kern_return_t check_result;
  352. #endif /* __MIG_check__Reply__rpc_jack_client_async_notify_t__defined */
  353. __DeclareSendSimple(1001, "rpc_jack_client_async_notify")
  354. InP->NDR = NDR_record;
  355. InP->refnum = refnum;
  356. (void) mig_strncpy(InP->client_name, client_name, 128);
  357. InP->notify = notify;
  358. InP->value = value;
  359. InP->Head.msgh_bits =
  360. MACH_MSGH_BITS(19, 0);
  361. /* msgh_size passed as argument */
  362. InP->Head.msgh_request_port = client_port;
  363. InP->Head.msgh_reply_port = MACH_PORT_NULL;
  364. InP->Head.msgh_id = 1001;
  365. __BeforeSendSimple(1001, "rpc_jack_client_async_notify")
  366. msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_SEND_TIMEOUT|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), 0, MACH_PORT_NULL, 5000, MACH_PORT_NULL);
  367. __AfterSendSimple(1001, "rpc_jack_client_async_notify")
  368. return msg_result;
  369. return KERN_SUCCESS;
  370. }
  371. }