1#![allow(non_camel_case_types)]
2#[cfg(not(target_os = "windows"))]
3pub type jack_native_thread_t = ::libc::pthread_t;
4pub type jack_uuid_t = u64;
5pub type jack_shmsize_t = i32;
6pub type jack_nframes_t = u32;
7pub type jack_time_t = u64;
8pub type jack_intclient_t = u64;
9pub enum Struct__jack_port {}
10pub type jack_port_t = Struct__jack_port;
11pub enum Struct__jack_client {}
12pub type jack_client_t = Struct__jack_client;
13pub type jack_port_id_t = u32;
14pub type jack_port_type_id_t = u32;
15pub type Enum_JackOptions = ::libc::c_uint;
16pub const JackNullOption: ::libc::c_uint = 0;
17pub const JackNoStartServer: ::libc::c_uint = 1;
18pub const JackUseExactName: ::libc::c_uint = 2;
19pub const JackServerName: ::libc::c_uint = 4;
20pub const JackLoadName: ::libc::c_uint = 8;
21pub const JackLoadInit: ::libc::c_uint = 16;
22pub const JackSessionID: ::libc::c_uint = 32;
23pub type jack_options_t = Enum_JackOptions;
24pub type Enum_JackStatus = ::libc::c_uint;
25pub const JackFailure: ::libc::c_uint = 1;
26pub const JackInvalidOption: ::libc::c_uint = 2;
27pub const JackNameNotUnique: ::libc::c_uint = 4;
28pub const JackServerStarted: ::libc::c_uint = 8;
29pub const JackServerFailed: ::libc::c_uint = 16;
30pub const JackServerError: ::libc::c_uint = 32;
31pub const JackNoSuchClient: ::libc::c_uint = 64;
32pub const JackLoadFailure: ::libc::c_uint = 128;
33pub const JackInitFailure: ::libc::c_uint = 256;
34pub const JackShmFailure: ::libc::c_uint = 512;
35pub const JackVersionError: ::libc::c_uint = 1024;
36pub const JackBackendError: ::libc::c_uint = 2048;
37pub const JackClientZombie: ::libc::c_uint = 4096;
38pub type jack_status_t = Enum_JackStatus;
39pub type Enum_JackLatencyCallbackMode = ::libc::c_uint;
40pub const JackCaptureLatency: ::libc::c_uint = 0;
41pub const JackPlaybackLatency: ::libc::c_uint = 1;
42pub type jack_latency_callback_mode_t = Enum_JackLatencyCallbackMode;
43pub type JackLatencyCallback = ::std::option::Option<
44 unsafe extern "C" fn(mode: jack_latency_callback_mode_t, arg: *mut ::libc::c_void) -> (),
45>;
46#[repr(C, packed)]
47#[derive(Copy)]
48pub struct Struct__jack_latency_range {
49 pub min: jack_nframes_t,
50 pub max: jack_nframes_t,
51}
52impl ::std::clone::Clone for Struct__jack_latency_range {
53 fn clone(&self) -> Self {
54 *self
55 }
56}
57impl ::std::default::Default for Struct__jack_latency_range {
58 fn default() -> Self {
59 unsafe { ::std::mem::zeroed() }
60 }
61}
62pub type jack_latency_range_t = Struct__jack_latency_range;
63pub type JackProcessCallback = ::std::option::Option<
64 unsafe extern "C" fn(nframes: jack_nframes_t, arg: *mut ::libc::c_void) -> ::libc::c_int,
65>;
66pub type JackThreadCallback =
67 ::std::option::Option<unsafe extern "C" fn(arg: *mut ::libc::c_void) -> *mut ::libc::c_void>;
68pub type JackThreadInitCallback =
69 ::std::option::Option<unsafe extern "C" fn(arg: *mut ::libc::c_void) -> ()>;
70pub type JackGraphOrderCallback =
71 ::std::option::Option<unsafe extern "C" fn(arg: *mut ::libc::c_void) -> ::libc::c_int>;
72pub type JackXRunCallback =
73 ::std::option::Option<unsafe extern "C" fn(arg: *mut ::libc::c_void) -> ::libc::c_int>;
74pub type JackBufferSizeCallback = ::std::option::Option<
75 unsafe extern "C" fn(nframes: jack_nframes_t, arg: *mut ::libc::c_void) -> ::libc::c_int,
76>;
77pub type JackSampleRateCallback = ::std::option::Option<
78 unsafe extern "C" fn(nframes: jack_nframes_t, arg: *mut ::libc::c_void) -> ::libc::c_int,
79>;
80pub type JackPortRegistrationCallback = ::std::option::Option<
81 unsafe extern "C" fn(port: jack_port_id_t, arg1: ::libc::c_int, arg: *mut ::libc::c_void) -> (),
82>;
83pub type JackClientRegistrationCallback = ::std::option::Option<
84 unsafe extern "C" fn(
85 name: *const ::libc::c_char,
86 arg1: ::libc::c_int,
87 arg: *mut ::libc::c_void,
88 ) -> (),
89>;
90pub type JackPortConnectCallback = ::std::option::Option<
91 unsafe extern "C" fn(
92 a: jack_port_id_t,
93 b: jack_port_id_t,
94 connect: ::libc::c_int,
95 arg: *mut ::libc::c_void,
96 ) -> (),
97>;
98pub type JackPortRenameCallback = ::std::option::Option<
99 unsafe extern "C" fn(
100 port: jack_port_id_t,
101 old_name: *const ::libc::c_char,
102 new_name: *const ::libc::c_char,
103 arg: *mut ::libc::c_void,
104 ) -> ::libc::c_int,
105>;
106pub type JackFreewheelCallback = ::std::option::Option<
107 unsafe extern "C" fn(starting: ::libc::c_int, arg: *mut ::libc::c_void) -> (),
108>;
109pub type JackShutdownCallback =
110 ::std::option::Option<unsafe extern "C" fn(arg: *mut ::libc::c_void) -> ()>;
111pub type JackInfoShutdownCallback = ::std::option::Option<
112 unsafe extern "C" fn(
113 code: jack_status_t,
114 reason: *const ::libc::c_char,
115 arg: *mut ::libc::c_void,
116 ) -> (),
117>;
118pub type jack_default_audio_sample_t = ::libc::c_float;
119pub type Enum_JackPortFlags = ::libc::c_uint;
120pub const JackPortIsInput: ::libc::c_uint = 1;
121pub const JackPortIsOutput: ::libc::c_uint = 2;
122pub const JackPortIsPhysical: ::libc::c_uint = 4;
123pub const JackPortCanMonitor: ::libc::c_uint = 8;
124pub const JackPortIsTerminal: ::libc::c_uint = 16;
125pub type Enum_Unnamed1 = ::libc::c_uint;
126pub const JackTransportStopped: ::libc::c_uint = 0;
127pub const JackTransportRolling: ::libc::c_uint = 1;
128pub const JackTransportLooping: ::libc::c_uint = 2;
129pub const JackTransportStarting: ::libc::c_uint = 3;
130pub const JackTransportNetStarting: ::libc::c_uint = 4;
131pub type jack_transport_state_t = Enum_Unnamed1;
132pub type jack_unique_t = u64;
133pub type Enum_Unnamed2 = ::libc::c_uint;
134pub const JackPositionBBT: ::libc::c_uint = 16;
135pub const JackPositionTimecode: ::libc::c_uint = 32;
136pub const JackBBTFrameOffset: ::libc::c_uint = 64;
137pub const JackAudioVideoRatio: ::libc::c_uint = 128;
138pub const JackVideoFrameOffset: ::libc::c_uint = 256;
139pub type jack_position_bits_t = Enum_Unnamed2;
140#[repr(C, packed)]
141#[derive(Copy)]
142pub struct Struct__jack_position {
143 pub unique_1: jack_unique_t,
144 pub usecs: jack_time_t,
145 pub frame_rate: jack_nframes_t,
146 pub frame: jack_nframes_t,
147 pub valid: jack_position_bits_t,
148 pub bar: i32,
149 pub beat: i32,
150 pub tick: i32,
151 pub bar_start_tick: ::libc::c_double,
152 pub beats_per_bar: ::libc::c_float,
153 pub beat_type: ::libc::c_float,
154 pub ticks_per_beat: ::libc::c_double,
155 pub beats_per_minute: ::libc::c_double,
156 pub frame_time: ::libc::c_double,
157 pub next_time: ::libc::c_double,
158 pub bbt_offset: jack_nframes_t,
159 pub audio_frames_per_video_frame: ::libc::c_float,
160 pub video_offset: jack_nframes_t,
161 pub padding: [i32; 7usize],
162 pub unique_2: jack_unique_t,
163}
164impl ::std::clone::Clone for Struct__jack_position {
165 fn clone(&self) -> Self {
166 *self
167 }
168}
169impl ::std::default::Default for Struct__jack_position {
170 fn default() -> Self {
171 unsafe { ::std::mem::zeroed() }
172 }
173}
174pub type jack_position_t = Struct__jack_position;
175pub type JackSyncCallback = ::std::option::Option<
176 unsafe extern "C" fn(
177 state: jack_transport_state_t,
178 pos: *mut jack_position_t,
179 arg: *mut ::libc::c_void,
180 ) -> ::libc::c_int,
181>;
182pub type TimebaseCallback = ::std::option::Option<
183 unsafe extern "C" fn(
184 state: jack_transport_state_t,
185 nframes: jack_nframes_t,
186 pos: *mut jack_position_t,
187 new_pos: ::libc::c_int,
188 arg: *mut ::libc::c_void,
189 ) -> (),
190>;
191pub type Enum_Unnamed3 = ::libc::c_uint;
192pub const JackTransportState: ::libc::c_uint = 1;
193pub const JackTransportPosition: ::libc::c_uint = 2;
194pub const JackTransportLoop: ::libc::c_uint = 4;
195pub const JackTransportSMPTE: ::libc::c_uint = 8;
196pub const JackTransportBBT: ::libc::c_uint = 16;
197pub type jack_transport_bits_t = Enum_Unnamed3;
198#[repr(C)]
199#[derive(Copy)]
200pub struct Struct_Unnamed4 {
201 pub frame_rate: jack_nframes_t,
202 pub usecs: jack_time_t,
203 pub valid: jack_transport_bits_t,
204 pub transport_state: jack_transport_state_t,
205 pub frame: jack_nframes_t,
206 pub loop_start: jack_nframes_t,
207 pub loop_end: jack_nframes_t,
208 pub smpte_offset: ::libc::c_long,
209 pub smpte_frame_rate: ::libc::c_float,
210 pub bar: ::libc::c_int,
211 pub beat: ::libc::c_int,
212 pub tick: ::libc::c_int,
213 pub bar_start_tick: ::libc::c_double,
214 pub beats_per_bar: ::libc::c_float,
215 pub beat_type: ::libc::c_float,
216 pub ticks_per_beat: ::libc::c_double,
217 pub beats_per_minute: ::libc::c_double,
218}
219impl ::std::clone::Clone for Struct_Unnamed4 {
220 fn clone(&self) -> Self {
221 *self
222 }
223}
224impl ::std::default::Default for Struct_Unnamed4 {
225 fn default() -> Self {
226 unsafe { ::std::mem::zeroed() }
227 }
228}
229pub type jack_transport_info_t = Struct_Unnamed4;
230#[cfg(not(target_os = "windows"))]
231pub type jack_thread_creator_t = ::std::option::Option<
232 unsafe extern "C" fn(
233 arg1: *mut ::libc::pthread_t,
234 arg2: *const ::libc::pthread_attr_t,
235 function: ::std::option::Option<
236 extern "C" fn(arg1: *mut ::libc::c_void) -> *mut ::libc::c_void,
237 >,
238 arg: *mut ::libc::c_void,
239 ) -> ::libc::c_int,
240>;
241pub type Enum_JackSessionEventType = ::libc::c_uint;
242pub const JackSessionSave: ::libc::c_uint = 1;
243pub const JackSessionSaveAndQuit: ::libc::c_uint = 2;
244pub const JackSessionSaveTemplate: ::libc::c_uint = 3;
245pub type jack_session_event_type_t = Enum_JackSessionEventType;
246pub type Enum_JackSessionFlags = ::libc::c_uint;
247pub const JackSessionSaveError: ::libc::c_uint = 1;
248pub const JackSessionNeedTerminal: ::libc::c_uint = 2;
249pub type jack_session_flags_t = Enum_JackSessionFlags;
250#[repr(C)]
251#[derive(Copy)]
252pub struct Struct__jack_session_event {
253 pub _type: jack_session_event_type_t,
254 pub session_dir: *const ::libc::c_char,
255 pub client_uuid: *const ::libc::c_char,
256 pub command_line: *mut ::libc::c_char,
257 pub flags: jack_session_flags_t,
258 pub future: u32,
259}
260impl ::std::clone::Clone for Struct__jack_session_event {
261 fn clone(&self) -> Self {
262 *self
263 }
264}
265impl ::std::default::Default for Struct__jack_session_event {
266 fn default() -> Self {
267 unsafe { ::std::mem::zeroed() }
268 }
269}
270pub type jack_session_event_t = Struct__jack_session_event;
271pub type JackSessionCallback = ::std::option::Option<
272 unsafe extern "C" fn(event: *mut jack_session_event_t, arg: *mut ::libc::c_void) -> (),
273>;
274#[repr(C)]
275#[derive(Copy)]
276pub struct Struct_Unnamed5 {
277 pub uuid: *const ::libc::c_char,
278 pub client_name: *const ::libc::c_char,
279 pub command: *const ::libc::c_char,
280 pub flags: jack_session_flags_t,
281}
282impl ::std::clone::Clone for Struct_Unnamed5 {
283 fn clone(&self) -> Self {
284 *self
285 }
286}
287impl ::std::default::Default for Struct_Unnamed5 {
288 fn default() -> Self {
289 unsafe { ::std::mem::zeroed() }
290 }
291}
292pub type jack_session_command_t = Struct_Unnamed5;
293pub type JSList = Struct__JSList;
294pub type JCompareFunc = ::std::option::Option<
295 unsafe extern "C" fn(a: *mut ::libc::c_void, b: *mut ::libc::c_void) -> ::libc::c_int,
296>;
297#[repr(C)]
298#[derive(Copy)]
299pub struct Struct__JSList {
300 pub data: *mut ::libc::c_void,
301 pub next: *mut JSList,
302}
303impl ::std::clone::Clone for Struct__JSList {
304 fn clone(&self) -> Self {
305 *self
306 }
307}
308impl ::std::default::Default for Struct__JSList {
309 fn default() -> Self {
310 unsafe { ::std::mem::zeroed() }
311 }
312}
313pub type Enum_Unnamed6 = ::libc::c_uint;
314pub const JackParamInt: ::libc::c_uint = 1;
315pub const JackParamUInt: ::libc::c_uint = 2;
316pub const JackParamChar: ::libc::c_uint = 3;
317pub const JackParamString: ::libc::c_uint = 4;
318pub const JackParamBool: ::libc::c_uint = 5;
319pub type jackctl_param_type_t = Enum_Unnamed6;
320pub type Enum_Unnamed7 = ::libc::c_uint;
321pub const JackMaster: ::libc::c_uint = 1;
322pub const JackSlave: ::libc::c_uint = 2;
323pub type jackctl_driver_type_t = Enum_Unnamed7;
324#[repr(C)]
325#[derive(Copy)]
326pub struct Union_jackctl_parameter_value {
327 pub _bindgen_data_: [u32; 32usize],
328}
329impl Union_jackctl_parameter_value {
330 pub unsafe fn ui(&mut self) -> *mut u32 {
331 unsafe {
332 let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
333 ::std::mem::transmute(raw.offset(0))
334 }
335 }
336 pub unsafe fn i(&mut self) -> *mut i32 {
337 unsafe {
338 let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
339 ::std::mem::transmute(raw.offset(0))
340 }
341 }
342 pub unsafe fn c(&mut self) -> *mut ::libc::c_char {
343 unsafe {
344 let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
345 ::std::mem::transmute(raw.offset(0))
346 }
347 }
348 pub unsafe fn str(&mut self) -> *mut [::libc::c_char; 128usize] {
349 unsafe {
350 let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
351 ::std::mem::transmute(raw.offset(0))
352 }
353 }
354 pub unsafe fn b(&mut self) -> *mut u8 {
355 unsafe {
356 let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
357 ::std::mem::transmute(raw.offset(0))
358 }
359 }
360}
361impl ::std::clone::Clone for Union_jackctl_parameter_value {
362 fn clone(&self) -> Self {
363 *self
364 }
365}
366impl ::std::default::Default for Union_jackctl_parameter_value {
367 fn default() -> Self {
368 unsafe { ::std::mem::zeroed() }
369 }
370}
371pub enum Struct_jackctl_server {}
372pub type jackctl_server_t = Struct_jackctl_server;
373pub enum Struct_jackctl_driver {}
374pub type jackctl_driver_t = Struct_jackctl_driver;
375pub enum Struct_jackctl_internal {}
376pub type jackctl_internal_t = Struct_jackctl_internal;
377pub enum Struct_jackctl_parameter {}
378pub type jackctl_parameter_t = Struct_jackctl_parameter;
379pub enum Struct_jackctl_sigmask {}
380pub type jackctl_sigmask_t = Struct_jackctl_sigmask;
381#[repr(C)]
382#[derive(Copy)]
383pub struct Struct_Unnamed8 {
384 pub key: *const ::libc::c_char,
385 pub data: *const ::libc::c_char,
386 pub _type: *const ::libc::c_char,
387}
388impl ::std::clone::Clone for Struct_Unnamed8 {
389 fn clone(&self) -> Self {
390 *self
391 }
392}
393impl ::std::default::Default for Struct_Unnamed8 {
394 fn default() -> Self {
395 unsafe { ::std::mem::zeroed() }
396 }
397}
398pub type jack_property_t = Struct_Unnamed8;
399#[repr(C)]
400#[derive(Copy)]
401pub struct Struct_Unnamed9 {
402 pub subject: jack_uuid_t,
403 pub property_cnt: u32,
404 pub properties: *mut jack_property_t,
405 pub property_size: u32,
406}
407impl ::std::clone::Clone for Struct_Unnamed9 {
408 fn clone(&self) -> Self {
409 *self
410 }
411}
412impl ::std::default::Default for Struct_Unnamed9 {
413 fn default() -> Self {
414 unsafe { ::std::mem::zeroed() }
415 }
416}
417pub type jack_description_t = Struct_Unnamed9;
418pub type Enum_Unnamed10 = ::libc::c_uint;
419pub const PropertyCreated: ::libc::c_uint = 0;
420pub const PropertyChanged: ::libc::c_uint = 1;
421pub const PropertyDeleted: ::libc::c_uint = 2;
422pub type jack_property_change_t = Enum_Unnamed10;
423pub type JackPropertyChangeCallback = ::std::option::Option<
424 unsafe extern "C" fn(
425 subject: jack_uuid_t,
426 key: *const ::libc::c_char,
427 change: jack_property_change_t,
428 arg: *mut ::libc::c_void,
429 ) -> (),
430>;
431pub type jack_midi_data_t = ::libc::c_uchar;
432#[repr(C)]
433#[derive(Copy)]
434pub struct Struct__jack_midi_event {
435 pub time: jack_nframes_t,
436 pub size: ::libc::size_t,
437 pub buffer: *mut jack_midi_data_t,
438}
439impl ::std::clone::Clone for Struct__jack_midi_event {
440 fn clone(&self) -> Self {
441 *self
442 }
443}
444impl ::std::default::Default for Struct__jack_midi_event {
445 fn default() -> Self {
446 unsafe { ::std::mem::zeroed() }
447 }
448}
449pub type jack_midi_event_t = Struct__jack_midi_event;
450#[repr(C)]
451#[derive(Copy)]
452pub struct Struct_Unnamed11 {
453 pub buf: *mut ::libc::c_char,
454 pub len: ::libc::size_t,
455}
456impl ::std::clone::Clone for Struct_Unnamed11 {
457 fn clone(&self) -> Self {
458 *self
459 }
460}
461impl ::std::default::Default for Struct_Unnamed11 {
462 fn default() -> Self {
463 unsafe { ::std::mem::zeroed() }
464 }
465}
466pub type jack_ringbuffer_data_t = Struct_Unnamed11;
467#[repr(C)]
468#[derive(Copy)]
469pub struct Struct_Unnamed12 {
470 pub buf: *mut ::libc::c_char,
471 pub write_ptr: ::libc::size_t,
472 pub read_ptr: ::libc::size_t,
473 pub size: ::libc::size_t,
474 pub size_mask: ::libc::size_t,
475 pub mlocked: ::libc::c_int,
476}
477impl ::std::clone::Clone for Struct_Unnamed12 {
478 fn clone(&self) -> Self {
479 *self
480 }
481}
482impl ::std::default::Default for Struct_Unnamed12 {
483 fn default() -> Self {
484 unsafe { ::std::mem::zeroed() }
485 }
486}
487pub type jack_ringbuffer_t = Struct_Unnamed12;
488unsafe extern "C" {
489 pub static mut jack_error_callback:
490 ::std::option::Option<unsafe extern "C" fn(msg: *const ::libc::c_char) -> ()>;
491 pub static mut jack_info_callback:
492 ::std::option::Option<unsafe extern "C" fn(msg: *const ::libc::c_char) -> ()>;
493 pub static mut JACK_METADATA_PRETTY_NAME: *const ::libc::c_char;
494 pub static mut JACK_METADATA_HARDWARE: *const ::libc::c_char;
495 pub static mut JACK_METADATA_CONNECTED: *const ::libc::c_char;
496 pub static mut JACK_METADATA_PORT_GROUP: *const ::libc::c_char;
497 pub static mut JACK_METADATA_ICON_SMALL: *const ::libc::c_char;
498 pub static mut JACK_METADATA_ICON_LARGE: *const ::libc::c_char;
499}