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.

187 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 value,
  50. int *result
  51. );
  52. /* SimpleRoutine rpc_jack_client_async_notify */
  53. #ifdef mig_external
  54. mig_external
  55. #else
  56. extern
  57. #endif /* mig_external */
  58. kern_return_t rpc_jack_client_async_notify
  59. (
  60. mach_port_t client_port,
  61. int refnum,
  62. client_name_t client_name,
  63. int notify,
  64. int value
  65. );
  66. __END_DECLS
  67. /********************** Caution **************************/
  68. /* The following data types should be used to calculate */
  69. /* maximum message sizes only. The actual message may be */
  70. /* smaller, and the position of the arguments within the */
  71. /* message layout may vary from what is presented here. */
  72. /* For example, if any of the arguments are variable- */
  73. /* sized, and less than the maximum is sent, the data */
  74. /* will be packed tight in the actual message to reduce */
  75. /* the presence of holes. */
  76. /********************** Caution **************************/
  77. /* typedefs for all requests */
  78. #ifndef __Request__JackRPCClient_subsystem__defined
  79. #define __Request__JackRPCClient_subsystem__defined
  80. #ifdef __MigPackStructs
  81. #pragma pack(4)
  82. #endif
  83. typedef struct {
  84. mach_msg_header_t Head;
  85. NDR_record_t NDR;
  86. int refnum;
  87. client_name_t client_name;
  88. int notify;
  89. int value;
  90. } __Request__rpc_jack_client_sync_notify_t;
  91. #ifdef __MigPackStructs
  92. #pragma pack()
  93. #endif
  94. #ifdef __MigPackStructs
  95. #pragma pack(4)
  96. #endif
  97. typedef struct {
  98. mach_msg_header_t Head;
  99. NDR_record_t NDR;
  100. int refnum;
  101. client_name_t client_name;
  102. int notify;
  103. int value;
  104. } __Request__rpc_jack_client_async_notify_t;
  105. #ifdef __MigPackStructs
  106. #pragma pack()
  107. #endif
  108. #endif /* !__Request__JackRPCClient_subsystem__defined */
  109. /* union of all requests */
  110. #ifndef __RequestUnion__JackRPCClient_subsystem__defined
  111. #define __RequestUnion__JackRPCClient_subsystem__defined
  112. union __RequestUnion__JackRPCClient_subsystem {
  113. __Request__rpc_jack_client_sync_notify_t Request_rpc_jack_client_sync_notify;
  114. __Request__rpc_jack_client_async_notify_t Request_rpc_jack_client_async_notify;
  115. };
  116. #endif /* !__RequestUnion__JackRPCClient_subsystem__defined */
  117. /* typedefs for all replies */
  118. #ifndef __Reply__JackRPCClient_subsystem__defined
  119. #define __Reply__JackRPCClient_subsystem__defined
  120. #ifdef __MigPackStructs
  121. #pragma pack(4)
  122. #endif
  123. typedef struct {
  124. mach_msg_header_t Head;
  125. NDR_record_t NDR;
  126. kern_return_t RetCode;
  127. int result;
  128. } __Reply__rpc_jack_client_sync_notify_t;
  129. #ifdef __MigPackStructs
  130. #pragma pack()
  131. #endif
  132. #ifdef __MigPackStructs
  133. #pragma pack(4)
  134. #endif
  135. typedef struct {
  136. mach_msg_header_t Head;
  137. NDR_record_t NDR;
  138. kern_return_t RetCode;
  139. } __Reply__rpc_jack_client_async_notify_t;
  140. #ifdef __MigPackStructs
  141. #pragma pack()
  142. #endif
  143. #endif /* !__Reply__JackRPCClient_subsystem__defined */
  144. /* union of all replies */
  145. #ifndef __ReplyUnion__JackRPCClient_subsystem__defined
  146. #define __ReplyUnion__JackRPCClient_subsystem__defined
  147. union __ReplyUnion__JackRPCClient_subsystem {
  148. __Reply__rpc_jack_client_sync_notify_t Reply_rpc_jack_client_sync_notify;
  149. __Reply__rpc_jack_client_async_notify_t Reply_rpc_jack_client_async_notify;
  150. };
  151. #endif /* !__RequestUnion__JackRPCClient_subsystem__defined */
  152. #ifndef subsystem_to_name_map_JackRPCClient
  153. #define subsystem_to_name_map_JackRPCClient \
  154. { "rpc_jack_client_sync_notify", 1000 },\
  155. { "rpc_jack_client_async_notify", 1001 }
  156. #endif
  157. #ifdef __AfterMigUserHeader
  158. __AfterMigUserHeader
  159. #endif /* __AfterMigUserHeader */
  160. #endif /* _JackRPCClient_user_ */