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.

191 lines
4.6KB

  1. #ifndef _JackRPCClient_user_
  2. #define _JackRPCClient_user_
  3. /* Module JackRPCClient */
  4. #include <string.h>
  5. #include <mach/ndr.h>
  6. #include <mach/boolean.h>
  7. #include <mach/kern_return.h>
  8. #include <mach/notify.h>
  9. #include <mach/mach_types.h>
  10. #include <mach/message.h>
  11. #include <mach/mig_errors.h>
  12. #include <mach/port.h>
  13. #ifdef AUTOTEST
  14. #ifndef FUNCTION_PTR_T
  15. #define FUNCTION_PTR_T
  16. typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
  17. typedef struct {
  18. char *name;
  19. function_ptr_t function;
  20. } function_table_entry;
  21. typedef function_table_entry *function_table_t;
  22. #endif /* FUNCTION_PTR_T */
  23. #endif /* AUTOTEST */
  24. #ifndef JackRPCClient_MSG_COUNT
  25. #define JackRPCClient_MSG_COUNT 2
  26. #endif /* JackRPCClient_MSG_COUNT */
  27. #include <mach/std_types.h>
  28. #include <mach/mig.h>
  29. #include <mach/mig.h>
  30. #include <mach/mach_types.h>
  31. #include "Jackdefs.h"
  32. #ifdef __BeforeMigUserHeader
  33. __BeforeMigUserHeader
  34. #endif /* __BeforeMigUserHeader */
  35. #include <sys/cdefs.h>
  36. __BEGIN_DECLS
  37. /* Routine rpc_jack_client_sync_notify */
  38. #ifdef mig_external
  39. mig_external
  40. #else
  41. extern
  42. #endif /* mig_external */
  43. kern_return_t rpc_jack_client_sync_notify
  44. (
  45. mach_port_t client_port,
  46. int refnum,
  47. client_name_t client_name,
  48. int notify,
  49. int value1,
  50. int value2,
  51. int *result
  52. );
  53. /* SimpleRoutine rpc_jack_client_async_notify */
  54. #ifdef mig_external
  55. mig_external
  56. #else
  57. extern
  58. #endif /* mig_external */
  59. kern_return_t rpc_jack_client_async_notify
  60. (
  61. mach_port_t client_port,
  62. int refnum,
  63. client_name_t client_name,
  64. int notify,
  65. int value1,
  66. int value2
  67. );
  68. __END_DECLS
  69. /********************** Caution **************************/
  70. /* The following data types should be used to calculate */
  71. /* maximum message sizes only. The actual message may be */
  72. /* smaller, and the position of the arguments within the */
  73. /* message layout may vary from what is presented here. */
  74. /* For example, if any of the arguments are variable- */
  75. /* sized, and less than the maximum is sent, the data */
  76. /* will be packed tight in the actual message to reduce */
  77. /* the presence of holes. */
  78. /********************** Caution **************************/
  79. /* typedefs for all requests */
  80. #ifndef __Request__JackRPCClient_subsystem__defined
  81. #define __Request__JackRPCClient_subsystem__defined
  82. #ifdef __MigPackStructs
  83. #pragma pack(4)
  84. #endif
  85. typedef struct {
  86. mach_msg_header_t Head;
  87. NDR_record_t NDR;
  88. int refnum;
  89. client_name_t client_name;
  90. int notify;
  91. int value1;
  92. int value2;
  93. } __Request__rpc_jack_client_sync_notify_t;
  94. #ifdef __MigPackStructs
  95. #pragma pack()
  96. #endif
  97. #ifdef __MigPackStructs
  98. #pragma pack(4)
  99. #endif
  100. typedef struct {
  101. mach_msg_header_t Head;
  102. NDR_record_t NDR;
  103. int refnum;
  104. client_name_t client_name;
  105. int notify;
  106. int value1;
  107. int value2;
  108. } __Request__rpc_jack_client_async_notify_t;
  109. #ifdef __MigPackStructs
  110. #pragma pack()
  111. #endif
  112. #endif /* !__Request__JackRPCClient_subsystem__defined */
  113. /* union of all requests */
  114. #ifndef __RequestUnion__JackRPCClient_subsystem__defined
  115. #define __RequestUnion__JackRPCClient_subsystem__defined
  116. union __RequestUnion__JackRPCClient_subsystem {
  117. __Request__rpc_jack_client_sync_notify_t Request_rpc_jack_client_sync_notify;
  118. __Request__rpc_jack_client_async_notify_t Request_rpc_jack_client_async_notify;
  119. };
  120. #endif /* !__RequestUnion__JackRPCClient_subsystem__defined */
  121. /* typedefs for all replies */
  122. #ifndef __Reply__JackRPCClient_subsystem__defined
  123. #define __Reply__JackRPCClient_subsystem__defined
  124. #ifdef __MigPackStructs
  125. #pragma pack(4)
  126. #endif
  127. typedef struct {
  128. mach_msg_header_t Head;
  129. NDR_record_t NDR;
  130. kern_return_t RetCode;
  131. int result;
  132. } __Reply__rpc_jack_client_sync_notify_t;
  133. #ifdef __MigPackStructs
  134. #pragma pack()
  135. #endif
  136. #ifdef __MigPackStructs
  137. #pragma pack(4)
  138. #endif
  139. typedef struct {
  140. mach_msg_header_t Head;
  141. NDR_record_t NDR;
  142. kern_return_t RetCode;
  143. } __Reply__rpc_jack_client_async_notify_t;
  144. #ifdef __MigPackStructs
  145. #pragma pack()
  146. #endif
  147. #endif /* !__Reply__JackRPCClient_subsystem__defined */
  148. /* union of all replies */
  149. #ifndef __ReplyUnion__JackRPCClient_subsystem__defined
  150. #define __ReplyUnion__JackRPCClient_subsystem__defined
  151. union __ReplyUnion__JackRPCClient_subsystem {
  152. __Reply__rpc_jack_client_sync_notify_t Reply_rpc_jack_client_sync_notify;
  153. __Reply__rpc_jack_client_async_notify_t Reply_rpc_jack_client_async_notify;
  154. };
  155. #endif /* !__RequestUnion__JackRPCClient_subsystem__defined */
  156. #ifndef subsystem_to_name_map_JackRPCClient
  157. #define subsystem_to_name_map_JackRPCClient \
  158. { "rpc_jack_client_sync_notify", 1000 },\
  159. { "rpc_jack_client_async_notify", 1001 }
  160. #endif
  161. #ifdef __AfterMigUserHeader
  162. __AfterMigUserHeader
  163. #endif /* __AfterMigUserHeader */
  164. #endif /* _JackRPCClient_user_ */