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.

182 lines
4.2KB

  1. /*
  2. Copyright (C) 2004 Grame
  3. This program is free software; you can redistribute it and/or modify
  4. it under the terms of the GNU Lesser General Public License as published by
  5. the Free Software Foundation; either version 2.1 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU Lesser General Public License for more details.
  11. You should have received a copy of the GNU Lesser General Public License
  12. along with this program; if not, write to the Free Software
  13. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  14. */
  15. subsystem JackRPCEngine 1000;
  16. #include <mach/std_types.defs>
  17. #include <mach/mach_types.defs>
  18. import "Jackdefs.h";
  19. ServerPrefix server_;
  20. type client_name_t = c_string[64];
  21. type client_port_name_t = c_string[128];
  22. type client_port_type_t = c_string[128];
  23. type so_name_t = c_string[256];
  24. type objet_data_t = c_string[256];
  25. routine rpc_jack_client_open(
  26. server_port : mach_port_t;
  27. client_name : client_name_t;
  28. pid : int;
  29. out private_port : mach_port_make_send_t;
  30. out shared_engine : int;
  31. out shared_client : int;
  32. out shared_graph : int;
  33. out result : int);
  34. routine rpc_jack_client_check(
  35. server_port : mach_port_t;
  36. client_name : client_name_t;
  37. out client_name_res : client_name_t;
  38. protocol : int;
  39. options : int;
  40. out status : int;
  41. out result : int);
  42. routine rpc_jack_client_close(
  43. server_port : mach_port_t;
  44. refnum : int;
  45. out result : int);
  46. routine rpc_jack_client_activate(
  47. server_port : mach_port_t;
  48. refnum : int;
  49. state : int;
  50. out result : int);
  51. routine rpc_jack_client_deactivate(
  52. server_port : mach_port_t;
  53. refnum : int;
  54. out result : int);
  55. routine rpc_jack_port_register(
  56. server_port : mach_port_t;
  57. refnum : int;
  58. name : client_port_name_t;
  59. port_type : client_port_type_t;
  60. flags : unsigned;
  61. buffer_size : unsigned;
  62. out port_index : unsigned;
  63. out result : int);
  64. routine rpc_jack_port_unregister(
  65. server_port : mach_port_t;
  66. refnum : int;
  67. port : int;
  68. out result : int);
  69. routine rpc_jack_port_connect(
  70. server_port : mach_port_t;
  71. refnum : int;
  72. src : int;
  73. dst : int;
  74. out result : int);
  75. routine rpc_jack_port_disconnect(
  76. server_port : mach_port_t;
  77. refnum : int;
  78. src : int;
  79. dst : int;
  80. out result : int);
  81. routine rpc_jack_port_connect_name(
  82. server_port : mach_port_t;
  83. refnum : int;
  84. src : client_port_name_t;
  85. dst : client_port_name_t;
  86. out result : int);
  87. routine rpc_jack_port_disconnect_name(
  88. server_port : mach_port_t;
  89. refnum : int;
  90. src : client_port_name_t;
  91. dst : client_port_name_t;
  92. out result : int);
  93. routine rpc_jack_port_rename(
  94. server_port : mach_port_t;
  95. refnum : int;
  96. src : int;
  97. name : client_port_name_t;
  98. out result : int);
  99. routine rpc_jack_set_buffer_size(
  100. server_port : mach_port_t;
  101. buffer_size : int;
  102. out result : int);
  103. routine rpc_jack_set_freewheel(
  104. server_port : mach_port_t;
  105. onoff : int;
  106. out result : int);
  107. routine rpc_jack_release_timebase(
  108. server_port : mach_port_t;
  109. refnum : int;
  110. out result : int);
  111. routine rpc_jack_set_timebase_callback(
  112. server_port : mach_port_t;
  113. refnum : int;
  114. conditional : int;
  115. out result : int);
  116. routine rpc_jack_get_internal_clientname(
  117. server_port : mach_port_t;
  118. refnum : int;
  119. int_ref : int;
  120. out client_name_res : client_name_t;
  121. out result : int);
  122. routine rpc_jack_internal_clienthandle(
  123. server_port : mach_port_t;
  124. refnum : int;
  125. client_name : client_name_t;
  126. out int_ref : int;
  127. out status : int;
  128. out result : int);
  129. routine rpc_jack_internal_clientload(
  130. server_port : mach_port_t;
  131. refnum : int;
  132. client_name : client_name_t;
  133. so_name : so_name_t;
  134. objet_data : objet_data_t;
  135. options : int;
  136. out status : int;
  137. out int_ref : int;
  138. out result : int);
  139. routine rpc_jack_internal_clientunload(
  140. server_port : mach_port_t;
  141. refnum : int;
  142. int_ref : int;
  143. out status : int;
  144. out result : int);
  145. simpleroutine rpc_jack_client_rt_notify(
  146. client_port : mach_port_t;
  147. refnum : int;
  148. notify : int;
  149. value : int;
  150. waittime timeout : int);