alsarawmidi_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 ALSARawmidiStreamDirection = c_int;
34pub const ALSARAWMIDI_STREAM_DIRECTION_OUTPUT: ALSARawmidiStreamDirection = 0;
35pub const ALSARAWMIDI_STREAM_DIRECTION_INPUT: ALSARawmidiStreamDirection = 1;
36
37pub type ALSARawmidiStreamPairError = c_int;
38pub const ALSARAWMIDI_STREAM_PAIR_ERROR_FAILED: ALSARawmidiStreamPairError = 0;
39pub const ALSARAWMIDI_STREAM_PAIR_ERROR_DISCONNECTED: ALSARawmidiStreamPairError = 1;
40pub const ALSARAWMIDI_STREAM_PAIR_ERROR_UNREADABLE: ALSARawmidiStreamPairError = 2;
41
42// Flags
43pub type ALSARawmidiStreamPairInfoFlag = c_uint;
44pub const ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_OUTPUT: ALSARawmidiStreamPairInfoFlag = 1;
45pub const ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_INPUT: ALSARawmidiStreamPairInfoFlag = 2;
46pub const ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_DUPLEX: ALSARawmidiStreamPairInfoFlag = 4;
47
48// Records
49#[derive(Copy, Clone)]
50#[repr(C)]
51pub struct ALSARawmidiStreamPairClass {
52    pub parent_class: gobject::GObjectClass,
53    pub handle_messages: Option<unsafe extern "C" fn(*mut ALSARawmidiStreamPair)>,
54    pub handle_disconnection: Option<unsafe extern "C" fn(*mut ALSARawmidiStreamPair)>,
55}
56
57impl ::std::fmt::Debug for ALSARawmidiStreamPairClass {
58    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
59        f.debug_struct(&format!("ALSARawmidiStreamPairClass @ {self:p}"))
60            .field("parent_class", &self.parent_class)
61            .field("handle_messages", &self.handle_messages)
62            .field("handle_disconnection", &self.handle_disconnection)
63            .finish()
64    }
65}
66
67#[derive(Copy, Clone)]
68#[repr(C)]
69pub struct ALSARawmidiSubstreamInfoClass {
70    pub parent_class: gobject::GObjectClass,
71}
72
73impl ::std::fmt::Debug for ALSARawmidiSubstreamInfoClass {
74    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
75        f.debug_struct(&format!("ALSARawmidiSubstreamInfoClass @ {self:p}"))
76            .field("parent_class", &self.parent_class)
77            .finish()
78    }
79}
80
81#[derive(Copy, Clone)]
82#[repr(C)]
83pub struct ALSARawmidiSubstreamParamsClass {
84    pub parent_class: gobject::GObjectClass,
85}
86
87impl ::std::fmt::Debug for ALSARawmidiSubstreamParamsClass {
88    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
89        f.debug_struct(&format!("ALSARawmidiSubstreamParamsClass @ {self:p}"))
90            .field("parent_class", &self.parent_class)
91            .finish()
92    }
93}
94
95#[derive(Copy, Clone)]
96#[repr(C)]
97pub struct ALSARawmidiSubstreamStatusClass {
98    pub parent_class: gobject::GObjectClass,
99}
100
101impl ::std::fmt::Debug for ALSARawmidiSubstreamStatusClass {
102    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
103        f.debug_struct(&format!("ALSARawmidiSubstreamStatusClass @ {self:p}"))
104            .field("parent_class", &self.parent_class)
105            .finish()
106    }
107}
108
109// Classes
110#[derive(Copy, Clone)]
111#[repr(C)]
112pub struct ALSARawmidiStreamPair {
113    pub parent_instance: gobject::GObject,
114}
115
116impl ::std::fmt::Debug for ALSARawmidiStreamPair {
117    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
118        f.debug_struct(&format!("ALSARawmidiStreamPair @ {self:p}"))
119            .field("parent_instance", &self.parent_instance)
120            .finish()
121    }
122}
123
124#[derive(Copy, Clone)]
125#[repr(C)]
126pub struct ALSARawmidiSubstreamInfo {
127    pub parent_instance: gobject::GObject,
128}
129
130impl ::std::fmt::Debug for ALSARawmidiSubstreamInfo {
131    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
132        f.debug_struct(&format!("ALSARawmidiSubstreamInfo @ {self:p}"))
133            .field("parent_instance", &self.parent_instance)
134            .finish()
135    }
136}
137
138#[derive(Copy, Clone)]
139#[repr(C)]
140pub struct ALSARawmidiSubstreamParams {
141    pub parent_instance: gobject::GObject,
142}
143
144impl ::std::fmt::Debug for ALSARawmidiSubstreamParams {
145    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
146        f.debug_struct(&format!("ALSARawmidiSubstreamParams @ {self:p}"))
147            .field("parent_instance", &self.parent_instance)
148            .finish()
149    }
150}
151
152#[derive(Copy, Clone)]
153#[repr(C)]
154pub struct ALSARawmidiSubstreamStatus {
155    pub parent_instance: gobject::GObject,
156}
157
158impl ::std::fmt::Debug for ALSARawmidiSubstreamStatus {
159    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
160        f.debug_struct(&format!("ALSARawmidiSubstreamStatus @ {self:p}"))
161            .field("parent_instance", &self.parent_instance)
162            .finish()
163    }
164}
165
166extern "C" {
167
168    //=========================================================================
169    // ALSARawmidiStreamDirection
170    //=========================================================================
171    pub fn alsarawmidi_stream_direction_get_type() -> GType;
172
173    //=========================================================================
174    // ALSARawmidiStreamPairError
175    //=========================================================================
176    pub fn alsarawmidi_stream_pair_error_get_type() -> GType;
177    pub fn alsarawmidi_stream_pair_error_quark() -> glib::GQuark;
178
179    //=========================================================================
180    // ALSARawmidiStreamPairInfoFlag
181    //=========================================================================
182    pub fn alsarawmidi_stream_pair_info_flag_get_type() -> GType;
183
184    //=========================================================================
185    // ALSARawmidiStreamPair
186    //=========================================================================
187    pub fn alsarawmidi_stream_pair_get_type() -> GType;
188    pub fn alsarawmidi_stream_pair_new() -> *mut ALSARawmidiStreamPair;
189    pub fn alsarawmidi_stream_pair_create_source(
190        self_: *mut ALSARawmidiStreamPair,
191        gsrc: *mut *mut glib::GSource,
192        error: *mut *mut glib::GError,
193    ) -> gboolean;
194    pub fn alsarawmidi_stream_pair_drain_substream(
195        self_: *mut ALSARawmidiStreamPair,
196        direction: ALSARawmidiStreamDirection,
197        error: *mut *mut glib::GError,
198    ) -> gboolean;
199    pub fn alsarawmidi_stream_pair_drop_substream(
200        self_: *mut ALSARawmidiStreamPair,
201        direction: ALSARawmidiStreamDirection,
202        error: *mut *mut glib::GError,
203    ) -> gboolean;
204    pub fn alsarawmidi_stream_pair_get_protocol_version(
205        self_: *mut ALSARawmidiStreamPair,
206        proto_ver_triplet: *mut *const [u16; 3],
207        error: *mut *mut glib::GError,
208    ) -> gboolean;
209    pub fn alsarawmidi_stream_pair_get_substream_info(
210        self_: *mut ALSARawmidiStreamPair,
211        direction: ALSARawmidiStreamDirection,
212        substream_info: *mut *mut ALSARawmidiSubstreamInfo,
213        error: *mut *mut glib::GError,
214    ) -> gboolean;
215    pub fn alsarawmidi_stream_pair_get_substream_status(
216        self_: *mut ALSARawmidiStreamPair,
217        direction: ALSARawmidiStreamDirection,
218        substream_status: *const *mut ALSARawmidiSubstreamStatus,
219        error: *mut *mut glib::GError,
220    ) -> gboolean;
221    pub fn alsarawmidi_stream_pair_open(
222        self_: *mut ALSARawmidiStreamPair,
223        card_id: c_uint,
224        device_id: c_uint,
225        subdevice_id: c_uint,
226        access_modes: ALSARawmidiStreamPairInfoFlag,
227        open_flag: c_int,
228        error: *mut *mut glib::GError,
229    ) -> gboolean;
230    pub fn alsarawmidi_stream_pair_read_from_substream(
231        self_: *mut ALSARawmidiStreamPair,
232        buf: *const *mut u8,
233        buf_size: *mut size_t,
234        error: *mut *mut glib::GError,
235    ) -> gboolean;
236    pub fn alsarawmidi_stream_pair_set_substream_params(
237        self_: *mut ALSARawmidiStreamPair,
238        direction: ALSARawmidiStreamDirection,
239        substream_params: *mut ALSARawmidiSubstreamParams,
240        error: *mut *mut glib::GError,
241    ) -> gboolean;
242    pub fn alsarawmidi_stream_pair_write_to_substream(
243        self_: *mut ALSARawmidiStreamPair,
244        buf: *const u8,
245        buf_size: size_t,
246        error: *mut *mut glib::GError,
247    ) -> gboolean;
248
249    //=========================================================================
250    // ALSARawmidiSubstreamInfo
251    //=========================================================================
252    pub fn alsarawmidi_substream_info_get_type() -> GType;
253
254    //=========================================================================
255    // ALSARawmidiSubstreamParams
256    //=========================================================================
257    pub fn alsarawmidi_substream_params_get_type() -> GType;
258    pub fn alsarawmidi_substream_params_new() -> *mut ALSARawmidiSubstreamParams;
259
260    //=========================================================================
261    // ALSARawmidiSubstreamStatus
262    //=========================================================================
263    pub fn alsarawmidi_substream_status_get_type() -> GType;
264    pub fn alsarawmidi_substream_status_new() -> *mut ALSARawmidiSubstreamStatus;
265
266    //=========================================================================
267    // Other functions
268    //=========================================================================
269    pub fn alsarawmidi_get_device_id_list(
270        card_id: c_uint,
271        entries: *mut *mut c_uint,
272        entry_count: *mut size_t,
273        error: *mut *mut glib::GError,
274    ) -> gboolean;
275    pub fn alsarawmidi_get_rawmidi_devnode(
276        card_id: c_uint,
277        device_id: c_uint,
278        devnode: *mut *mut c_char,
279        error: *mut *mut glib::GError,
280    ) -> gboolean;
281    pub fn alsarawmidi_get_rawmidi_sysname(
282        card_id: c_uint,
283        device_id: c_uint,
284        sysname: *mut *mut c_char,
285        error: *mut *mut glib::GError,
286    ) -> gboolean;
287    pub fn alsarawmidi_get_subdevice_id_list(
288        card_id: c_uint,
289        device_id: c_uint,
290        direction: ALSARawmidiStreamDirection,
291        entries: *mut *mut c_uint,
292        entry_count: *mut size_t,
293        error: *mut *mut glib::GError,
294    ) -> gboolean;
295    pub fn alsarawmidi_get_substream_info(
296        card_id: c_uint,
297        device_id: c_uint,
298        direction: ALSARawmidiStreamDirection,
299        subdevice_id: c_uint,
300        substream_info: *mut *mut ALSARawmidiSubstreamInfo,
301        error: *mut *mut glib::GError,
302    ) -> gboolean;
303
304}