alsaseq_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6#![doc = include_str!("../README.md")]
7#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
8#![allow(
9    clippy::approx_constant,
10    clippy::type_complexity,
11    clippy::unreadable_literal,
12    clippy::upper_case_acronyms
13)]
14#![cfg_attr(docsrs, feature(doc_cfg))]
15
16use glib_sys as glib;
17use gobject_sys as gobject;
18
19#[cfg(unix)]
20#[allow(unused_imports)]
21use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
22#[allow(unused_imports)]
23use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
24#[allow(unused_imports)]
25use std::ffi::{
26    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
27};
28
29#[allow(unused_imports)]
30use glib::{gboolean, gconstpointer, gpointer, GType};
31
32// Enums
33pub type ALSASeqClientType = c_int;
34pub const ALSASEQ_CLIENT_TYPE_NONE: ALSASeqClientType = 0;
35pub const ALSASEQ_CLIENT_TYPE_USER: ALSASeqClientType = 1;
36pub const ALSASEQ_CLIENT_TYPE_KERNEL: ALSASeqClientType = 2;
37
38pub type ALSASeqEventError = c_int;
39pub const ALSASEQ_EVENT_ERROR_FAILED: ALSASeqEventError = 0;
40pub const ALSASEQ_EVENT_ERROR_INVALID_DATA_TYPE: ALSASeqEventError = 1;
41pub const ALSASEQ_EVENT_ERROR_INVALID_LENGTH_MODE: ALSASeqEventError = 2;
42pub const ALSASEQ_EVENT_ERROR_INVALID_TSTAMP_MODE: ALSASeqEventError = 3;
43
44pub type ALSASeqEventLengthMode = c_int;
45pub const ALSASEQ_EVENT_LENGTH_MODE_FIXED: ALSASeqEventLengthMode = 0;
46pub const ALSASEQ_EVENT_LENGTH_MODE_VARIABLE: ALSASeqEventLengthMode = 4;
47pub const ALSASEQ_EVENT_LENGTH_MODE_POINTER: ALSASeqEventLengthMode = 8;
48
49pub type ALSASeqEventPriorityMode = c_int;
50pub const ALSASEQ_EVENT_PRIORITY_MODE_NORMAL: ALSASeqEventPriorityMode = 0;
51pub const ALSASEQ_EVENT_PRIORITY_MODE_HIGH: ALSASeqEventPriorityMode = 16;
52
53pub type ALSASeqEventTimeMode = c_int;
54pub const ALSASEQ_EVENT_TIME_MODE_ABS: ALSASeqEventTimeMode = 0;
55pub const ALSASEQ_EVENT_TIME_MODE_REL: ALSASeqEventTimeMode = 2;
56
57pub type ALSASeqEventTstampMode = c_int;
58pub const ALSASEQ_EVENT_TSTAMP_MODE_TICK: ALSASeqEventTstampMode = 0;
59pub const ALSASEQ_EVENT_TSTAMP_MODE_REAL: ALSASeqEventTstampMode = 1;
60
61pub type ALSASeqEventType = c_int;
62pub const ALSASEQ_EVENT_TYPE_SYSTEM: ALSASeqEventType = 0;
63pub const ALSASEQ_EVENT_TYPE_RESULT: ALSASeqEventType = 1;
64pub const ALSASEQ_EVENT_TYPE_NOTE: ALSASeqEventType = 5;
65pub const ALSASEQ_EVENT_TYPE_NOTEON: ALSASeqEventType = 6;
66pub const ALSASEQ_EVENT_TYPE_NOTEOFF: ALSASeqEventType = 7;
67pub const ALSASEQ_EVENT_TYPE_KEYPRESS: ALSASeqEventType = 8;
68pub const ALSASEQ_EVENT_TYPE_CONTROLLER: ALSASeqEventType = 10;
69pub const ALSASEQ_EVENT_TYPE_PGMCHANGE: ALSASeqEventType = 11;
70pub const ALSASEQ_EVENT_TYPE_CHANPRESS: ALSASeqEventType = 12;
71pub const ALSASEQ_EVENT_TYPE_PITCHBEND: ALSASeqEventType = 13;
72pub const ALSASEQ_EVENT_TYPE_CONTROL14: ALSASeqEventType = 14;
73pub const ALSASEQ_EVENT_TYPE_NONREGPARAM: ALSASeqEventType = 15;
74pub const ALSASEQ_EVENT_TYPE_REGPARAM: ALSASeqEventType = 16;
75pub const ALSASEQ_EVENT_TYPE_SONGPOS: ALSASeqEventType = 20;
76pub const ALSASEQ_EVENT_TYPE_SONGSEL: ALSASeqEventType = 21;
77pub const ALSASEQ_EVENT_TYPE_QFRAME: ALSASeqEventType = 22;
78pub const ALSASEQ_EVENT_TYPE_TIMESIGN: ALSASeqEventType = 23;
79pub const ALSASEQ_EVENT_TYPE_KEYSIGN: ALSASeqEventType = 24;
80pub const ALSASEQ_EVENT_TYPE_START: ALSASeqEventType = 30;
81pub const ALSASEQ_EVENT_TYPE_CONTINUE: ALSASeqEventType = 31;
82pub const ALSASEQ_EVENT_TYPE_STOP: ALSASeqEventType = 32;
83pub const ALSASEQ_EVENT_TYPE_SETPOS_TICK: ALSASeqEventType = 33;
84pub const ALSASEQ_EVENT_TYPE_SETPOS_TIME: ALSASeqEventType = 34;
85pub const ALSASEQ_EVENT_TYPE_TEMPO: ALSASeqEventType = 35;
86pub const ALSASEQ_EVENT_TYPE_CLOCK: ALSASeqEventType = 36;
87pub const ALSASEQ_EVENT_TYPE_TICK: ALSASeqEventType = 37;
88pub const ALSASEQ_EVENT_TYPE_QUEUE_SKEW: ALSASeqEventType = 38;
89pub const ALSASEQ_EVENT_TYPE_TUNE_REQUEST: ALSASeqEventType = 40;
90pub const ALSASEQ_EVENT_TYPE_RESET: ALSASeqEventType = 41;
91pub const ALSASEQ_EVENT_TYPE_SENSING: ALSASeqEventType = 42;
92pub const ALSASEQ_EVENT_TYPE_ECHO: ALSASeqEventType = 50;
93pub const ALSASEQ_EVENT_TYPE_OSS: ALSASeqEventType = 51;
94pub const ALSASEQ_EVENT_TYPE_CLIENT_START: ALSASeqEventType = 60;
95pub const ALSASEQ_EVENT_TYPE_CLIENT_EXIT: ALSASeqEventType = 61;
96pub const ALSASEQ_EVENT_TYPE_CLIENT_CHANGE: ALSASeqEventType = 62;
97pub const ALSASEQ_EVENT_TYPE_PORT_START: ALSASeqEventType = 63;
98pub const ALSASEQ_EVENT_TYPE_PORT_EXIT: ALSASeqEventType = 64;
99pub const ALSASEQ_EVENT_TYPE_PORT_CHANGE: ALSASeqEventType = 65;
100pub const ALSASEQ_EVENT_TYPE_PORT_SUBSCRIBED: ALSASeqEventType = 66;
101pub const ALSASEQ_EVENT_TYPE_PORT_UNSUBSCRIBED: ALSASeqEventType = 67;
102pub const ALSASEQ_EVENT_TYPE_USR0: ALSASeqEventType = 90;
103pub const ALSASEQ_EVENT_TYPE_USR1: ALSASeqEventType = 91;
104pub const ALSASEQ_EVENT_TYPE_USR2: ALSASeqEventType = 92;
105pub const ALSASEQ_EVENT_TYPE_USR3: ALSASeqEventType = 93;
106pub const ALSASEQ_EVENT_TYPE_USR4: ALSASeqEventType = 94;
107pub const ALSASEQ_EVENT_TYPE_USR5: ALSASeqEventType = 95;
108pub const ALSASEQ_EVENT_TYPE_USR6: ALSASeqEventType = 96;
109pub const ALSASEQ_EVENT_TYPE_USR7: ALSASeqEventType = 97;
110pub const ALSASEQ_EVENT_TYPE_USR8: ALSASeqEventType = 98;
111pub const ALSASEQ_EVENT_TYPE_USR9: ALSASeqEventType = 99;
112pub const ALSASEQ_EVENT_TYPE_SYSEX: ALSASeqEventType = 130;
113pub const ALSASEQ_EVENT_TYPE_BOUNCE: ALSASeqEventType = 131;
114pub const ALSASEQ_EVENT_TYPE_USR_VAR0: ALSASeqEventType = 135;
115pub const ALSASEQ_EVENT_TYPE_USR_VAR1: ALSASeqEventType = 136;
116pub const ALSASEQ_EVENT_TYPE_USR_VAR2: ALSASeqEventType = 137;
117pub const ALSASEQ_EVENT_TYPE_USR_VAR3: ALSASeqEventType = 138;
118pub const ALSASEQ_EVENT_TYPE_USR_VAR4: ALSASeqEventType = 139;
119pub const ALSASEQ_EVENT_TYPE_NONE: ALSASeqEventType = 255;
120
121pub type ALSASeqQuerySubscribeType = c_int;
122pub const ALSASEQ_QUERY_SUBSCRIBE_TYPE_READ: ALSASeqQuerySubscribeType = 0;
123pub const ALSASEQ_QUERY_SUBSCRIBE_TYPE_WRITE: ALSASeqQuerySubscribeType = 1;
124
125pub type ALSASeqQueueTimerType = c_int;
126pub const ALSASEQ_QUEUE_TIMER_TYPE_ALSA: ALSASeqQueueTimerType = 0;
127
128pub type ALSASeqSpecificAddress = c_int;
129pub const ALSASEQ_SPECIFIC_ADDRESS_UNKNOWN: ALSASeqSpecificAddress = 253;
130pub const ALSASEQ_SPECIFIC_ADDRESS_SUBSCRIBERS: ALSASeqSpecificAddress = 254;
131pub const ALSASEQ_SPECIFIC_ADDRESS_BROADCAST: ALSASeqSpecificAddress = 255;
132
133pub type ALSASeqSpecificClientId = c_int;
134pub const ALSASEQ_SPECIFIC_CLIENT_ID_SYSTEM: ALSASeqSpecificClientId = 0;
135pub const ALSASEQ_SPECIFIC_CLIENT_ID_DUMMY: ALSASeqSpecificClientId = 14;
136pub const ALSASEQ_SPECIFIC_CLIENT_ID_OSS: ALSASeqSpecificClientId = 15;
137
138pub type ALSASeqSpecificPortId = c_int;
139pub const ALSASEQ_SPECIFIC_PORT_ID_SYSTEM_TIMER: ALSASeqSpecificPortId = 0;
140pub const ALSASEQ_SPECIFIC_PORT_ID_SYSTEM_ANNOUNCE: ALSASeqSpecificPortId = 1;
141
142pub type ALSASeqSpecificQueueId = c_int;
143pub const ALSASEQ_SPECIFIC_QUEUE_ID_DIRECT: ALSASeqSpecificQueueId = 253;
144
145pub type ALSASeqUserClientError = c_int;
146pub const ALSASEQ_USER_CLIENT_ERROR_FAILED: ALSASeqUserClientError = 0;
147pub const ALSASEQ_USER_CLIENT_ERROR_PORT_PERMISSION: ALSASeqUserClientError = 1;
148pub const ALSASEQ_USER_CLIENT_ERROR_QUEUE_PERMISSION: ALSASeqUserClientError = 2;
149pub const ALSASEQ_USER_CLIENT_ERROR_EVENT_UNDELIVERABLE: ALSASeqUserClientError = 3;
150
151// Flags
152pub type ALSASeqFilterAttrFlag = c_uint;
153pub const ALSASEQ_FILTER_ATTR_FLAG_BROADCAST: ALSASeqFilterAttrFlag = 1;
154pub const ALSASEQ_FILTER_ATTR_FLAG_MULTICAST: ALSASeqFilterAttrFlag = 2;
155pub const ALSASEQ_FILTER_ATTR_FLAG_BOUNCE: ALSASeqFilterAttrFlag = 4;
156
157pub type ALSASeqPortAttrFlag = c_uint;
158pub const ALSASEQ_PORT_ATTR_FLAG_SPECIFIC: ALSASeqPortAttrFlag = 1;
159pub const ALSASEQ_PORT_ATTR_FLAG_MIDI_GENERIC: ALSASeqPortAttrFlag = 2;
160pub const ALSASEQ_PORT_ATTR_FLAG_MIDI_GM: ALSASeqPortAttrFlag = 4;
161pub const ALSASEQ_PORT_ATTR_FLAG_MIDI_GS: ALSASeqPortAttrFlag = 8;
162pub const ALSASEQ_PORT_ATTR_FLAG_MIDI_XG: ALSASeqPortAttrFlag = 16;
163pub const ALSASEQ_PORT_ATTR_FLAG_MIDI_MT32: ALSASeqPortAttrFlag = 32;
164pub const ALSASEQ_PORT_ATTR_FLAG_MIDI_GM2: ALSASeqPortAttrFlag = 64;
165pub const ALSASEQ_PORT_ATTR_FLAG_HARDWARE: ALSASeqPortAttrFlag = 65536;
166pub const ALSASEQ_PORT_ATTR_FLAG_SOFTWARE: ALSASeqPortAttrFlag = 131072;
167pub const ALSASEQ_PORT_ATTR_FLAG_SYNTHESIZER: ALSASeqPortAttrFlag = 262144;
168pub const ALSASEQ_PORT_ATTR_FLAG_PORT: ALSASeqPortAttrFlag = 524288;
169pub const ALSASEQ_PORT_ATTR_FLAG_APPLICATION: ALSASeqPortAttrFlag = 1048576;
170
171pub type ALSASeqPortCapFlag = c_uint;
172pub const ALSASEQ_PORT_CAP_FLAG_READ: ALSASeqPortCapFlag = 1;
173pub const ALSASEQ_PORT_CAP_FLAG_WRITE: ALSASeqPortCapFlag = 2;
174pub const ALSASEQ_PORT_CAP_FLAG_DUPLEX: ALSASeqPortCapFlag = 16;
175pub const ALSASEQ_PORT_CAP_FLAG_SUBS_READ: ALSASeqPortCapFlag = 32;
176pub const ALSASEQ_PORT_CAP_FLAG_SUBS_WRITE: ALSASeqPortCapFlag = 64;
177pub const ALSASEQ_PORT_CAP_FLAG_NO_EXPORT: ALSASeqPortCapFlag = 128;
178
179pub type ALSASeqRemoveFilterFlag = c_uint;
180pub const ALSASEQ_REMOVE_FILTER_FLAG_INPUT: ALSASeqRemoveFilterFlag = 1;
181pub const ALSASEQ_REMOVE_FILTER_FLAG_OUTPUT: ALSASeqRemoveFilterFlag = 2;
182pub const ALSASEQ_REMOVE_FILTER_FLAG_DEST: ALSASeqRemoveFilterFlag = 4;
183pub const ALSASEQ_REMOVE_FILTER_FLAG_DEST_CHANNEL: ALSASeqRemoveFilterFlag = 8;
184pub const ALSASEQ_REMOVE_FILTER_FLAG_TIME_BEFORE: ALSASeqRemoveFilterFlag = 16;
185pub const ALSASEQ_REMOVE_FILTER_FLAG_TIME_AFTER: ALSASeqRemoveFilterFlag = 32;
186pub const ALSASEQ_REMOVE_FILTER_FLAG_TIME_TICK: ALSASeqRemoveFilterFlag = 64;
187pub const ALSASEQ_REMOVE_FILTER_FLAG_EVENT_TYPE: ALSASeqRemoveFilterFlag = 128;
188pub const ALSASEQ_REMOVE_FILTER_FLAG_IGNORE_OFF: ALSASeqRemoveFilterFlag = 256;
189pub const ALSASEQ_REMOVE_FILTER_FLAG_TAG_MATCH: ALSASeqRemoveFilterFlag = 512;
190
191// Records
192#[repr(C)]
193#[allow(dead_code)]
194pub struct ALSASeqAddr {
195    _data: [u8; 0],
196    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
197}
198
199impl ::std::fmt::Debug for ALSASeqAddr {
200    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
201        f.debug_struct(&format!("ALSASeqAddr @ {self:p}")).finish()
202    }
203}
204
205#[derive(Copy, Clone)]
206#[repr(C)]
207pub struct ALSASeqClientInfoClass {
208    pub parent_class: gobject::GObjectClass,
209}
210
211impl ::std::fmt::Debug for ALSASeqClientInfoClass {
212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
213        f.debug_struct(&format!("ALSASeqClientInfoClass @ {self:p}"))
214            .field("parent_class", &self.parent_class)
215            .finish()
216    }
217}
218
219#[derive(Copy, Clone)]
220#[repr(C)]
221pub struct ALSASeqClientPoolClass {
222    pub parent_class: gobject::GObjectClass,
223}
224
225impl ::std::fmt::Debug for ALSASeqClientPoolClass {
226    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
227        f.debug_struct(&format!("ALSASeqClientPoolClass @ {self:p}"))
228            .field("parent_class", &self.parent_class)
229            .finish()
230    }
231}
232
233#[repr(C)]
234#[allow(dead_code)]
235pub struct ALSASeqEvent {
236    _data: [u8; 0],
237    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
238}
239
240impl ::std::fmt::Debug for ALSASeqEvent {
241    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
242        f.debug_struct(&format!("ALSASeqEvent @ {self:p}")).finish()
243    }
244}
245
246#[derive(Copy, Clone)]
247#[repr(C)]
248pub struct ALSASeqEventCntr {
249    pub buf: *mut u8,
250    pub length: size_t,
251    pub aligned: gboolean,
252}
253
254impl ::std::fmt::Debug for ALSASeqEventCntr {
255    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
256        f.debug_struct(&format!("ALSASeqEventCntr @ {self:p}"))
257            .finish()
258    }
259}
260
261#[repr(C)]
262#[allow(dead_code)]
263pub struct ALSASeqEventDataConnect {
264    _data: [u8; 0],
265    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
266}
267
268impl ::std::fmt::Debug for ALSASeqEventDataConnect {
269    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
270        f.debug_struct(&format!("ALSASeqEventDataConnect @ {self:p}"))
271            .finish()
272    }
273}
274
275#[repr(C)]
276#[allow(dead_code)]
277pub struct ALSASeqEventDataCtl {
278    _data: [u8; 0],
279    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
280}
281
282impl ::std::fmt::Debug for ALSASeqEventDataCtl {
283    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
284        f.debug_struct(&format!("ALSASeqEventDataCtl @ {self:p}"))
285            .finish()
286    }
287}
288
289#[repr(C)]
290#[allow(dead_code)]
291pub struct ALSASeqEventDataNote {
292    _data: [u8; 0],
293    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
294}
295
296impl ::std::fmt::Debug for ALSASeqEventDataNote {
297    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
298        f.debug_struct(&format!("ALSASeqEventDataNote @ {self:p}"))
299            .finish()
300    }
301}
302
303#[repr(C)]
304#[allow(dead_code)]
305pub struct ALSASeqEventDataQueue {
306    _data: [u8; 0],
307    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
308}
309
310impl ::std::fmt::Debug for ALSASeqEventDataQueue {
311    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
312        f.debug_struct(&format!("ALSASeqEventDataQueue @ {self:p}"))
313            .finish()
314    }
315}
316
317#[repr(C)]
318#[allow(dead_code)]
319pub struct ALSASeqEventDataResult {
320    _data: [u8; 0],
321    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
322}
323
324impl ::std::fmt::Debug for ALSASeqEventDataResult {
325    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
326        f.debug_struct(&format!("ALSASeqEventDataResult @ {self:p}"))
327            .finish()
328    }
329}
330
331#[derive(Copy, Clone)]
332#[repr(C)]
333pub struct ALSASeqPortInfoClass {
334    pub parent_class: gobject::GObjectClass,
335}
336
337impl ::std::fmt::Debug for ALSASeqPortInfoClass {
338    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
339        f.debug_struct(&format!("ALSASeqPortInfoClass @ {self:p}"))
340            .field("parent_class", &self.parent_class)
341            .finish()
342    }
343}
344
345#[derive(Copy, Clone)]
346#[repr(C)]
347pub struct ALSASeqQueueInfoClass {
348    pub parent_class: gobject::GObjectClass,
349}
350
351impl ::std::fmt::Debug for ALSASeqQueueInfoClass {
352    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
353        f.debug_struct(&format!("ALSASeqQueueInfoClass @ {self:p}"))
354            .field("parent_class", &self.parent_class)
355            .finish()
356    }
357}
358
359#[derive(Copy, Clone)]
360#[repr(C)]
361pub struct ALSASeqQueueStatusClass {
362    pub parent_class: gobject::GObjectClass,
363}
364
365impl ::std::fmt::Debug for ALSASeqQueueStatusClass {
366    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
367        f.debug_struct(&format!("ALSASeqQueueStatusClass @ {self:p}"))
368            .field("parent_class", &self.parent_class)
369            .finish()
370    }
371}
372
373#[derive(Copy, Clone)]
374#[repr(C)]
375pub struct ALSASeqQueueTempoClass {
376    pub parent_class: gobject::GObjectClass,
377}
378
379impl ::std::fmt::Debug for ALSASeqQueueTempoClass {
380    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
381        f.debug_struct(&format!("ALSASeqQueueTempoClass @ {self:p}"))
382            .field("parent_class", &self.parent_class)
383            .finish()
384    }
385}
386
387#[derive(Copy, Clone)]
388#[repr(C)]
389pub struct ALSASeqQueueTimerAlsaClass {
390    pub parent_class: gobject::GObjectClass,
391}
392
393impl ::std::fmt::Debug for ALSASeqQueueTimerAlsaClass {
394    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
395        f.debug_struct(&format!("ALSASeqQueueTimerAlsaClass @ {self:p}"))
396            .field("parent_class", &self.parent_class)
397            .finish()
398    }
399}
400
401#[derive(Copy, Clone)]
402#[repr(C)]
403pub struct ALSASeqQueueTimerCommonInterface {
404    pub parent_iface: gobject::GTypeInterface,
405}
406
407impl ::std::fmt::Debug for ALSASeqQueueTimerCommonInterface {
408    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
409        f.debug_struct(&format!("ALSASeqQueueTimerCommonInterface @ {self:p}"))
410            .field("parent_iface", &self.parent_iface)
411            .finish()
412    }
413}
414
415#[derive(Copy, Clone)]
416#[repr(C)]
417pub struct ALSASeqRemoveFilterClass {
418    pub parent_class: gobject::GObjectClass,
419}
420
421impl ::std::fmt::Debug for ALSASeqRemoveFilterClass {
422    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
423        f.debug_struct(&format!("ALSASeqRemoveFilterClass @ {self:p}"))
424            .field("parent_class", &self.parent_class)
425            .finish()
426    }
427}
428
429#[derive(Copy, Clone)]
430#[repr(C)]
431pub struct ALSASeqSubscribeDataClass {
432    pub parent_class: gobject::GObjectClass,
433}
434
435impl ::std::fmt::Debug for ALSASeqSubscribeDataClass {
436    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
437        f.debug_struct(&format!("ALSASeqSubscribeDataClass @ {self:p}"))
438            .field("parent_class", &self.parent_class)
439            .finish()
440    }
441}
442
443#[derive(Copy, Clone)]
444#[repr(C)]
445pub struct ALSASeqSystemInfoClass {
446    pub parent_class: gobject::GObjectClass,
447}
448
449impl ::std::fmt::Debug for ALSASeqSystemInfoClass {
450    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
451        f.debug_struct(&format!("ALSASeqSystemInfoClass @ {self:p}"))
452            .field("parent_class", &self.parent_class)
453            .finish()
454    }
455}
456
457#[derive(Copy, Clone)]
458#[repr(C)]
459pub struct ALSASeqUserClientClass {
460    pub parent_class: gobject::GObjectClass,
461    pub handle_event: Option<unsafe extern "C" fn(*mut ALSASeqUserClient, *const ALSASeqEventCntr)>,
462}
463
464impl ::std::fmt::Debug for ALSASeqUserClientClass {
465    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
466        f.debug_struct(&format!("ALSASeqUserClientClass @ {self:p}"))
467            .field("parent_class", &self.parent_class)
468            .field("handle_event", &self.handle_event)
469            .finish()
470    }
471}
472
473// Classes
474#[derive(Copy, Clone)]
475#[repr(C)]
476pub struct ALSASeqClientInfo {
477    pub parent_instance: gobject::GObject,
478}
479
480impl ::std::fmt::Debug for ALSASeqClientInfo {
481    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
482        f.debug_struct(&format!("ALSASeqClientInfo @ {self:p}"))
483            .field("parent_instance", &self.parent_instance)
484            .finish()
485    }
486}
487
488#[derive(Copy, Clone)]
489#[repr(C)]
490pub struct ALSASeqClientPool {
491    pub parent_instance: gobject::GObject,
492}
493
494impl ::std::fmt::Debug for ALSASeqClientPool {
495    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
496        f.debug_struct(&format!("ALSASeqClientPool @ {self:p}"))
497            .field("parent_instance", &self.parent_instance)
498            .finish()
499    }
500}
501
502#[derive(Copy, Clone)]
503#[repr(C)]
504pub struct ALSASeqPortInfo {
505    pub parent_instance: gobject::GObject,
506}
507
508impl ::std::fmt::Debug for ALSASeqPortInfo {
509    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
510        f.debug_struct(&format!("ALSASeqPortInfo @ {self:p}"))
511            .field("parent_instance", &self.parent_instance)
512            .finish()
513    }
514}
515
516#[derive(Copy, Clone)]
517#[repr(C)]
518pub struct ALSASeqQueueInfo {
519    pub parent_instance: gobject::GObject,
520}
521
522impl ::std::fmt::Debug for ALSASeqQueueInfo {
523    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
524        f.debug_struct(&format!("ALSASeqQueueInfo @ {self:p}"))
525            .field("parent_instance", &self.parent_instance)
526            .finish()
527    }
528}
529
530#[derive(Copy, Clone)]
531#[repr(C)]
532pub struct ALSASeqQueueStatus {
533    pub parent_instance: gobject::GObject,
534}
535
536impl ::std::fmt::Debug for ALSASeqQueueStatus {
537    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
538        f.debug_struct(&format!("ALSASeqQueueStatus @ {self:p}"))
539            .field("parent_instance", &self.parent_instance)
540            .finish()
541    }
542}
543
544#[derive(Copy, Clone)]
545#[repr(C)]
546pub struct ALSASeqQueueTempo {
547    pub parent_instance: gobject::GObject,
548}
549
550impl ::std::fmt::Debug for ALSASeqQueueTempo {
551    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
552        f.debug_struct(&format!("ALSASeqQueueTempo @ {self:p}"))
553            .field("parent_instance", &self.parent_instance)
554            .finish()
555    }
556}
557
558#[derive(Copy, Clone)]
559#[repr(C)]
560pub struct ALSASeqQueueTimerAlsa {
561    pub parent_instance: gobject::GObject,
562}
563
564impl ::std::fmt::Debug for ALSASeqQueueTimerAlsa {
565    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
566        f.debug_struct(&format!("ALSASeqQueueTimerAlsa @ {self:p}"))
567            .field("parent_instance", &self.parent_instance)
568            .finish()
569    }
570}
571
572#[derive(Copy, Clone)]
573#[repr(C)]
574pub struct ALSASeqRemoveFilter {
575    pub parent_instance: gobject::GObject,
576}
577
578impl ::std::fmt::Debug for ALSASeqRemoveFilter {
579    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
580        f.debug_struct(&format!("ALSASeqRemoveFilter @ {self:p}"))
581            .field("parent_instance", &self.parent_instance)
582            .finish()
583    }
584}
585
586#[derive(Copy, Clone)]
587#[repr(C)]
588pub struct ALSASeqSubscribeData {
589    pub parent_instance: gobject::GObject,
590}
591
592impl ::std::fmt::Debug for ALSASeqSubscribeData {
593    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
594        f.debug_struct(&format!("ALSASeqSubscribeData @ {self:p}"))
595            .field("parent_instance", &self.parent_instance)
596            .finish()
597    }
598}
599
600#[derive(Copy, Clone)]
601#[repr(C)]
602pub struct ALSASeqSystemInfo {
603    pub parent_instance: gobject::GObject,
604}
605
606impl ::std::fmt::Debug for ALSASeqSystemInfo {
607    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
608        f.debug_struct(&format!("ALSASeqSystemInfo @ {self:p}"))
609            .field("parent_instance", &self.parent_instance)
610            .finish()
611    }
612}
613
614#[derive(Copy, Clone)]
615#[repr(C)]
616pub struct ALSASeqUserClient {
617    pub parent_instance: gobject::GObject,
618}
619
620impl ::std::fmt::Debug for ALSASeqUserClient {
621    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
622        f.debug_struct(&format!("ALSASeqUserClient @ {self:p}"))
623            .field("parent_instance", &self.parent_instance)
624            .finish()
625    }
626}
627
628// Interfaces
629#[repr(C)]
630#[allow(dead_code)]
631pub struct ALSASeqQueueTimerCommon {
632    _data: [u8; 0],
633    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
634}
635
636impl ::std::fmt::Debug for ALSASeqQueueTimerCommon {
637    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
638        write!(f, "ALSASeqQueueTimerCommon @ {self:p}")
639    }
640}
641
642extern "C" {
643
644    //=========================================================================
645    // ALSASeqClientType
646    //=========================================================================
647    pub fn alsaseq_client_type_get_type() -> GType;
648
649    //=========================================================================
650    // ALSASeqEventError
651    //=========================================================================
652    pub fn alsaseq_event_error_get_type() -> GType;
653    pub fn alsaseq_event_error_quark() -> glib::GQuark;
654
655    //=========================================================================
656    // ALSASeqEventLengthMode
657    //=========================================================================
658    pub fn alsaseq_event_length_mode_get_type() -> GType;
659
660    //=========================================================================
661    // ALSASeqEventPriorityMode
662    //=========================================================================
663    pub fn alsaseq_event_priority_mode_get_type() -> GType;
664
665    //=========================================================================
666    // ALSASeqEventTimeMode
667    //=========================================================================
668    pub fn alsaseq_event_time_mode_get_type() -> GType;
669
670    //=========================================================================
671    // ALSASeqEventTstampMode
672    //=========================================================================
673    pub fn alsaseq_event_tstamp_mode_get_type() -> GType;
674
675    //=========================================================================
676    // ALSASeqEventType
677    //=========================================================================
678    pub fn alsaseq_event_type_get_type() -> GType;
679
680    //=========================================================================
681    // ALSASeqQuerySubscribeType
682    //=========================================================================
683    pub fn alsaseq_query_subscribe_type_get_type() -> GType;
684
685    //=========================================================================
686    // ALSASeqQueueTimerType
687    //=========================================================================
688    pub fn alsaseq_queue_timer_type_get_type() -> GType;
689
690    //=========================================================================
691    // ALSASeqSpecificAddress
692    //=========================================================================
693    pub fn alsaseq_specific_address_get_type() -> GType;
694
695    //=========================================================================
696    // ALSASeqSpecificClientId
697    //=========================================================================
698    pub fn alsaseq_specific_client_id_get_type() -> GType;
699
700    //=========================================================================
701    // ALSASeqSpecificPortId
702    //=========================================================================
703    pub fn alsaseq_specific_port_id_get_type() -> GType;
704
705    //=========================================================================
706    // ALSASeqSpecificQueueId
707    //=========================================================================
708    pub fn alsaseq_specific_queue_id_get_type() -> GType;
709
710    //=========================================================================
711    // ALSASeqUserClientError
712    //=========================================================================
713    pub fn alsaseq_user_client_error_get_type() -> GType;
714    pub fn alsaseq_user_client_error_quark() -> glib::GQuark;
715
716    //=========================================================================
717    // ALSASeqFilterAttrFlag
718    //=========================================================================
719    pub fn alsaseq_filter_attr_flag_get_type() -> GType;
720
721    //=========================================================================
722    // ALSASeqPortAttrFlag
723    //=========================================================================
724    pub fn alsaseq_port_attr_flag_get_type() -> GType;
725
726    //=========================================================================
727    // ALSASeqPortCapFlag
728    //=========================================================================
729    pub fn alsaseq_port_cap_flag_get_type() -> GType;
730
731    //=========================================================================
732    // ALSASeqRemoveFilterFlag
733    //=========================================================================
734    pub fn alsaseq_remove_filter_flag_get_type() -> GType;
735
736    //=========================================================================
737    // ALSASeqAddr
738    //=========================================================================
739    pub fn alsaseq_addr_get_type() -> GType;
740    pub fn alsaseq_addr_new(client_id: u8, port_id: u8) -> *mut ALSASeqAddr;
741    pub fn alsaseq_addr_equal(self_: *const ALSASeqAddr, target: *const ALSASeqAddr) -> gboolean;
742    pub fn alsaseq_addr_get_client_id(self_: *const ALSASeqAddr, client_id: *mut u8);
743    pub fn alsaseq_addr_get_port_id(self_: *const ALSASeqAddr, port_id: *mut u8);
744
745    //=========================================================================
746    // ALSASeqEvent
747    //=========================================================================
748    pub fn alsaseq_event_get_type() -> GType;
749    pub fn alsaseq_event_new(event_type: ALSASeqEventType) -> *mut ALSASeqEvent;
750    pub fn alsaseq_event_calculate_pool_consumption(self_: *const ALSASeqEvent, cells: *mut c_uint);
751    pub fn alsaseq_event_get_addr_data(
752        self_: *const ALSASeqEvent,
753        data: *mut *const ALSASeqAddr,
754        error: *mut *mut glib::GError,
755    ) -> gboolean;
756    pub fn alsaseq_event_get_blob_data(
757        self_: *const ALSASeqEvent,
758        data: *mut *const u8,
759        length: *mut size_t,
760        error: *mut *mut glib::GError,
761    ) -> gboolean;
762    pub fn alsaseq_event_get_byte_data(
763        self_: *const ALSASeqEvent,
764        data: *mut *const [u8; 12],
765        error: *mut *mut glib::GError,
766    ) -> gboolean;
767    pub fn alsaseq_event_get_connect_data(
768        self_: *const ALSASeqEvent,
769        data: *mut *const ALSASeqEventDataConnect,
770        error: *mut *mut glib::GError,
771    ) -> gboolean;
772    pub fn alsaseq_event_get_ctl_data(
773        self_: *const ALSASeqEvent,
774        data: *mut *const ALSASeqEventDataCtl,
775        error: *mut *mut glib::GError,
776    ) -> gboolean;
777    pub fn alsaseq_event_get_destination(self_: *const ALSASeqEvent, addr: *mut *const ALSASeqAddr);
778    pub fn alsaseq_event_get_event_type(
779        self_: *const ALSASeqEvent,
780        event_type: *mut ALSASeqEventType,
781    );
782    pub fn alsaseq_event_get_length_mode(
783        self_: *const ALSASeqEvent,
784        length_mode: *mut ALSASeqEventLengthMode,
785    );
786    pub fn alsaseq_event_get_note_data(
787        self_: *const ALSASeqEvent,
788        data: *mut *const ALSASeqEventDataNote,
789        error: *mut *mut glib::GError,
790    ) -> gboolean;
791    pub fn alsaseq_event_get_pointer_data(
792        self_: *const ALSASeqEvent,
793        data: *mut gconstpointer,
794        length: *mut size_t,
795        error: *mut *mut glib::GError,
796    ) -> gboolean;
797    pub fn alsaseq_event_get_priority_mode(
798        self_: *const ALSASeqEvent,
799        priority_mode: *mut ALSASeqEventPriorityMode,
800    );
801    pub fn alsaseq_event_get_quadlet_data(
802        self_: *const ALSASeqEvent,
803        data: *mut *const [u32; 3],
804        error: *mut *mut glib::GError,
805    ) -> gboolean;
806    pub fn alsaseq_event_get_queue_data(
807        self_: *const ALSASeqEvent,
808        data: *mut *const ALSASeqEventDataQueue,
809        error: *mut *mut glib::GError,
810    ) -> gboolean;
811    pub fn alsaseq_event_get_queue_id(self_: *const ALSASeqEvent, queue_id: *mut u8);
812    pub fn alsaseq_event_get_real_time(
813        self_: *const ALSASeqEvent,
814        real_time: *mut *const [u32; 2],
815        error: *mut *mut glib::GError,
816    ) -> gboolean;
817    pub fn alsaseq_event_get_real_time_data(
818        self_: *const ALSASeqEvent,
819        real_time: *mut *const [u32; 2],
820        error: *mut *mut glib::GError,
821    ) -> gboolean;
822    pub fn alsaseq_event_get_result_data(
823        self_: *const ALSASeqEvent,
824        data: *mut *const ALSASeqEventDataResult,
825        error: *mut *mut glib::GError,
826    ) -> gboolean;
827    pub fn alsaseq_event_get_source(self_: *const ALSASeqEvent, addr: *mut *const ALSASeqAddr);
828    pub fn alsaseq_event_get_tag(self_: *const ALSASeqEvent, tag: *mut i8);
829    pub fn alsaseq_event_get_tick_time(
830        self_: *const ALSASeqEvent,
831        tick_time: *mut c_uint,
832        error: *mut *mut glib::GError,
833    ) -> gboolean;
834    pub fn alsaseq_event_get_tick_time_data(
835        self_: *const ALSASeqEvent,
836        tick_time: *mut c_uint,
837        error: *mut *mut glib::GError,
838    ) -> gboolean;
839    pub fn alsaseq_event_get_time_mode(
840        self_: *const ALSASeqEvent,
841        time_mode: *mut ALSASeqEventTimeMode,
842    );
843    pub fn alsaseq_event_get_tstamp_mode(
844        self_: *const ALSASeqEvent,
845        tstamp_mode: *mut ALSASeqEventTstampMode,
846    );
847    pub fn alsaseq_event_set_addr_data(
848        self_: *mut ALSASeqEvent,
849        data: *const ALSASeqAddr,
850        error: *mut *mut glib::GError,
851    ) -> gboolean;
852    pub fn alsaseq_event_set_blob_data(
853        self_: *mut ALSASeqEvent,
854        data: *const u8,
855        length: size_t,
856        error: *mut *mut glib::GError,
857    ) -> gboolean;
858    pub fn alsaseq_event_set_byte_data(
859        self_: *mut ALSASeqEvent,
860        data: *const [u8; 12],
861        error: *mut *mut glib::GError,
862    ) -> gboolean;
863    pub fn alsaseq_event_set_connect_data(
864        self_: *mut ALSASeqEvent,
865        data: *const ALSASeqEventDataConnect,
866        error: *mut *mut glib::GError,
867    ) -> gboolean;
868    pub fn alsaseq_event_set_ctl_data(
869        self_: *mut ALSASeqEvent,
870        data: *const ALSASeqEventDataCtl,
871        error: *mut *mut glib::GError,
872    ) -> gboolean;
873    pub fn alsaseq_event_set_destination(self_: *mut ALSASeqEvent, addr: *const ALSASeqAddr);
874    pub fn alsaseq_event_set_note_data(
875        self_: *mut ALSASeqEvent,
876        data: *const ALSASeqEventDataNote,
877        error: *mut *mut glib::GError,
878    ) -> gboolean;
879    pub fn alsaseq_event_set_pointer_data(
880        self_: *mut ALSASeqEvent,
881        data: gpointer,
882        length: size_t,
883        error: *mut *mut glib::GError,
884    ) -> gboolean;
885    pub fn alsaseq_event_set_priority_mode(
886        self_: *mut ALSASeqEvent,
887        priority_mode: ALSASeqEventPriorityMode,
888    );
889    pub fn alsaseq_event_set_quadlet_data(
890        self_: *mut ALSASeqEvent,
891        data: *const [u32; 3],
892        error: *mut *mut glib::GError,
893    ) -> gboolean;
894    pub fn alsaseq_event_set_queue_data(
895        self_: *mut ALSASeqEvent,
896        data: *const ALSASeqEventDataQueue,
897        error: *mut *mut glib::GError,
898    ) -> gboolean;
899    pub fn alsaseq_event_set_queue_id(self_: *mut ALSASeqEvent, queue_id: u8);
900    pub fn alsaseq_event_set_real_time(
901        self_: *mut ALSASeqEvent,
902        real_time: *const [u32; 2],
903        error: *mut *mut glib::GError,
904    ) -> gboolean;
905    pub fn alsaseq_event_set_real_time_data(
906        self_: *mut ALSASeqEvent,
907        real_time: *const [u32; 2],
908        error: *mut *mut glib::GError,
909    ) -> gboolean;
910    pub fn alsaseq_event_set_result_data(
911        self_: *mut ALSASeqEvent,
912        data: *const ALSASeqEventDataResult,
913        error: *mut *mut glib::GError,
914    ) -> gboolean;
915    pub fn alsaseq_event_set_source(self_: *mut ALSASeqEvent, addr: *const ALSASeqAddr);
916    pub fn alsaseq_event_set_tag(self_: *mut ALSASeqEvent, tag: i8);
917    pub fn alsaseq_event_set_tick_time(
918        self_: *mut ALSASeqEvent,
919        tick_time: c_uint,
920        error: *mut *mut glib::GError,
921    ) -> gboolean;
922    pub fn alsaseq_event_set_tick_time_data(
923        self_: *mut ALSASeqEvent,
924        tick_time: c_uint,
925        error: *mut *mut glib::GError,
926    ) -> gboolean;
927    pub fn alsaseq_event_set_time_mode(self_: *mut ALSASeqEvent, time_mode: ALSASeqEventTimeMode);
928
929    //=========================================================================
930    // ALSASeqEventCntr
931    //=========================================================================
932    pub fn alsaseq_event_cntr_get_type() -> GType;
933    pub fn alsaseq_event_cntr_deserialize(
934        self_: *const ALSASeqEventCntr,
935        events: *mut *mut glib::GList,
936    );
937
938    //=========================================================================
939    // ALSASeqEventDataConnect
940    //=========================================================================
941    pub fn alsaseq_event_data_connect_get_type() -> GType;
942    pub fn alsaseq_event_data_connect_get_dst(
943        self_: *const ALSASeqEventDataConnect,
944        dst: *mut *const ALSASeqAddr,
945    );
946    pub fn alsaseq_event_data_connect_get_src(
947        self_: *const ALSASeqEventDataConnect,
948        src: *mut *const ALSASeqAddr,
949    );
950    pub fn alsaseq_event_data_connect_set_dst(
951        self_: *mut ALSASeqEventDataConnect,
952        dst: *const ALSASeqAddr,
953    );
954    pub fn alsaseq_event_data_connect_set_src(
955        self_: *mut ALSASeqEventDataConnect,
956        src: *const ALSASeqAddr,
957    );
958
959    //=========================================================================
960    // ALSASeqEventDataCtl
961    //=========================================================================
962    pub fn alsaseq_event_data_ctl_get_type() -> GType;
963    pub fn alsaseq_event_data_ctl_get_channel(self_: *const ALSASeqEventDataCtl, channel: *mut u8);
964    pub fn alsaseq_event_data_ctl_get_param(self_: *const ALSASeqEventDataCtl, param: *mut c_uint);
965    pub fn alsaseq_event_data_ctl_get_value(self_: *const ALSASeqEventDataCtl, value: *mut c_int);
966    pub fn alsaseq_event_data_ctl_set_channel(self_: *mut ALSASeqEventDataCtl, channel: u8);
967    pub fn alsaseq_event_data_ctl_set_param(self_: *mut ALSASeqEventDataCtl, param: c_uint);
968    pub fn alsaseq_event_data_ctl_set_value(self_: *mut ALSASeqEventDataCtl, value: c_int);
969
970    //=========================================================================
971    // ALSASeqEventDataNote
972    //=========================================================================
973    pub fn alsaseq_event_data_note_get_type() -> GType;
974    pub fn alsaseq_event_data_note_get_channel(
975        self_: *const ALSASeqEventDataNote,
976        channel: *mut u8,
977    );
978    pub fn alsaseq_event_data_note_get_duration(
979        self_: *const ALSASeqEventDataNote,
980        duration: *mut u8,
981    );
982    pub fn alsaseq_event_data_note_get_note(self_: *const ALSASeqEventDataNote, note: *mut u8);
983    pub fn alsaseq_event_data_note_get_off_velocity(
984        self_: *const ALSASeqEventDataNote,
985        off_velocity: *mut u8,
986    );
987    pub fn alsaseq_event_data_note_get_velocity(
988        self_: *const ALSASeqEventDataNote,
989        velocity: *mut u8,
990    );
991    pub fn alsaseq_event_data_note_set_channel(self_: *mut ALSASeqEventDataNote, channel: u8);
992    pub fn alsaseq_event_data_note_set_duration(self_: *mut ALSASeqEventDataNote, duration: u8);
993    pub fn alsaseq_event_data_note_set_note(self_: *mut ALSASeqEventDataNote, note: u8);
994    pub fn alsaseq_event_data_note_set_off_velocity(
995        self_: *mut ALSASeqEventDataNote,
996        off_velocity: u8,
997    );
998    pub fn alsaseq_event_data_note_set_velocity(self_: *mut ALSASeqEventDataNote, velocity: u8);
999
1000    //=========================================================================
1001    // ALSASeqEventDataQueue
1002    //=========================================================================
1003    pub fn alsaseq_event_data_queue_get_type() -> GType;
1004    pub fn alsaseq_event_data_queue_get_byte_param(
1005        self_: *const ALSASeqEventDataQueue,
1006        bytes: *mut *const [u8; 8],
1007    );
1008    pub fn alsaseq_event_data_queue_get_position_param(
1009        self_: *const ALSASeqEventDataQueue,
1010        position: *mut c_uint,
1011    );
1012    pub fn alsaseq_event_data_queue_get_quadlet_param(
1013        self_: *const ALSASeqEventDataQueue,
1014        quadlets: *mut *const [u32; 2],
1015    );
1016    pub fn alsaseq_event_data_queue_get_queue_id(
1017        self_: *const ALSASeqEventDataQueue,
1018        queue_id: *mut u8,
1019    );
1020    pub fn alsaseq_event_data_queue_get_real_time_param(
1021        self_: *const ALSASeqEventDataQueue,
1022        real_time: *mut *const [u32; 2],
1023    );
1024    pub fn alsaseq_event_data_queue_get_skew_param(
1025        self_: *const ALSASeqEventDataQueue,
1026        skew: *mut *const [c_uint; 2],
1027    );
1028    pub fn alsaseq_event_data_queue_get_tick_time_param(
1029        self_: *const ALSASeqEventDataQueue,
1030        tick_time: *mut c_uint,
1031    );
1032    pub fn alsaseq_event_data_queue_get_value_param(
1033        self_: *const ALSASeqEventDataQueue,
1034        value: *mut c_int,
1035    );
1036    pub fn alsaseq_event_data_queue_set_byte_param(
1037        self_: *mut ALSASeqEventDataQueue,
1038        bytes: *const [u8; 8],
1039    );
1040    pub fn alsaseq_event_data_queue_set_position_param(
1041        self_: *mut ALSASeqEventDataQueue,
1042        position: c_uint,
1043    );
1044    pub fn alsaseq_event_data_queue_set_quadlet_param(
1045        self_: *mut ALSASeqEventDataQueue,
1046        quadlets: *const [u32; 2],
1047    );
1048    pub fn alsaseq_event_data_queue_set_queue_id(self_: *mut ALSASeqEventDataQueue, queue_id: u8);
1049    pub fn alsaseq_event_data_queue_set_real_time_param(
1050        self_: *mut ALSASeqEventDataQueue,
1051        real_time: *const [u32; 2],
1052    );
1053    pub fn alsaseq_event_data_queue_set_skew_param(
1054        self_: *mut ALSASeqEventDataQueue,
1055        skew: *const [c_uint; 2],
1056    );
1057    pub fn alsaseq_event_data_queue_set_tick_time_param(
1058        self_: *mut ALSASeqEventDataQueue,
1059        tick_time: c_uint,
1060    );
1061    pub fn alsaseq_event_data_queue_set_value_param(
1062        self_: *mut ALSASeqEventDataQueue,
1063        value: c_int,
1064    );
1065
1066    //=========================================================================
1067    // ALSASeqEventDataResult
1068    //=========================================================================
1069    pub fn alsaseq_event_data_result_get_type() -> GType;
1070    pub fn alsaseq_event_data_result_get_event(
1071        self_: *const ALSASeqEventDataResult,
1072        event_type: *mut ALSASeqEventType,
1073    );
1074    pub fn alsaseq_event_data_result_get_result(
1075        self_: *const ALSASeqEventDataResult,
1076        result: *mut c_int,
1077    );
1078    pub fn alsaseq_event_data_result_set_event(
1079        self_: *mut ALSASeqEventDataResult,
1080        event_type: ALSASeqEventType,
1081    );
1082    pub fn alsaseq_event_data_result_set_result(self_: *mut ALSASeqEventDataResult, result: c_int);
1083
1084    //=========================================================================
1085    // ALSASeqClientInfo
1086    //=========================================================================
1087    pub fn alsaseq_client_info_get_type() -> GType;
1088    pub fn alsaseq_client_info_new() -> *mut ALSASeqClientInfo;
1089    pub fn alsaseq_client_info_get_event_filter(
1090        self_: *mut ALSASeqClientInfo,
1091        event_types: *mut *mut ALSASeqEventType,
1092        event_type_count: *mut size_t,
1093        error: *mut *mut glib::GError,
1094    ) -> gboolean;
1095    pub fn alsaseq_client_info_set_event_filter(
1096        self_: *mut ALSASeqClientInfo,
1097        event_types: *const ALSASeqEventType,
1098        event_type_count: size_t,
1099        error: *mut *mut glib::GError,
1100    ) -> gboolean;
1101
1102    //=========================================================================
1103    // ALSASeqClientPool
1104    //=========================================================================
1105    pub fn alsaseq_client_pool_get_type() -> GType;
1106    pub fn alsaseq_client_pool_new() -> *mut ALSASeqClientPool;
1107
1108    //=========================================================================
1109    // ALSASeqPortInfo
1110    //=========================================================================
1111    pub fn alsaseq_port_info_get_type() -> GType;
1112    pub fn alsaseq_port_info_new() -> *mut ALSASeqPortInfo;
1113
1114    //=========================================================================
1115    // ALSASeqQueueInfo
1116    //=========================================================================
1117    pub fn alsaseq_queue_info_get_type() -> GType;
1118    pub fn alsaseq_queue_info_new() -> *mut ALSASeqQueueInfo;
1119
1120    //=========================================================================
1121    // ALSASeqQueueStatus
1122    //=========================================================================
1123    pub fn alsaseq_queue_status_get_type() -> GType;
1124    pub fn alsaseq_queue_status_new() -> *mut ALSASeqQueueStatus;
1125    pub fn alsaseq_queue_status_get_real_time(
1126        self_: *mut ALSASeqQueueStatus,
1127        real_time: *mut *const [u32; 2],
1128    );
1129    pub fn alsaseq_queue_status_get_tick_time(
1130        self_: *mut ALSASeqQueueStatus,
1131        tick_time: *mut c_uint,
1132    );
1133
1134    //=========================================================================
1135    // ALSASeqQueueTempo
1136    //=========================================================================
1137    pub fn alsaseq_queue_tempo_get_type() -> GType;
1138    pub fn alsaseq_queue_tempo_new() -> *mut ALSASeqQueueTempo;
1139    pub fn alsaseq_queue_tempo_get_skew(self_: *mut ALSASeqQueueTempo, skew: *mut *const [u32; 2]);
1140    pub fn alsaseq_queue_tempo_set_skew(self_: *mut ALSASeqQueueTempo, skew: *const [u32; 2]);
1141
1142    //=========================================================================
1143    // ALSASeqQueueTimerAlsa
1144    //=========================================================================
1145    pub fn alsaseq_queue_timer_alsa_get_type() -> GType;
1146    pub fn alsaseq_queue_timer_alsa_new() -> *mut ALSASeqQueueTimerAlsa;
1147
1148    //=========================================================================
1149    // ALSASeqRemoveFilter
1150    //=========================================================================
1151    pub fn alsaseq_remove_filter_get_type() -> GType;
1152    pub fn alsaseq_remove_filter_new() -> *mut ALSASeqRemoveFilter;
1153    pub fn alsaseq_remove_filter_get_real_time(
1154        self_: *mut ALSASeqRemoveFilter,
1155        real_time: *mut *const [u32; 2],
1156    );
1157    pub fn alsaseq_remove_filter_get_tick_time(
1158        self_: *mut ALSASeqRemoveFilter,
1159        tick_time: *mut c_uint,
1160    );
1161    pub fn alsaseq_remove_filter_set_real_time(
1162        self_: *mut ALSASeqRemoveFilter,
1163        real_time: *const [u32; 2],
1164    );
1165    pub fn alsaseq_remove_filter_set_tick_time(self_: *mut ALSASeqRemoveFilter, tick_time: c_uint);
1166
1167    //=========================================================================
1168    // ALSASeqSubscribeData
1169    //=========================================================================
1170    pub fn alsaseq_subscribe_data_get_type() -> GType;
1171    pub fn alsaseq_subscribe_data_new() -> *mut ALSASeqSubscribeData;
1172
1173    //=========================================================================
1174    // ALSASeqSystemInfo
1175    //=========================================================================
1176    pub fn alsaseq_system_info_get_type() -> GType;
1177
1178    //=========================================================================
1179    // ALSASeqUserClient
1180    //=========================================================================
1181    pub fn alsaseq_user_client_get_type() -> GType;
1182    pub fn alsaseq_user_client_new() -> *mut ALSASeqUserClient;
1183    pub fn alsaseq_user_client_create_port(
1184        self_: *mut ALSASeqUserClient,
1185        port_info: *const *mut ALSASeqPortInfo,
1186        error: *mut *mut glib::GError,
1187    ) -> gboolean;
1188    pub fn alsaseq_user_client_create_port_at(
1189        self_: *mut ALSASeqUserClient,
1190        port_info: *const *mut ALSASeqPortInfo,
1191        port_id: u8,
1192        error: *mut *mut glib::GError,
1193    ) -> gboolean;
1194    pub fn alsaseq_user_client_create_queue(
1195        self_: *mut ALSASeqUserClient,
1196        queue_info: *const *mut ALSASeqQueueInfo,
1197        error: *mut *mut glib::GError,
1198    ) -> gboolean;
1199    pub fn alsaseq_user_client_create_source(
1200        self_: *mut ALSASeqUserClient,
1201        gsrc: *mut *mut glib::GSource,
1202        error: *mut *mut glib::GError,
1203    ) -> gboolean;
1204    pub fn alsaseq_user_client_delete_port(
1205        self_: *mut ALSASeqUserClient,
1206        port_id: u8,
1207        error: *mut *mut glib::GError,
1208    ) -> gboolean;
1209    pub fn alsaseq_user_client_delete_queue(
1210        self_: *mut ALSASeqUserClient,
1211        queue_id: u8,
1212        error: *mut *mut glib::GError,
1213    ) -> gboolean;
1214    pub fn alsaseq_user_client_get_info(
1215        self_: *mut ALSASeqUserClient,
1216        client_info: *const *mut ALSASeqClientInfo,
1217        error: *mut *mut glib::GError,
1218    ) -> gboolean;
1219    pub fn alsaseq_user_client_get_pool(
1220        self_: *mut ALSASeqUserClient,
1221        client_pool: *const *mut ALSASeqClientPool,
1222        error: *mut *mut glib::GError,
1223    ) -> gboolean;
1224    pub fn alsaseq_user_client_get_protocol_version(
1225        self_: *mut ALSASeqUserClient,
1226        proto_ver_triplet: *mut *const [u16; 3],
1227        error: *mut *mut glib::GError,
1228    ) -> gboolean;
1229    pub fn alsaseq_user_client_get_queue_tempo(
1230        self_: *mut ALSASeqUserClient,
1231        queue_id: u8,
1232        queue_tempo: *mut *mut ALSASeqQueueTempo,
1233        error: *mut *mut glib::GError,
1234    ) -> gboolean;
1235    pub fn alsaseq_user_client_get_queue_timer(
1236        self_: *mut ALSASeqUserClient,
1237        queue_id: u8,
1238        queue_timer: *mut *mut ALSASeqQueueTimerCommon,
1239        error: *mut *mut glib::GError,
1240    ) -> gboolean;
1241    pub fn alsaseq_user_client_get_queue_usage(
1242        self_: *mut ALSASeqUserClient,
1243        queue_id: u8,
1244        use_: *mut gboolean,
1245        error: *mut *mut glib::GError,
1246    ) -> gboolean;
1247    pub fn alsaseq_user_client_open(
1248        self_: *mut ALSASeqUserClient,
1249        open_flag: c_int,
1250        error: *mut *mut glib::GError,
1251    ) -> gboolean;
1252    pub fn alsaseq_user_client_operate_subscription(
1253        self_: *mut ALSASeqUserClient,
1254        subs_data: *mut ALSASeqSubscribeData,
1255        establish: gboolean,
1256        error: *mut *mut glib::GError,
1257    ) -> gboolean;
1258    pub fn alsaseq_user_client_remove_events(
1259        self_: *mut ALSASeqUserClient,
1260        filter: *mut ALSASeqRemoveFilter,
1261        error: *mut *mut glib::GError,
1262    ) -> gboolean;
1263    pub fn alsaseq_user_client_schedule_event(
1264        self_: *mut ALSASeqUserClient,
1265        event: *const ALSASeqEvent,
1266        error: *mut *mut glib::GError,
1267    ) -> gboolean;
1268    pub fn alsaseq_user_client_schedule_events(
1269        self_: *mut ALSASeqUserClient,
1270        events: *const glib::GList,
1271        count: *mut size_t,
1272        error: *mut *mut glib::GError,
1273    ) -> gboolean;
1274    pub fn alsaseq_user_client_set_info(
1275        self_: *mut ALSASeqUserClient,
1276        client_info: *mut ALSASeqClientInfo,
1277        error: *mut *mut glib::GError,
1278    ) -> gboolean;
1279    pub fn alsaseq_user_client_set_pool(
1280        self_: *mut ALSASeqUserClient,
1281        client_pool: *mut ALSASeqClientPool,
1282        error: *mut *mut glib::GError,
1283    ) -> gboolean;
1284    pub fn alsaseq_user_client_set_queue_tempo(
1285        self_: *mut ALSASeqUserClient,
1286        queue_id: u8,
1287        queue_tempo: *mut ALSASeqQueueTempo,
1288        error: *mut *mut glib::GError,
1289    ) -> gboolean;
1290    pub fn alsaseq_user_client_set_queue_timer(
1291        self_: *mut ALSASeqUserClient,
1292        queue_id: u8,
1293        queue_timer: *mut ALSASeqQueueTimerCommon,
1294        error: *mut *mut glib::GError,
1295    ) -> gboolean;
1296    pub fn alsaseq_user_client_set_queue_usage(
1297        self_: *mut ALSASeqUserClient,
1298        queue_id: u8,
1299        use_: gboolean,
1300        error: *mut *mut glib::GError,
1301    ) -> gboolean;
1302    pub fn alsaseq_user_client_update_port(
1303        self_: *mut ALSASeqUserClient,
1304        port_info: *mut ALSASeqPortInfo,
1305        port_id: u8,
1306        error: *mut *mut glib::GError,
1307    ) -> gboolean;
1308    pub fn alsaseq_user_client_update_queue(
1309        self_: *mut ALSASeqUserClient,
1310        queue_info: *mut ALSASeqQueueInfo,
1311        error: *mut *mut glib::GError,
1312    ) -> gboolean;
1313
1314    //=========================================================================
1315    // ALSASeqQueueTimerCommon
1316    //=========================================================================
1317    pub fn alsaseq_queue_timer_common_get_type() -> GType;
1318
1319    //=========================================================================
1320    // Other functions
1321    //=========================================================================
1322    pub fn alsaseq_get_client_id_list(
1323        entries: *mut *mut u8,
1324        entry_count: *mut size_t,
1325        error: *mut *mut glib::GError,
1326    ) -> gboolean;
1327    pub fn alsaseq_get_client_info(
1328        client_id: u8,
1329        client_info: *mut *mut ALSASeqClientInfo,
1330        error: *mut *mut glib::GError,
1331    ) -> gboolean;
1332    pub fn alsaseq_get_client_pool(
1333        client_id: u8,
1334        client_pool: *mut *mut ALSASeqClientPool,
1335        error: *mut *mut glib::GError,
1336    ) -> gboolean;
1337    pub fn alsaseq_get_port_id_list(
1338        client_id: u8,
1339        entries: *mut *mut u8,
1340        entry_count: *mut size_t,
1341        error: *mut *mut glib::GError,
1342    ) -> gboolean;
1343    pub fn alsaseq_get_port_info(
1344        client_id: u8,
1345        port_id: u8,
1346        port_info: *mut *mut ALSASeqPortInfo,
1347        error: *mut *mut glib::GError,
1348    ) -> gboolean;
1349    pub fn alsaseq_get_queue_id_list(
1350        entries: *mut *mut u8,
1351        entry_count: *mut size_t,
1352        error: *mut *mut glib::GError,
1353    ) -> gboolean;
1354    pub fn alsaseq_get_queue_info_by_id(
1355        queue_id: u8,
1356        queue_info: *mut *mut ALSASeqQueueInfo,
1357        error: *mut *mut glib::GError,
1358    ) -> gboolean;
1359    pub fn alsaseq_get_queue_info_by_name(
1360        name: *const c_char,
1361        queue_info: *mut *mut ALSASeqQueueInfo,
1362        error: *mut *mut glib::GError,
1363    ) -> gboolean;
1364    pub fn alsaseq_get_queue_status(
1365        queue_id: u8,
1366        queue_status: *const *mut ALSASeqQueueStatus,
1367        error: *mut *mut glib::GError,
1368    ) -> gboolean;
1369    pub fn alsaseq_get_seq_devnode(
1370        devnode: *mut *mut c_char,
1371        error: *mut *mut glib::GError,
1372    ) -> gboolean;
1373    pub fn alsaseq_get_seq_sysname(
1374        sysname: *mut *mut c_char,
1375        error: *mut *mut glib::GError,
1376    ) -> gboolean;
1377    pub fn alsaseq_get_subscription_list(
1378        addr: *const ALSASeqAddr,
1379        query_type: ALSASeqQuerySubscribeType,
1380        entries: *mut *mut glib::GList,
1381        error: *mut *mut glib::GError,
1382    ) -> gboolean;
1383    pub fn alsaseq_get_system_info(
1384        system_info: *mut *mut ALSASeqSystemInfo,
1385        error: *mut *mut glib::GError,
1386    ) -> gboolean;
1387
1388}