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