mpdclient_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3pub const _STDINT_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC2Y: u32 = 0;
7pub const __GLIBC_USE_ISOC23: u32 = 0;
8pub const __USE_ISOC11: u32 = 1;
9pub const __USE_ISOC99: u32 = 1;
10pub const __USE_ISOC95: u32 = 1;
11pub const __USE_POSIX_IMPLICITLY: u32 = 1;
12pub const _POSIX_SOURCE: u32 = 1;
13pub const _POSIX_C_SOURCE: u32 = 200809;
14pub const __USE_POSIX: u32 = 1;
15pub const __USE_POSIX2: u32 = 1;
16pub const __USE_POSIX199309: u32 = 1;
17pub const __USE_POSIX199506: u32 = 1;
18pub const __USE_XOPEN2K: u32 = 1;
19pub const __USE_XOPEN2K8: u32 = 1;
20pub const _ATFILE_SOURCE: u32 = 1;
21pub const __WORDSIZE: u32 = 64;
22pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
23pub const __SYSCALL_WORDSIZE: u32 = 64;
24pub const __TIMESIZE: u32 = 64;
25pub const __USE_TIME_BITS64: u32 = 1;
26pub const __USE_MISC: u32 = 1;
27pub const __USE_ATFILE: u32 = 1;
28pub const __USE_FORTIFY_LEVEL: u32 = 0;
29pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
30pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
31pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
32pub const _STDC_PREDEF_H: u32 = 1;
33pub const __STDC_IEC_559__: u32 = 1;
34pub const __STDC_IEC_60559_BFP__: u32 = 201404;
35pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
36pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
37pub const __STDC_ISO_10646__: u32 = 201706;
38pub const __GNU_LIBRARY__: u32 = 6;
39pub const __GLIBC__: u32 = 2;
40pub const __GLIBC_MINOR__: u32 = 41;
41pub const _SYS_CDEFS_H: u32 = 1;
42pub const __glibc_c99_flexarr_available: u32 = 1;
43pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
44pub const __HAVE_GENERIC_SELECTION: u32 = 1;
45pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
49pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
50pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
51pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
52pub const _BITS_TYPES_H: u32 = 1;
53pub const _BITS_TYPESIZES_H: u32 = 1;
54pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
55pub const __INO_T_MATCHES_INO64_T: u32 = 1;
56pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
57pub const __STATFS_MATCHES_STATFS64: u32 = 1;
58pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
59pub const __FD_SETSIZE: u32 = 1024;
60pub const _BITS_TIME64_H: u32 = 1;
61pub const _BITS_WCHAR_H: u32 = 1;
62pub const _BITS_STDINT_INTN_H: u32 = 1;
63pub const _BITS_STDINT_UINTN_H: u32 = 1;
64pub const _BITS_STDINT_LEAST_H: u32 = 1;
65pub const INT8_MIN: i32 = -128;
66pub const INT16_MIN: i32 = -32768;
67pub const INT32_MIN: i32 = -2147483648;
68pub const INT8_MAX: u32 = 127;
69pub const INT16_MAX: u32 = 32767;
70pub const INT32_MAX: u32 = 2147483647;
71pub const UINT8_MAX: u32 = 255;
72pub const UINT16_MAX: u32 = 65535;
73pub const UINT32_MAX: u32 = 4294967295;
74pub const INT_LEAST8_MIN: i32 = -128;
75pub const INT_LEAST16_MIN: i32 = -32768;
76pub const INT_LEAST32_MIN: i32 = -2147483648;
77pub const INT_LEAST8_MAX: u32 = 127;
78pub const INT_LEAST16_MAX: u32 = 32767;
79pub const INT_LEAST32_MAX: u32 = 2147483647;
80pub const UINT_LEAST8_MAX: u32 = 255;
81pub const UINT_LEAST16_MAX: u32 = 65535;
82pub const UINT_LEAST32_MAX: u32 = 4294967295;
83pub const INT_FAST8_MIN: i32 = -128;
84pub const INT_FAST16_MIN: i64 = -9223372036854775808;
85pub const INT_FAST32_MIN: i64 = -9223372036854775808;
86pub const INT_FAST8_MAX: u32 = 127;
87pub const INT_FAST16_MAX: u64 = 9223372036854775807;
88pub const INT_FAST32_MAX: u64 = 9223372036854775807;
89pub const UINT_FAST8_MAX: u32 = 255;
90pub const UINT_FAST16_MAX: i32 = -1;
91pub const UINT_FAST32_MAX: i32 = -1;
92pub const INTPTR_MIN: i64 = -9223372036854775808;
93pub const INTPTR_MAX: u64 = 9223372036854775807;
94pub const UINTPTR_MAX: i32 = -1;
95pub const PTRDIFF_MIN: i64 = -9223372036854775808;
96pub const PTRDIFF_MAX: u64 = 9223372036854775807;
97pub const SIG_ATOMIC_MIN: i32 = -2147483648;
98pub const SIG_ATOMIC_MAX: u32 = 2147483647;
99pub const SIZE_MAX: i32 = -1;
100pub const WINT_MIN: u32 = 0;
101pub const WINT_MAX: u32 = 4294967295;
102pub const __bool_true_false_are_defined: u32 = 1;
103pub const true_: u32 = 1;
104pub const false_: u32 = 0;
105pub const _TIME_H: u32 = 1;
106pub const _BITS_TIME_H: u32 = 1;
107pub const CLOCK_REALTIME: u32 = 0;
108pub const CLOCK_MONOTONIC: u32 = 1;
109pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
110pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
111pub const CLOCK_MONOTONIC_RAW: u32 = 4;
112pub const CLOCK_REALTIME_COARSE: u32 = 5;
113pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
114pub const CLOCK_BOOTTIME: u32 = 7;
115pub const CLOCK_REALTIME_ALARM: u32 = 8;
116pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
117pub const CLOCK_TAI: u32 = 11;
118pub const TIMER_ABSTIME: u32 = 1;
119pub const __clock_t_defined: u32 = 1;
120pub const __time_t_defined: u32 = 1;
121pub const __struct_tm_defined: u32 = 1;
122pub const _STRUCT_TIMESPEC: u32 = 1;
123pub const _BITS_ENDIAN_H: u32 = 1;
124pub const __LITTLE_ENDIAN: u32 = 1234;
125pub const __BIG_ENDIAN: u32 = 4321;
126pub const __PDP_ENDIAN: u32 = 3412;
127pub const _BITS_ENDIANNESS_H: u32 = 1;
128pub const __BYTE_ORDER: u32 = 1234;
129pub const __FLOAT_WORD_ORDER: u32 = 1234;
130pub const __clockid_t_defined: u32 = 1;
131pub const __timer_t_defined: u32 = 1;
132pub const __itimerspec_defined: u32 = 1;
133pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
134pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
135pub const TIME_UTC: u32 = 1;
136pub const LIBMPDCLIENT_MAJOR_VERSION: u32 = 2;
137pub const LIBMPDCLIENT_MINOR_VERSION: u32 = 22;
138pub const LIBMPDCLIENT_PATCH_VERSION: u32 = 0;
139pub type __u_char = ::std::os::raw::c_uchar;
140pub type __u_short = ::std::os::raw::c_ushort;
141pub type __u_int = ::std::os::raw::c_uint;
142pub type __u_long = ::std::os::raw::c_ulong;
143pub type __int8_t = ::std::os::raw::c_schar;
144pub type __uint8_t = ::std::os::raw::c_uchar;
145pub type __int16_t = ::std::os::raw::c_short;
146pub type __uint16_t = ::std::os::raw::c_ushort;
147pub type __int32_t = ::std::os::raw::c_int;
148pub type __uint32_t = ::std::os::raw::c_uint;
149pub type __int64_t = ::std::os::raw::c_long;
150pub type __uint64_t = ::std::os::raw::c_ulong;
151pub type __int_least8_t = __int8_t;
152pub type __uint_least8_t = __uint8_t;
153pub type __int_least16_t = __int16_t;
154pub type __uint_least16_t = __uint16_t;
155pub type __int_least32_t = __int32_t;
156pub type __uint_least32_t = __uint32_t;
157pub type __int_least64_t = __int64_t;
158pub type __uint_least64_t = __uint64_t;
159pub type __quad_t = ::std::os::raw::c_long;
160pub type __u_quad_t = ::std::os::raw::c_ulong;
161pub type __intmax_t = ::std::os::raw::c_long;
162pub type __uintmax_t = ::std::os::raw::c_ulong;
163pub type __dev_t = ::std::os::raw::c_ulong;
164pub type __uid_t = ::std::os::raw::c_uint;
165pub type __gid_t = ::std::os::raw::c_uint;
166pub type __ino_t = ::std::os::raw::c_ulong;
167pub type __ino64_t = ::std::os::raw::c_ulong;
168pub type __mode_t = ::std::os::raw::c_uint;
169pub type __nlink_t = ::std::os::raw::c_ulong;
170pub type __off_t = ::std::os::raw::c_long;
171pub type __off64_t = ::std::os::raw::c_long;
172pub type __pid_t = ::std::os::raw::c_int;
173#[repr(C)]
174#[derive(Debug, Copy, Clone)]
175pub struct __fsid_t {
176    pub __val: [::std::os::raw::c_int; 2usize],
177}
178#[allow(clippy::unnecessary_operation, clippy::identity_op)]
179const _: () = {
180    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
181    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
182    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
183};
184pub type __clock_t = ::std::os::raw::c_long;
185pub type __rlim_t = ::std::os::raw::c_ulong;
186pub type __rlim64_t = ::std::os::raw::c_ulong;
187pub type __id_t = ::std::os::raw::c_uint;
188pub type __time_t = ::std::os::raw::c_long;
189pub type __useconds_t = ::std::os::raw::c_uint;
190pub type __suseconds_t = ::std::os::raw::c_long;
191pub type __suseconds64_t = ::std::os::raw::c_long;
192pub type __daddr_t = ::std::os::raw::c_int;
193pub type __key_t = ::std::os::raw::c_int;
194pub type __clockid_t = ::std::os::raw::c_int;
195pub type __timer_t = *mut ::std::os::raw::c_void;
196pub type __blksize_t = ::std::os::raw::c_long;
197pub type __blkcnt_t = ::std::os::raw::c_long;
198pub type __blkcnt64_t = ::std::os::raw::c_long;
199pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
200pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
201pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
202pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
203pub type __fsword_t = ::std::os::raw::c_long;
204pub type __ssize_t = ::std::os::raw::c_long;
205pub type __syscall_slong_t = ::std::os::raw::c_long;
206pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
207pub type __loff_t = __off64_t;
208pub type __caddr_t = *mut ::std::os::raw::c_char;
209pub type __intptr_t = ::std::os::raw::c_long;
210pub type __socklen_t = ::std::os::raw::c_uint;
211pub type __sig_atomic_t = ::std::os::raw::c_int;
212pub type int_least8_t = __int_least8_t;
213pub type int_least16_t = __int_least16_t;
214pub type int_least32_t = __int_least32_t;
215pub type int_least64_t = __int_least64_t;
216pub type uint_least8_t = __uint_least8_t;
217pub type uint_least16_t = __uint_least16_t;
218pub type uint_least32_t = __uint_least32_t;
219pub type uint_least64_t = __uint_least64_t;
220pub type int_fast8_t = ::std::os::raw::c_schar;
221pub type int_fast16_t = ::std::os::raw::c_long;
222pub type int_fast32_t = ::std::os::raw::c_long;
223pub type int_fast64_t = ::std::os::raw::c_long;
224pub type uint_fast8_t = ::std::os::raw::c_uchar;
225pub type uint_fast16_t = ::std::os::raw::c_ulong;
226pub type uint_fast32_t = ::std::os::raw::c_ulong;
227pub type uint_fast64_t = ::std::os::raw::c_ulong;
228pub type intmax_t = __intmax_t;
229pub type uintmax_t = __uintmax_t;
230pub const MPD_SAMPLE_FORMAT_UNDEFINED: _bindgen_ty_1 = 0;
231pub const MPD_SAMPLE_FORMAT_FLOAT: _bindgen_ty_1 = 224;
232pub const MPD_SAMPLE_FORMAT_DSD: _bindgen_ty_1 = 225;
233pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
234#[repr(C)]
235#[derive(Debug, Copy, Clone)]
236pub struct mpd_audio_format {
237    pub sample_rate: u32,
238    pub bits: u8,
239    pub channels: u8,
240    pub reserved0: u16,
241    pub reserved1: u32,
242}
243#[allow(clippy::unnecessary_operation, clippy::identity_op)]
244const _: () = {
245    ["Size of mpd_audio_format"][::std::mem::size_of::<mpd_audio_format>() - 12usize];
246    ["Alignment of mpd_audio_format"][::std::mem::align_of::<mpd_audio_format>() - 4usize];
247    ["Offset of field: mpd_audio_format::sample_rate"]
248        [::std::mem::offset_of!(mpd_audio_format, sample_rate) - 0usize];
249    ["Offset of field: mpd_audio_format::bits"]
250        [::std::mem::offset_of!(mpd_audio_format, bits) - 4usize];
251    ["Offset of field: mpd_audio_format::channels"]
252        [::std::mem::offset_of!(mpd_audio_format, channels) - 5usize];
253    ["Offset of field: mpd_audio_format::reserved0"]
254        [::std::mem::offset_of!(mpd_audio_format, reserved0) - 6usize];
255    ["Offset of field: mpd_audio_format::reserved1"]
256        [::std::mem::offset_of!(mpd_audio_format, reserved1) - 8usize];
257};
258pub type wchar_t = ::std::os::raw::c_int;
259#[repr(C)]
260#[repr(align(16))]
261#[derive(Debug, Copy, Clone)]
262pub struct max_align_t {
263    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
264    pub __bindgen_padding_0: u64,
265    pub __clang_max_align_nonce2: u128,
266}
267#[allow(clippy::unnecessary_operation, clippy::identity_op)]
268const _: () = {
269    ["Size of max_align_t"][::std::mem::size_of::<max_align_t>() - 32usize];
270    ["Alignment of max_align_t"][::std::mem::align_of::<max_align_t>() - 16usize];
271    ["Offset of field: max_align_t::__clang_max_align_nonce1"]
272        [::std::mem::offset_of!(max_align_t, __clang_max_align_nonce1) - 0usize];
273    ["Offset of field: max_align_t::__clang_max_align_nonce2"]
274        [::std::mem::offset_of!(max_align_t, __clang_max_align_nonce2) - 16usize];
275};
276#[repr(C)]
277#[derive(Debug, Copy, Clone)]
278pub struct mpd_connection {
279    _unused: [u8; 0],
280}
281unsafe extern "C" {
282    pub fn mpd_send_albumart(
283        connection: *mut mpd_connection,
284        uri: *const ::std::os::raw::c_char,
285        offset: ::std::os::raw::c_uint,
286    ) -> bool;
287}
288unsafe extern "C" {
289    pub fn mpd_recv_albumart(
290        connection: *mut mpd_connection,
291        buffer: *mut ::std::os::raw::c_void,
292        buffer_size: usize,
293    ) -> ::std::os::raw::c_int;
294}
295unsafe extern "C" {
296    pub fn mpd_run_albumart(
297        connection: *mut mpd_connection,
298        uri: *const ::std::os::raw::c_char,
299        offset: ::std::os::raw::c_uint,
300        buffer: *mut ::std::os::raw::c_void,
301        buffer_size: usize,
302    ) -> ::std::os::raw::c_int;
303}
304unsafe extern "C" {
305    pub fn mpd_send_binarylimit(
306        connection: *mut mpd_connection,
307        limit: ::std::os::raw::c_uint,
308    ) -> bool;
309}
310unsafe extern "C" {
311    pub fn mpd_run_binarylimit(
312        connection: *mut mpd_connection,
313        limit: ::std::os::raw::c_uint,
314    ) -> bool;
315}
316unsafe extern "C" {
317    pub fn mpd_recv_binary(
318        connection: *mut mpd_connection,
319        data: *mut ::std::os::raw::c_void,
320        length: usize,
321    ) -> bool;
322}
323unsafe extern "C" {
324    pub fn mpd_recv_pair(connection: *mut mpd_connection) -> *mut mpd_pair;
325}
326unsafe extern "C" {
327    pub fn mpd_recv_pair_named(
328        connection: *mut mpd_connection,
329        name: *const ::std::os::raw::c_char,
330    ) -> *mut mpd_pair;
331}
332unsafe extern "C" {
333    pub fn mpd_return_pair(connection: *mut mpd_connection, pair: *mut mpd_pair);
334}
335unsafe extern "C" {
336    pub fn mpd_enqueue_pair(connection: *mut mpd_connection, pair: *mut mpd_pair);
337}
338pub const mpd_tag_type_MPD_TAG_UNKNOWN: mpd_tag_type = -1;
339pub const mpd_tag_type_MPD_TAG_ARTIST: mpd_tag_type = 0;
340pub const mpd_tag_type_MPD_TAG_ALBUM: mpd_tag_type = 1;
341pub const mpd_tag_type_MPD_TAG_ALBUM_ARTIST: mpd_tag_type = 2;
342pub const mpd_tag_type_MPD_TAG_TITLE: mpd_tag_type = 3;
343pub const mpd_tag_type_MPD_TAG_TRACK: mpd_tag_type = 4;
344pub const mpd_tag_type_MPD_TAG_NAME: mpd_tag_type = 5;
345pub const mpd_tag_type_MPD_TAG_GENRE: mpd_tag_type = 6;
346pub const mpd_tag_type_MPD_TAG_DATE: mpd_tag_type = 7;
347pub const mpd_tag_type_MPD_TAG_COMPOSER: mpd_tag_type = 8;
348pub const mpd_tag_type_MPD_TAG_PERFORMER: mpd_tag_type = 9;
349pub const mpd_tag_type_MPD_TAG_COMMENT: mpd_tag_type = 10;
350pub const mpd_tag_type_MPD_TAG_DISC: mpd_tag_type = 11;
351pub const mpd_tag_type_MPD_TAG_MUSICBRAINZ_ARTISTID: mpd_tag_type = 12;
352pub const mpd_tag_type_MPD_TAG_MUSICBRAINZ_ALBUMID: mpd_tag_type = 13;
353pub const mpd_tag_type_MPD_TAG_MUSICBRAINZ_ALBUMARTISTID: mpd_tag_type = 14;
354pub const mpd_tag_type_MPD_TAG_MUSICBRAINZ_TRACKID: mpd_tag_type = 15;
355pub const mpd_tag_type_MPD_TAG_MUSICBRAINZ_RELEASETRACKID: mpd_tag_type = 16;
356pub const mpd_tag_type_MPD_TAG_ORIGINAL_DATE: mpd_tag_type = 17;
357pub const mpd_tag_type_MPD_TAG_ARTIST_SORT: mpd_tag_type = 18;
358pub const mpd_tag_type_MPD_TAG_ALBUM_ARTIST_SORT: mpd_tag_type = 19;
359pub const mpd_tag_type_MPD_TAG_ALBUM_SORT: mpd_tag_type = 20;
360pub const mpd_tag_type_MPD_TAG_LABEL: mpd_tag_type = 21;
361pub const mpd_tag_type_MPD_TAG_MUSICBRAINZ_WORKID: mpd_tag_type = 22;
362pub const mpd_tag_type_MPD_TAG_GROUPING: mpd_tag_type = 23;
363pub const mpd_tag_type_MPD_TAG_WORK: mpd_tag_type = 24;
364pub const mpd_tag_type_MPD_TAG_CONDUCTOR: mpd_tag_type = 25;
365pub const mpd_tag_type_MPD_TAG_COMPOSER_SORT: mpd_tag_type = 26;
366pub const mpd_tag_type_MPD_TAG_ENSEMBLE: mpd_tag_type = 27;
367pub const mpd_tag_type_MPD_TAG_MOVEMENT: mpd_tag_type = 28;
368pub const mpd_tag_type_MPD_TAG_MOVEMENTNUMBER: mpd_tag_type = 29;
369pub const mpd_tag_type_MPD_TAG_LOCATION: mpd_tag_type = 30;
370pub const mpd_tag_type_MPD_TAG_MOOD: mpd_tag_type = 31;
371pub const mpd_tag_type_MPD_TAG_TITLE_SORT: mpd_tag_type = 32;
372pub const mpd_tag_type_MPD_TAG_MUSICBRAINZ_RELEASEGROUPID: mpd_tag_type = 33;
373pub const mpd_tag_type_MPD_TAG_COUNT: mpd_tag_type = 34;
374pub type mpd_tag_type = ::std::os::raw::c_int;
375unsafe extern "C" {
376    pub fn mpd_tag_name(type_: mpd_tag_type) -> *const ::std::os::raw::c_char;
377}
378unsafe extern "C" {
379    pub fn mpd_tag_name_parse(name: *const ::std::os::raw::c_char) -> mpd_tag_type;
380}
381unsafe extern "C" {
382    pub fn mpd_tag_name_iparse(name: *const ::std::os::raw::c_char) -> mpd_tag_type;
383}
384unsafe extern "C" {
385    pub fn mpd_send_allowed_commands(connection: *mut mpd_connection) -> bool;
386}
387unsafe extern "C" {
388    pub fn mpd_send_disallowed_commands(connection: *mut mpd_connection) -> bool;
389}
390unsafe extern "C" {
391    pub fn mpd_send_list_url_schemes(connection: *mut mpd_connection) -> bool;
392}
393unsafe extern "C" {
394    pub fn mpd_send_list_tag_types(connection: *mut mpd_connection) -> bool;
395}
396unsafe extern "C" {
397    pub fn mpd_send_disable_tag_types(
398        connection: *mut mpd_connection,
399        types: *const mpd_tag_type,
400        n: ::std::os::raw::c_uint,
401    ) -> bool;
402}
403unsafe extern "C" {
404    pub fn mpd_run_disable_tag_types(
405        connection: *mut mpd_connection,
406        types: *const mpd_tag_type,
407        n: ::std::os::raw::c_uint,
408    ) -> bool;
409}
410unsafe extern "C" {
411    pub fn mpd_send_enable_tag_types(
412        connection: *mut mpd_connection,
413        types: *const mpd_tag_type,
414        n: ::std::os::raw::c_uint,
415    ) -> bool;
416}
417unsafe extern "C" {
418    pub fn mpd_run_enable_tag_types(
419        connection: *mut mpd_connection,
420        types: *const mpd_tag_type,
421        n: ::std::os::raw::c_uint,
422    ) -> bool;
423}
424unsafe extern "C" {
425    pub fn mpd_send_clear_tag_types(connection: *mut mpd_connection) -> bool;
426}
427unsafe extern "C" {
428    pub fn mpd_run_clear_tag_types(connection: *mut mpd_connection) -> bool;
429}
430unsafe extern "C" {
431    pub fn mpd_send_all_tag_types(connection: *mut mpd_connection) -> bool;
432}
433unsafe extern "C" {
434    pub fn mpd_run_all_tag_types(connection: *mut mpd_connection) -> bool;
435}
436pub const mpd_server_error_MPD_SERVER_ERROR_UNK: mpd_server_error = -1;
437pub const mpd_server_error_MPD_SERVER_ERROR_NOT_LIST: mpd_server_error = 1;
438pub const mpd_server_error_MPD_SERVER_ERROR_ARG: mpd_server_error = 2;
439pub const mpd_server_error_MPD_SERVER_ERROR_PASSWORD: mpd_server_error = 3;
440pub const mpd_server_error_MPD_SERVER_ERROR_PERMISSION: mpd_server_error = 4;
441pub const mpd_server_error_MPD_SERVER_ERROR_UNKNOWN_CMD: mpd_server_error = 5;
442pub const mpd_server_error_MPD_SERVER_ERROR_NO_EXIST: mpd_server_error = 50;
443pub const mpd_server_error_MPD_SERVER_ERROR_PLAYLIST_MAX: mpd_server_error = 51;
444pub const mpd_server_error_MPD_SERVER_ERROR_SYSTEM: mpd_server_error = 52;
445pub const mpd_server_error_MPD_SERVER_ERROR_PLAYLIST_LOAD: mpd_server_error = 53;
446pub const mpd_server_error_MPD_SERVER_ERROR_UPDATE_ALREADY: mpd_server_error = 54;
447pub const mpd_server_error_MPD_SERVER_ERROR_PLAYER_SYNC: mpd_server_error = 55;
448pub const mpd_server_error_MPD_SERVER_ERROR_EXIST: mpd_server_error = 56;
449pub type mpd_server_error = ::std::os::raw::c_int;
450pub const mpd_error_MPD_ERROR_SUCCESS: mpd_error = 0;
451pub const mpd_error_MPD_ERROR_OOM: mpd_error = 1;
452pub const mpd_error_MPD_ERROR_ARGUMENT: mpd_error = 2;
453pub const mpd_error_MPD_ERROR_STATE: mpd_error = 3;
454pub const mpd_error_MPD_ERROR_TIMEOUT: mpd_error = 4;
455pub const mpd_error_MPD_ERROR_SYSTEM: mpd_error = 5;
456pub const mpd_error_MPD_ERROR_RESOLVER: mpd_error = 6;
457pub const mpd_error_MPD_ERROR_MALFORMED: mpd_error = 7;
458pub const mpd_error_MPD_ERROR_CLOSED: mpd_error = 8;
459pub const mpd_error_MPD_ERROR_SERVER: mpd_error = 9;
460pub type mpd_error = ::std::os::raw::c_uint;
461#[repr(C)]
462#[derive(Debug, Copy, Clone)]
463pub struct mpd_async {
464    _unused: [u8; 0],
465}
466unsafe extern "C" {
467    pub fn mpd_connection_new(
468        host: *const ::std::os::raw::c_char,
469        port: ::std::os::raw::c_uint,
470        timeout_ms: ::std::os::raw::c_uint,
471    ) -> *mut mpd_connection;
472}
473unsafe extern "C" {
474    pub fn mpd_connection_new_async(
475        async_: *mut mpd_async,
476        welcome: *const ::std::os::raw::c_char,
477    ) -> *mut mpd_connection;
478}
479unsafe extern "C" {
480    pub fn mpd_connection_free(connection: *mut mpd_connection);
481}
482#[repr(C)]
483#[derive(Debug, Copy, Clone)]
484pub struct mpd_settings {
485    _unused: [u8; 0],
486}
487unsafe extern "C" {
488    pub fn mpd_connection_get_settings(connection: *const mpd_connection) -> *const mpd_settings;
489}
490unsafe extern "C" {
491    pub fn mpd_connection_set_keepalive(connection: *mut mpd_connection, keepalive: bool) -> bool;
492}
493unsafe extern "C" {
494    pub fn mpd_connection_set_timeout(
495        connection: *mut mpd_connection,
496        timeout_ms: ::std::os::raw::c_uint,
497    );
498}
499unsafe extern "C" {
500    pub fn mpd_connection_get_fd(connection: *const mpd_connection) -> ::std::os::raw::c_int;
501}
502unsafe extern "C" {
503    pub fn mpd_connection_get_async(connection: *mut mpd_connection) -> *mut mpd_async;
504}
505unsafe extern "C" {
506    pub fn mpd_connection_get_error(connection: *const mpd_connection) -> mpd_error;
507}
508unsafe extern "C" {
509    pub fn mpd_connection_get_error_message(
510        connection: *const mpd_connection,
511    ) -> *const ::std::os::raw::c_char;
512}
513unsafe extern "C" {
514    pub fn mpd_connection_get_server_error(connection: *const mpd_connection) -> mpd_server_error;
515}
516unsafe extern "C" {
517    pub fn mpd_connection_get_server_error_location(
518        connection: *const mpd_connection,
519    ) -> ::std::os::raw::c_uint;
520}
521unsafe extern "C" {
522    pub fn mpd_connection_get_system_error(
523        connection: *const mpd_connection,
524    ) -> ::std::os::raw::c_int;
525}
526unsafe extern "C" {
527    pub fn mpd_connection_clear_error(connection: *mut mpd_connection) -> bool;
528}
529unsafe extern "C" {
530    pub fn mpd_connection_get_server_version(
531        connection: *const mpd_connection,
532    ) -> *const ::std::os::raw::c_uint;
533}
534unsafe extern "C" {
535    pub fn mpd_connection_cmp_server_version(
536        connection: *const mpd_connection,
537        major: ::std::os::raw::c_uint,
538        minor: ::std::os::raw::c_uint,
539        patch: ::std::os::raw::c_uint,
540    ) -> ::std::os::raw::c_int;
541}
542unsafe extern "C" {
543    pub fn mpd_send_list_all(
544        connection: *mut mpd_connection,
545        path: *const ::std::os::raw::c_char,
546    ) -> bool;
547}
548unsafe extern "C" {
549    pub fn mpd_send_list_all_meta(
550        connection: *mut mpd_connection,
551        path: *const ::std::os::raw::c_char,
552    ) -> bool;
553}
554unsafe extern "C" {
555    pub fn mpd_send_list_meta(
556        connection: *mut mpd_connection,
557        path: *const ::std::os::raw::c_char,
558    ) -> bool;
559}
560unsafe extern "C" {
561    pub fn mpd_send_list_files(
562        connection: *mut mpd_connection,
563        uri: *const ::std::os::raw::c_char,
564    ) -> bool;
565}
566unsafe extern "C" {
567    pub fn mpd_send_read_comments(
568        connection: *mut mpd_connection,
569        path: *const ::std::os::raw::c_char,
570    ) -> bool;
571}
572unsafe extern "C" {
573    pub fn mpd_send_update(
574        connection: *mut mpd_connection,
575        path: *const ::std::os::raw::c_char,
576    ) -> bool;
577}
578unsafe extern "C" {
579    pub fn mpd_send_rescan(
580        connection: *mut mpd_connection,
581        path: *const ::std::os::raw::c_char,
582    ) -> bool;
583}
584unsafe extern "C" {
585    pub fn mpd_recv_update_id(connection: *mut mpd_connection) -> ::std::os::raw::c_uint;
586}
587unsafe extern "C" {
588    pub fn mpd_run_update(
589        connection: *mut mpd_connection,
590        path: *const ::std::os::raw::c_char,
591    ) -> ::std::os::raw::c_uint;
592}
593unsafe extern "C" {
594    pub fn mpd_run_rescan(
595        connection: *mut mpd_connection,
596        path: *const ::std::os::raw::c_char,
597    ) -> ::std::os::raw::c_uint;
598}
599pub type clock_t = __clock_t;
600pub type time_t = __time_t;
601#[repr(C)]
602#[derive(Debug, Copy, Clone)]
603pub struct tm {
604    pub tm_sec: ::std::os::raw::c_int,
605    pub tm_min: ::std::os::raw::c_int,
606    pub tm_hour: ::std::os::raw::c_int,
607    pub tm_mday: ::std::os::raw::c_int,
608    pub tm_mon: ::std::os::raw::c_int,
609    pub tm_year: ::std::os::raw::c_int,
610    pub tm_wday: ::std::os::raw::c_int,
611    pub tm_yday: ::std::os::raw::c_int,
612    pub tm_isdst: ::std::os::raw::c_int,
613    pub tm_gmtoff: ::std::os::raw::c_long,
614    pub tm_zone: *const ::std::os::raw::c_char,
615}
616#[allow(clippy::unnecessary_operation, clippy::identity_op)]
617const _: () = {
618    ["Size of tm"][::std::mem::size_of::<tm>() - 56usize];
619    ["Alignment of tm"][::std::mem::align_of::<tm>() - 8usize];
620    ["Offset of field: tm::tm_sec"][::std::mem::offset_of!(tm, tm_sec) - 0usize];
621    ["Offset of field: tm::tm_min"][::std::mem::offset_of!(tm, tm_min) - 4usize];
622    ["Offset of field: tm::tm_hour"][::std::mem::offset_of!(tm, tm_hour) - 8usize];
623    ["Offset of field: tm::tm_mday"][::std::mem::offset_of!(tm, tm_mday) - 12usize];
624    ["Offset of field: tm::tm_mon"][::std::mem::offset_of!(tm, tm_mon) - 16usize];
625    ["Offset of field: tm::tm_year"][::std::mem::offset_of!(tm, tm_year) - 20usize];
626    ["Offset of field: tm::tm_wday"][::std::mem::offset_of!(tm, tm_wday) - 24usize];
627    ["Offset of field: tm::tm_yday"][::std::mem::offset_of!(tm, tm_yday) - 28usize];
628    ["Offset of field: tm::tm_isdst"][::std::mem::offset_of!(tm, tm_isdst) - 32usize];
629    ["Offset of field: tm::tm_gmtoff"][::std::mem::offset_of!(tm, tm_gmtoff) - 40usize];
630    ["Offset of field: tm::tm_zone"][::std::mem::offset_of!(tm, tm_zone) - 48usize];
631};
632#[repr(C)]
633#[derive(Debug, Copy, Clone)]
634pub struct timespec {
635    pub tv_sec: __time_t,
636    pub tv_nsec: __syscall_slong_t,
637}
638#[allow(clippy::unnecessary_operation, clippy::identity_op)]
639const _: () = {
640    ["Size of timespec"][::std::mem::size_of::<timespec>() - 16usize];
641    ["Alignment of timespec"][::std::mem::align_of::<timespec>() - 8usize];
642    ["Offset of field: timespec::tv_sec"][::std::mem::offset_of!(timespec, tv_sec) - 0usize];
643    ["Offset of field: timespec::tv_nsec"][::std::mem::offset_of!(timespec, tv_nsec) - 8usize];
644};
645pub type clockid_t = __clockid_t;
646pub type timer_t = __timer_t;
647#[repr(C)]
648#[derive(Debug, Copy, Clone)]
649pub struct itimerspec {
650    pub it_interval: timespec,
651    pub it_value: timespec,
652}
653#[allow(clippy::unnecessary_operation, clippy::identity_op)]
654const _: () = {
655    ["Size of itimerspec"][::std::mem::size_of::<itimerspec>() - 32usize];
656    ["Alignment of itimerspec"][::std::mem::align_of::<itimerspec>() - 8usize];
657    ["Offset of field: itimerspec::it_interval"]
658        [::std::mem::offset_of!(itimerspec, it_interval) - 0usize];
659    ["Offset of field: itimerspec::it_value"]
660        [::std::mem::offset_of!(itimerspec, it_value) - 16usize];
661};
662#[repr(C)]
663#[derive(Debug, Copy, Clone)]
664pub struct sigevent {
665    _unused: [u8; 0],
666}
667pub type pid_t = __pid_t;
668#[repr(C)]
669#[derive(Debug, Copy, Clone)]
670pub struct __locale_struct {
671    pub __locales: [*mut __locale_data; 13usize],
672    pub __ctype_b: *const ::std::os::raw::c_ushort,
673    pub __ctype_tolower: *const ::std::os::raw::c_int,
674    pub __ctype_toupper: *const ::std::os::raw::c_int,
675    pub __names: [*const ::std::os::raw::c_char; 13usize],
676}
677#[allow(clippy::unnecessary_operation, clippy::identity_op)]
678const _: () = {
679    ["Size of __locale_struct"][::std::mem::size_of::<__locale_struct>() - 232usize];
680    ["Alignment of __locale_struct"][::std::mem::align_of::<__locale_struct>() - 8usize];
681    ["Offset of field: __locale_struct::__locales"]
682        [::std::mem::offset_of!(__locale_struct, __locales) - 0usize];
683    ["Offset of field: __locale_struct::__ctype_b"]
684        [::std::mem::offset_of!(__locale_struct, __ctype_b) - 104usize];
685    ["Offset of field: __locale_struct::__ctype_tolower"]
686        [::std::mem::offset_of!(__locale_struct, __ctype_tolower) - 112usize];
687    ["Offset of field: __locale_struct::__ctype_toupper"]
688        [::std::mem::offset_of!(__locale_struct, __ctype_toupper) - 120usize];
689    ["Offset of field: __locale_struct::__names"]
690        [::std::mem::offset_of!(__locale_struct, __names) - 128usize];
691};
692pub type __locale_t = *mut __locale_struct;
693pub type locale_t = __locale_t;
694unsafe extern "C" {
695    pub fn clock() -> clock_t;
696}
697unsafe extern "C" {
698    pub fn time(__timer: *mut time_t) -> time_t;
699}
700unsafe extern "C" {
701    pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
702}
703unsafe extern "C" {
704    pub fn mktime(__tp: *mut tm) -> time_t;
705}
706unsafe extern "C" {
707    pub fn strftime(
708        __s: *mut ::std::os::raw::c_char,
709        __maxsize: usize,
710        __format: *const ::std::os::raw::c_char,
711        __tp: *const tm,
712    ) -> usize;
713}
714unsafe extern "C" {
715    pub fn strftime_l(
716        __s: *mut ::std::os::raw::c_char,
717        __maxsize: usize,
718        __format: *const ::std::os::raw::c_char,
719        __tp: *const tm,
720        __loc: locale_t,
721    ) -> usize;
722}
723unsafe extern "C" {
724    pub fn gmtime(__timer: *const time_t) -> *mut tm;
725}
726unsafe extern "C" {
727    pub fn localtime(__timer: *const time_t) -> *mut tm;
728}
729unsafe extern "C" {
730    pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
731}
732unsafe extern "C" {
733    pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
734}
735unsafe extern "C" {
736    pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
737}
738unsafe extern "C" {
739    pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
740}
741unsafe extern "C" {
742    pub fn asctime_r(
743        __tp: *const tm,
744        __buf: *mut ::std::os::raw::c_char,
745    ) -> *mut ::std::os::raw::c_char;
746}
747unsafe extern "C" {
748    pub fn ctime_r(
749        __timer: *const time_t,
750        __buf: *mut ::std::os::raw::c_char,
751    ) -> *mut ::std::os::raw::c_char;
752}
753unsafe extern "C" {
754    pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
755}
756unsafe extern "C" {
757    pub static mut __daylight: ::std::os::raw::c_int;
758}
759unsafe extern "C" {
760    pub static mut __timezone: ::std::os::raw::c_long;
761}
762unsafe extern "C" {
763    pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
764}
765unsafe extern "C" {
766    pub fn tzset();
767}
768unsafe extern "C" {
769    pub static mut daylight: ::std::os::raw::c_int;
770}
771unsafe extern "C" {
772    pub static mut timezone: ::std::os::raw::c_long;
773}
774unsafe extern "C" {
775    pub fn timegm(__tp: *mut tm) -> time_t;
776}
777unsafe extern "C" {
778    pub fn timelocal(__tp: *mut tm) -> time_t;
779}
780unsafe extern "C" {
781    pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
782}
783unsafe extern "C" {
784    pub fn nanosleep(
785        __requested_time: *const timespec,
786        __remaining: *mut timespec,
787    ) -> ::std::os::raw::c_int;
788}
789unsafe extern "C" {
790    pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
791}
792unsafe extern "C" {
793    pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
794}
795unsafe extern "C" {
796    pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
797}
798unsafe extern "C" {
799    pub fn clock_nanosleep(
800        __clock_id: clockid_t,
801        __flags: ::std::os::raw::c_int,
802        __req: *const timespec,
803        __rem: *mut timespec,
804    ) -> ::std::os::raw::c_int;
805}
806unsafe extern "C" {
807    pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
808}
809unsafe extern "C" {
810    pub fn timer_create(
811        __clock_id: clockid_t,
812        __evp: *mut sigevent,
813        __timerid: *mut timer_t,
814    ) -> ::std::os::raw::c_int;
815}
816unsafe extern "C" {
817    pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
818}
819unsafe extern "C" {
820    pub fn timer_settime(
821        __timerid: timer_t,
822        __flags: ::std::os::raw::c_int,
823        __value: *const itimerspec,
824        __ovalue: *mut itimerspec,
825    ) -> ::std::os::raw::c_int;
826}
827unsafe extern "C" {
828    pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
829}
830unsafe extern "C" {
831    pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
832}
833unsafe extern "C" {
834    pub fn timespec_get(
835        __ts: *mut timespec,
836        __base: ::std::os::raw::c_int,
837    ) -> ::std::os::raw::c_int;
838}
839#[repr(C)]
840#[derive(Debug, Copy, Clone)]
841pub struct mpd_directory {
842    _unused: [u8; 0],
843}
844unsafe extern "C" {
845    pub fn mpd_directory_dup(directory: *const mpd_directory) -> *mut mpd_directory;
846}
847unsafe extern "C" {
848    pub fn mpd_directory_free(directory: *mut mpd_directory);
849}
850unsafe extern "C" {
851    pub fn mpd_directory_get_path(directory: *const mpd_directory)
852        -> *const ::std::os::raw::c_char;
853}
854unsafe extern "C" {
855    pub fn mpd_directory_get_last_modified(directory: *const mpd_directory) -> time_t;
856}
857unsafe extern "C" {
858    pub fn mpd_directory_begin(pair: *const mpd_pair) -> *mut mpd_directory;
859}
860unsafe extern "C" {
861    pub fn mpd_directory_feed(directory: *mut mpd_directory, pair: *const mpd_pair) -> bool;
862}
863unsafe extern "C" {
864    pub fn mpd_recv_directory(connection: *mut mpd_connection) -> *mut mpd_directory;
865}
866#[repr(C)]
867#[derive(Debug, Copy, Clone)]
868pub struct mpd_song {
869    _unused: [u8; 0],
870}
871unsafe extern "C" {
872    pub fn mpd_song_free(song: *mut mpd_song);
873}
874unsafe extern "C" {
875    pub fn mpd_song_dup(song: *const mpd_song) -> *mut mpd_song;
876}
877unsafe extern "C" {
878    pub fn mpd_song_get_uri(song: *const mpd_song) -> *const ::std::os::raw::c_char;
879}
880unsafe extern "C" {
881    pub fn mpd_song_get_tag(
882        song: *const mpd_song,
883        type_: mpd_tag_type,
884        idx: ::std::os::raw::c_uint,
885    ) -> *const ::std::os::raw::c_char;
886}
887unsafe extern "C" {
888    pub fn mpd_song_get_duration(song: *const mpd_song) -> ::std::os::raw::c_uint;
889}
890unsafe extern "C" {
891    pub fn mpd_song_get_duration_ms(song: *const mpd_song) -> ::std::os::raw::c_uint;
892}
893unsafe extern "C" {
894    pub fn mpd_song_get_start(song: *const mpd_song) -> ::std::os::raw::c_uint;
895}
896unsafe extern "C" {
897    pub fn mpd_song_get_end(song: *const mpd_song) -> ::std::os::raw::c_uint;
898}
899unsafe extern "C" {
900    pub fn mpd_song_get_last_modified(song: *const mpd_song) -> time_t;
901}
902unsafe extern "C" {
903    pub fn mpd_song_get_added(song: *const mpd_song) -> time_t;
904}
905unsafe extern "C" {
906    pub fn mpd_song_set_pos(song: *mut mpd_song, pos: ::std::os::raw::c_uint);
907}
908unsafe extern "C" {
909    pub fn mpd_song_get_pos(song: *const mpd_song) -> ::std::os::raw::c_uint;
910}
911unsafe extern "C" {
912    pub fn mpd_song_get_id(song: *const mpd_song) -> ::std::os::raw::c_uint;
913}
914unsafe extern "C" {
915    pub fn mpd_song_get_prio(song: *const mpd_song) -> ::std::os::raw::c_uint;
916}
917unsafe extern "C" {
918    pub fn mpd_song_get_audio_format(song: *const mpd_song) -> *const mpd_audio_format;
919}
920unsafe extern "C" {
921    pub fn mpd_song_begin(pair: *const mpd_pair) -> *mut mpd_song;
922}
923unsafe extern "C" {
924    pub fn mpd_song_feed(song: *mut mpd_song, pair: *const mpd_pair) -> bool;
925}
926unsafe extern "C" {
927    pub fn mpd_recv_song(connection: *mut mpd_connection) -> *mut mpd_song;
928}
929pub const mpd_entity_type_MPD_ENTITY_TYPE_UNKNOWN: mpd_entity_type = 0;
930pub const mpd_entity_type_MPD_ENTITY_TYPE_DIRECTORY: mpd_entity_type = 1;
931pub const mpd_entity_type_MPD_ENTITY_TYPE_SONG: mpd_entity_type = 2;
932pub const mpd_entity_type_MPD_ENTITY_TYPE_PLAYLIST: mpd_entity_type = 3;
933pub type mpd_entity_type = ::std::os::raw::c_uint;
934#[repr(C)]
935#[derive(Debug, Copy, Clone)]
936pub struct mpd_entity {
937    _unused: [u8; 0],
938}
939unsafe extern "C" {
940    pub fn mpd_entity_free(entity: *mut mpd_entity);
941}
942unsafe extern "C" {
943    pub fn mpd_entity_get_type(entity: *const mpd_entity) -> mpd_entity_type;
944}
945unsafe extern "C" {
946    pub fn mpd_entity_get_directory(entity: *const mpd_entity) -> *const mpd_directory;
947}
948unsafe extern "C" {
949    pub fn mpd_entity_get_song(entity: *const mpd_entity) -> *const mpd_song;
950}
951#[repr(C)]
952#[derive(Debug, Copy, Clone)]
953pub struct mpd_playlist {
954    _unused: [u8; 0],
955}
956unsafe extern "C" {
957    pub fn mpd_entity_get_playlist(entity: *const mpd_entity) -> *const mpd_playlist;
958}
959unsafe extern "C" {
960    pub fn mpd_entity_begin(pair: *const mpd_pair) -> *mut mpd_entity;
961}
962unsafe extern "C" {
963    pub fn mpd_entity_feed(entity: *mut mpd_entity, pair: *const mpd_pair) -> bool;
964}
965unsafe extern "C" {
966    pub fn mpd_recv_entity(connection: *mut mpd_connection) -> *mut mpd_entity;
967}
968pub const mpd_fingerprint_type_MPD_FINGERPRINT_TYPE_UNKNOWN: mpd_fingerprint_type = 0;
969pub const mpd_fingerprint_type_MPD_FINGERPRINT_TYPE_CHROMAPRINT: mpd_fingerprint_type = 1;
970pub type mpd_fingerprint_type = ::std::os::raw::c_uint;
971unsafe extern "C" {
972    pub fn mpd_parse_fingerprint_type(name: *const ::std::os::raw::c_char) -> mpd_fingerprint_type;
973}
974unsafe extern "C" {
975    pub fn mpd_send_getfingerprint(
976        connection: *mut mpd_connection,
977        uri: *const ::std::os::raw::c_char,
978    ) -> bool;
979}
980unsafe extern "C" {
981    pub fn mpd_run_getfingerprint_chromaprint(
982        connection: *mut mpd_connection,
983        uri: *const ::std::os::raw::c_char,
984        buffer: *mut ::std::os::raw::c_char,
985        buffer_size: usize,
986    ) -> *const ::std::os::raw::c_char;
987}
988pub const mpd_idle_MPD_IDLE_DATABASE: mpd_idle = 1;
989pub const mpd_idle_MPD_IDLE_STORED_PLAYLIST: mpd_idle = 2;
990pub const mpd_idle_MPD_IDLE_QUEUE: mpd_idle = 4;
991pub const mpd_idle_MPD_IDLE_PLAYLIST: mpd_idle = 4;
992pub const mpd_idle_MPD_IDLE_PLAYER: mpd_idle = 8;
993pub const mpd_idle_MPD_IDLE_MIXER: mpd_idle = 16;
994pub const mpd_idle_MPD_IDLE_OUTPUT: mpd_idle = 32;
995pub const mpd_idle_MPD_IDLE_OPTIONS: mpd_idle = 64;
996pub const mpd_idle_MPD_IDLE_UPDATE: mpd_idle = 128;
997pub const mpd_idle_MPD_IDLE_STICKER: mpd_idle = 256;
998pub const mpd_idle_MPD_IDLE_SUBSCRIPTION: mpd_idle = 512;
999pub const mpd_idle_MPD_IDLE_MESSAGE: mpd_idle = 1024;
1000pub const mpd_idle_MPD_IDLE_PARTITION: mpd_idle = 2048;
1001pub const mpd_idle_MPD_IDLE_NEIGHBOR: mpd_idle = 4096;
1002pub const mpd_idle_MPD_IDLE_MOUNT: mpd_idle = 8192;
1003pub type mpd_idle = ::std::os::raw::c_uint;
1004unsafe extern "C" {
1005    pub fn mpd_idle_name(idle: mpd_idle) -> *const ::std::os::raw::c_char;
1006}
1007unsafe extern "C" {
1008    pub fn mpd_idle_name_parse(name: *const ::std::os::raw::c_char) -> mpd_idle;
1009}
1010unsafe extern "C" {
1011    pub fn mpd_send_idle(connection: *mut mpd_connection) -> bool;
1012}
1013unsafe extern "C" {
1014    pub fn mpd_send_idle_mask(connection: *mut mpd_connection, mask: mpd_idle) -> bool;
1015}
1016unsafe extern "C" {
1017    pub fn mpd_send_noidle(connection: *mut mpd_connection) -> bool;
1018}
1019unsafe extern "C" {
1020    pub fn mpd_idle_parse_pair(pair: *const mpd_pair) -> mpd_idle;
1021}
1022unsafe extern "C" {
1023    pub fn mpd_recv_idle(connection: *mut mpd_connection, disable_timeout: bool) -> mpd_idle;
1024}
1025unsafe extern "C" {
1026    pub fn mpd_run_idle(connection: *mut mpd_connection) -> mpd_idle;
1027}
1028unsafe extern "C" {
1029    pub fn mpd_run_idle_mask(connection: *mut mpd_connection, mask: mpd_idle) -> mpd_idle;
1030}
1031unsafe extern "C" {
1032    pub fn mpd_run_noidle(connection: *mut mpd_connection) -> mpd_idle;
1033}
1034unsafe extern "C" {
1035    pub fn mpd_command_list_begin(connection: *mut mpd_connection, discrete_ok: bool) -> bool;
1036}
1037unsafe extern "C" {
1038    pub fn mpd_command_list_end(connection: *mut mpd_connection) -> bool;
1039}
1040#[repr(C)]
1041#[derive(Debug, Copy, Clone)]
1042pub struct mpd_message {
1043    _unused: [u8; 0],
1044}
1045unsafe extern "C" {
1046    pub fn mpd_message_begin(pair: *const mpd_pair) -> *mut mpd_message;
1047}
1048unsafe extern "C" {
1049    pub fn mpd_message_feed(output: *mut mpd_message, pair: *const mpd_pair) -> bool;
1050}
1051unsafe extern "C" {
1052    pub fn mpd_message_free(message: *mut mpd_message);
1053}
1054unsafe extern "C" {
1055    pub fn mpd_message_get_channel(message: *const mpd_message) -> *const ::std::os::raw::c_char;
1056}
1057unsafe extern "C" {
1058    pub fn mpd_message_get_text(message: *const mpd_message) -> *const ::std::os::raw::c_char;
1059}
1060unsafe extern "C" {
1061    pub fn mpd_send_subscribe(
1062        connection: *mut mpd_connection,
1063        channel: *const ::std::os::raw::c_char,
1064    ) -> bool;
1065}
1066unsafe extern "C" {
1067    pub fn mpd_run_subscribe(
1068        connection: *mut mpd_connection,
1069        channel: *const ::std::os::raw::c_char,
1070    ) -> bool;
1071}
1072unsafe extern "C" {
1073    pub fn mpd_send_unsubscribe(
1074        connection: *mut mpd_connection,
1075        channel: *const ::std::os::raw::c_char,
1076    ) -> bool;
1077}
1078unsafe extern "C" {
1079    pub fn mpd_run_unsubscribe(
1080        connection: *mut mpd_connection,
1081        channel: *const ::std::os::raw::c_char,
1082    ) -> bool;
1083}
1084unsafe extern "C" {
1085    pub fn mpd_send_send_message(
1086        connection: *mut mpd_connection,
1087        channel: *const ::std::os::raw::c_char,
1088        text: *const ::std::os::raw::c_char,
1089    ) -> bool;
1090}
1091unsafe extern "C" {
1092    pub fn mpd_run_send_message(
1093        connection: *mut mpd_connection,
1094        channel: *const ::std::os::raw::c_char,
1095        text: *const ::std::os::raw::c_char,
1096    ) -> bool;
1097}
1098unsafe extern "C" {
1099    pub fn mpd_send_read_messages(connection: *mut mpd_connection) -> bool;
1100}
1101unsafe extern "C" {
1102    pub fn mpd_recv_message(connection: *mut mpd_connection) -> *mut mpd_message;
1103}
1104unsafe extern "C" {
1105    pub fn mpd_send_channels(connection: *mut mpd_connection) -> bool;
1106}
1107unsafe extern "C" {
1108    pub fn mpd_send_set_volume(
1109        connection: *mut mpd_connection,
1110        volume: ::std::os::raw::c_uint,
1111    ) -> bool;
1112}
1113unsafe extern "C" {
1114    pub fn mpd_run_set_volume(
1115        connection: *mut mpd_connection,
1116        volume: ::std::os::raw::c_uint,
1117    ) -> bool;
1118}
1119unsafe extern "C" {
1120    pub fn mpd_send_change_volume(
1121        connection: *mut mpd_connection,
1122        relative_volume: ::std::os::raw::c_int,
1123    ) -> bool;
1124}
1125unsafe extern "C" {
1126    pub fn mpd_run_change_volume(
1127        connection: *mut mpd_connection,
1128        relative_volume: ::std::os::raw::c_int,
1129    ) -> bool;
1130}
1131unsafe extern "C" {
1132    pub fn mpd_send_get_volume(connection: *mut mpd_connection) -> bool;
1133}
1134unsafe extern "C" {
1135    pub fn mpd_run_get_volume(connection: *mut mpd_connection) -> ::std::os::raw::c_int;
1136}
1137#[repr(C)]
1138#[derive(Debug, Copy, Clone)]
1139pub struct mpd_mount {
1140    _unused: [u8; 0],
1141}
1142unsafe extern "C" {
1143    pub fn mpd_mount_begin(pair: *const mpd_pair) -> *mut mpd_mount;
1144}
1145unsafe extern "C" {
1146    pub fn mpd_mount_feed(mnt: *mut mpd_mount, pair: *const mpd_pair) -> bool;
1147}
1148unsafe extern "C" {
1149    pub fn mpd_mount_free(mount: *mut mpd_mount);
1150}
1151unsafe extern "C" {
1152    pub fn mpd_mount_get_uri(mnt: *const mpd_mount) -> *const ::std::os::raw::c_char;
1153}
1154unsafe extern "C" {
1155    pub fn mpd_mount_get_storage(mnt: *const mpd_mount) -> *const ::std::os::raw::c_char;
1156}
1157unsafe extern "C" {
1158    pub fn mpd_send_list_mounts(connection: *mut mpd_connection) -> bool;
1159}
1160unsafe extern "C" {
1161    pub fn mpd_recv_mount(connection: *mut mpd_connection) -> *mut mpd_mount;
1162}
1163unsafe extern "C" {
1164    pub fn mpd_send_mount(
1165        connection: *mut mpd_connection,
1166        uri: *const ::std::os::raw::c_char,
1167        storage: *const ::std::os::raw::c_char,
1168    ) -> bool;
1169}
1170unsafe extern "C" {
1171    pub fn mpd_run_mount(
1172        connection: *mut mpd_connection,
1173        uri: *const ::std::os::raw::c_char,
1174        storage: *const ::std::os::raw::c_char,
1175    ) -> bool;
1176}
1177unsafe extern "C" {
1178    pub fn mpd_send_unmount(
1179        connection: *mut mpd_connection,
1180        uri: *const ::std::os::raw::c_char,
1181    ) -> bool;
1182}
1183unsafe extern "C" {
1184    pub fn mpd_run_unmount(
1185        connection: *mut mpd_connection,
1186        uri: *const ::std::os::raw::c_char,
1187    ) -> bool;
1188}
1189#[repr(C)]
1190#[derive(Debug, Copy, Clone)]
1191pub struct mpd_neighbor {
1192    _unused: [u8; 0],
1193}
1194unsafe extern "C" {
1195    pub fn mpd_neighbor_begin(pair: *const mpd_pair) -> *mut mpd_neighbor;
1196}
1197unsafe extern "C" {
1198    pub fn mpd_neighbor_feed(neighbor: *mut mpd_neighbor, pair: *const mpd_pair) -> bool;
1199}
1200unsafe extern "C" {
1201    pub fn mpd_neighbor_free(neighbor: *mut mpd_neighbor);
1202}
1203unsafe extern "C" {
1204    pub fn mpd_neighbor_get_uri(neighbor: *const mpd_neighbor) -> *const ::std::os::raw::c_char;
1205}
1206unsafe extern "C" {
1207    pub fn mpd_neighbor_get_display_name(
1208        neighbor: *const mpd_neighbor,
1209    ) -> *const ::std::os::raw::c_char;
1210}
1211unsafe extern "C" {
1212    pub fn mpd_send_list_neighbors(connection: *mut mpd_connection) -> bool;
1213}
1214unsafe extern "C" {
1215    pub fn mpd_recv_neighbor(connection: *mut mpd_connection) -> *mut mpd_neighbor;
1216}
1217#[repr(C)]
1218#[derive(Debug, Copy, Clone)]
1219pub struct mpd_output {
1220    _unused: [u8; 0],
1221}
1222unsafe extern "C" {
1223    pub fn mpd_output_begin(pair: *const mpd_pair) -> *mut mpd_output;
1224}
1225unsafe extern "C" {
1226    pub fn mpd_output_feed(output: *mut mpd_output, pair: *const mpd_pair) -> bool;
1227}
1228unsafe extern "C" {
1229    pub fn mpd_output_free(output: *mut mpd_output);
1230}
1231unsafe extern "C" {
1232    pub fn mpd_output_get_id(output: *const mpd_output) -> ::std::os::raw::c_uint;
1233}
1234unsafe extern "C" {
1235    pub fn mpd_output_get_name(output: *const mpd_output) -> *const ::std::os::raw::c_char;
1236}
1237unsafe extern "C" {
1238    pub fn mpd_output_get_plugin(output: *const mpd_output) -> *const ::std::os::raw::c_char;
1239}
1240unsafe extern "C" {
1241    pub fn mpd_output_get_enabled(output: *const mpd_output) -> bool;
1242}
1243unsafe extern "C" {
1244    pub fn mpd_output_get_attribute(
1245        output: *const mpd_output,
1246        name: *const ::std::os::raw::c_char,
1247    ) -> *const ::std::os::raw::c_char;
1248}
1249unsafe extern "C" {
1250    pub fn mpd_output_first_attribute(output: *mut mpd_output) -> *const mpd_pair;
1251}
1252unsafe extern "C" {
1253    pub fn mpd_output_next_attribute(output: *mut mpd_output) -> *const mpd_pair;
1254}
1255unsafe extern "C" {
1256    pub fn mpd_send_outputs(connection: *mut mpd_connection) -> bool;
1257}
1258unsafe extern "C" {
1259    pub fn mpd_recv_output(connection: *mut mpd_connection) -> *mut mpd_output;
1260}
1261unsafe extern "C" {
1262    pub fn mpd_send_enable_output(
1263        connection: *mut mpd_connection,
1264        output_id: ::std::os::raw::c_uint,
1265    ) -> bool;
1266}
1267unsafe extern "C" {
1268    pub fn mpd_run_enable_output(
1269        connection: *mut mpd_connection,
1270        output_id: ::std::os::raw::c_uint,
1271    ) -> bool;
1272}
1273unsafe extern "C" {
1274    pub fn mpd_send_disable_output(
1275        connection: *mut mpd_connection,
1276        output_id: ::std::os::raw::c_uint,
1277    ) -> bool;
1278}
1279unsafe extern "C" {
1280    pub fn mpd_run_disable_output(
1281        connection: *mut mpd_connection,
1282        output_id: ::std::os::raw::c_uint,
1283    ) -> bool;
1284}
1285unsafe extern "C" {
1286    pub fn mpd_send_toggle_output(
1287        connection: *mut mpd_connection,
1288        output_id: ::std::os::raw::c_uint,
1289    ) -> bool;
1290}
1291unsafe extern "C" {
1292    pub fn mpd_run_toggle_output(
1293        connection: *mut mpd_connection,
1294        output_id: ::std::os::raw::c_uint,
1295    ) -> bool;
1296}
1297unsafe extern "C" {
1298    pub fn mpd_send_output_set(
1299        connection: *mut mpd_connection,
1300        output_id: ::std::os::raw::c_uint,
1301        attribute_name: *const ::std::os::raw::c_char,
1302        attribute_value: *const ::std::os::raw::c_char,
1303    ) -> bool;
1304}
1305unsafe extern "C" {
1306    pub fn mpd_run_output_set(
1307        connection: *mut mpd_connection,
1308        output_id: ::std::os::raw::c_uint,
1309        attribute_name: *const ::std::os::raw::c_char,
1310        attribute_value: *const ::std::os::raw::c_char,
1311    ) -> bool;
1312}
1313unsafe extern "C" {
1314    pub fn mpd_send_move_output(
1315        connection: *mut mpd_connection,
1316        output_name: *const ::std::os::raw::c_char,
1317    ) -> bool;
1318}
1319unsafe extern "C" {
1320    pub fn mpd_run_move_output(
1321        connection: *mut mpd_connection,
1322        output_name: *const ::std::os::raw::c_char,
1323    ) -> bool;
1324}
1325#[repr(C)]
1326#[derive(Debug, Copy, Clone)]
1327pub struct mpd_pair {
1328    pub name: *const ::std::os::raw::c_char,
1329    pub value: *const ::std::os::raw::c_char,
1330}
1331#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1332const _: () = {
1333    ["Size of mpd_pair"][::std::mem::size_of::<mpd_pair>() - 16usize];
1334    ["Alignment of mpd_pair"][::std::mem::align_of::<mpd_pair>() - 8usize];
1335    ["Offset of field: mpd_pair::name"][::std::mem::offset_of!(mpd_pair, name) - 0usize];
1336    ["Offset of field: mpd_pair::value"][::std::mem::offset_of!(mpd_pair, value) - 8usize];
1337};
1338#[repr(C)]
1339#[derive(Debug, Copy, Clone)]
1340pub struct mpd_partition {
1341    _unused: [u8; 0],
1342}
1343unsafe extern "C" {
1344    pub fn mpd_partition_new(pair: *const mpd_pair) -> *mut mpd_partition;
1345}
1346unsafe extern "C" {
1347    pub fn mpd_partition_free(partition: *mut mpd_partition);
1348}
1349unsafe extern "C" {
1350    pub fn mpd_partition_get_name(partition: *const mpd_partition)
1351        -> *const ::std::os::raw::c_char;
1352}
1353unsafe extern "C" {
1354    pub fn mpd_send_newpartition(
1355        connection: *mut mpd_connection,
1356        partition: *const ::std::os::raw::c_char,
1357    ) -> bool;
1358}
1359unsafe extern "C" {
1360    pub fn mpd_run_newpartition(
1361        connection: *mut mpd_connection,
1362        partition: *const ::std::os::raw::c_char,
1363    ) -> bool;
1364}
1365unsafe extern "C" {
1366    pub fn mpd_send_delete_partition(
1367        connection: *mut mpd_connection,
1368        partition: *const ::std::os::raw::c_char,
1369    ) -> bool;
1370}
1371unsafe extern "C" {
1372    pub fn mpd_run_delete_partition(
1373        connection: *mut mpd_connection,
1374        partition: *const ::std::os::raw::c_char,
1375    ) -> bool;
1376}
1377unsafe extern "C" {
1378    pub fn mpd_send_switch_partition(
1379        connection: *mut mpd_connection,
1380        partition: *const ::std::os::raw::c_char,
1381    ) -> bool;
1382}
1383unsafe extern "C" {
1384    pub fn mpd_run_switch_partition(
1385        connection: *mut mpd_connection,
1386        partition: *const ::std::os::raw::c_char,
1387    ) -> bool;
1388}
1389unsafe extern "C" {
1390    pub fn mpd_send_listpartitions(connection: *mut mpd_connection) -> bool;
1391}
1392unsafe extern "C" {
1393    pub fn mpd_recv_partition(connection: *mut mpd_connection) -> *mut mpd_partition;
1394}
1395unsafe extern "C" {
1396    pub fn mpd_send_password(
1397        connection: *mut mpd_connection,
1398        password: *const ::std::os::raw::c_char,
1399    ) -> bool;
1400}
1401unsafe extern "C" {
1402    pub fn mpd_run_password(
1403        connection: *mut mpd_connection,
1404        password: *const ::std::os::raw::c_char,
1405    ) -> bool;
1406}
1407pub const mpd_state_MPD_STATE_UNKNOWN: mpd_state = 0;
1408pub const mpd_state_MPD_STATE_STOP: mpd_state = 1;
1409pub const mpd_state_MPD_STATE_PLAY: mpd_state = 2;
1410pub const mpd_state_MPD_STATE_PAUSE: mpd_state = 3;
1411pub type mpd_state = ::std::os::raw::c_uint;
1412pub const mpd_single_state_MPD_SINGLE_OFF: mpd_single_state = 0;
1413pub const mpd_single_state_MPD_SINGLE_ON: mpd_single_state = 1;
1414pub const mpd_single_state_MPD_SINGLE_ONESHOT: mpd_single_state = 2;
1415pub const mpd_single_state_MPD_SINGLE_UNKNOWN: mpd_single_state = 3;
1416pub type mpd_single_state = ::std::os::raw::c_uint;
1417pub const mpd_consume_state_MPD_CONSUME_OFF: mpd_consume_state = 0;
1418pub const mpd_consume_state_MPD_CONSUME_ON: mpd_consume_state = 1;
1419pub const mpd_consume_state_MPD_CONSUME_ONESHOT: mpd_consume_state = 2;
1420pub const mpd_consume_state_MPD_CONSUME_UNKNOWN: mpd_consume_state = 3;
1421pub type mpd_consume_state = ::std::os::raw::c_uint;
1422#[repr(C)]
1423#[derive(Debug, Copy, Clone)]
1424pub struct mpd_status {
1425    _unused: [u8; 0],
1426}
1427unsafe extern "C" {
1428    pub fn mpd_status_begin() -> *mut mpd_status;
1429}
1430unsafe extern "C" {
1431    pub fn mpd_status_feed(status: *mut mpd_status, pair: *const mpd_pair);
1432}
1433unsafe extern "C" {
1434    pub fn mpd_send_status(connection: *mut mpd_connection) -> bool;
1435}
1436unsafe extern "C" {
1437    pub fn mpd_recv_status(connection: *mut mpd_connection) -> *mut mpd_status;
1438}
1439unsafe extern "C" {
1440    pub fn mpd_run_status(connection: *mut mpd_connection) -> *mut mpd_status;
1441}
1442unsafe extern "C" {
1443    pub fn mpd_status_free(status: *mut mpd_status);
1444}
1445unsafe extern "C" {
1446    pub fn mpd_status_get_volume(status: *const mpd_status) -> ::std::os::raw::c_int;
1447}
1448unsafe extern "C" {
1449    pub fn mpd_status_get_repeat(status: *const mpd_status) -> bool;
1450}
1451unsafe extern "C" {
1452    pub fn mpd_status_get_random(status: *const mpd_status) -> bool;
1453}
1454unsafe extern "C" {
1455    pub fn mpd_status_get_single_state(status: *const mpd_status) -> mpd_single_state;
1456}
1457unsafe extern "C" {
1458    pub fn mpd_lookup_single_state(state: mpd_single_state) -> *const ::std::os::raw::c_char;
1459}
1460unsafe extern "C" {
1461    pub fn mpd_parse_single_state(p: *const ::std::os::raw::c_char) -> mpd_single_state;
1462}
1463unsafe extern "C" {
1464    pub fn mpd_status_get_single(status: *const mpd_status) -> bool;
1465}
1466unsafe extern "C" {
1467    pub fn mpd_status_get_consume_state(status: *const mpd_status) -> mpd_consume_state;
1468}
1469unsafe extern "C" {
1470    pub fn mpd_lookup_consume_state(state: mpd_consume_state) -> *const ::std::os::raw::c_char;
1471}
1472unsafe extern "C" {
1473    pub fn mpd_parse_consume_state(p: *const ::std::os::raw::c_char) -> mpd_consume_state;
1474}
1475unsafe extern "C" {
1476    pub fn mpd_status_get_consume(status: *const mpd_status) -> bool;
1477}
1478unsafe extern "C" {
1479    pub fn mpd_status_get_queue_length(status: *const mpd_status) -> ::std::os::raw::c_uint;
1480}
1481unsafe extern "C" {
1482    pub fn mpd_status_get_queue_version(status: *const mpd_status) -> ::std::os::raw::c_uint;
1483}
1484unsafe extern "C" {
1485    pub fn mpd_status_get_state(status: *const mpd_status) -> mpd_state;
1486}
1487unsafe extern "C" {
1488    pub fn mpd_status_get_crossfade(status: *const mpd_status) -> ::std::os::raw::c_uint;
1489}
1490unsafe extern "C" {
1491    pub fn mpd_status_get_mixrampdb(status: *const mpd_status) -> f32;
1492}
1493unsafe extern "C" {
1494    pub fn mpd_status_get_mixrampdelay(status: *const mpd_status) -> f32;
1495}
1496unsafe extern "C" {
1497    pub fn mpd_status_get_song_pos(status: *const mpd_status) -> ::std::os::raw::c_int;
1498}
1499unsafe extern "C" {
1500    pub fn mpd_status_get_song_id(status: *const mpd_status) -> ::std::os::raw::c_int;
1501}
1502unsafe extern "C" {
1503    pub fn mpd_status_get_next_song_pos(status: *const mpd_status) -> ::std::os::raw::c_int;
1504}
1505unsafe extern "C" {
1506    pub fn mpd_status_get_next_song_id(status: *const mpd_status) -> ::std::os::raw::c_int;
1507}
1508unsafe extern "C" {
1509    pub fn mpd_status_get_elapsed_time(status: *const mpd_status) -> ::std::os::raw::c_uint;
1510}
1511unsafe extern "C" {
1512    pub fn mpd_status_get_elapsed_ms(status: *const mpd_status) -> ::std::os::raw::c_uint;
1513}
1514unsafe extern "C" {
1515    pub fn mpd_status_get_total_time(status: *const mpd_status) -> ::std::os::raw::c_uint;
1516}
1517unsafe extern "C" {
1518    pub fn mpd_status_get_kbit_rate(status: *const mpd_status) -> ::std::os::raw::c_uint;
1519}
1520unsafe extern "C" {
1521    pub fn mpd_status_get_audio_format(status: *const mpd_status) -> *const mpd_audio_format;
1522}
1523unsafe extern "C" {
1524    pub fn mpd_status_get_update_id(status: *const mpd_status) -> ::std::os::raw::c_uint;
1525}
1526unsafe extern "C" {
1527    pub fn mpd_status_get_partition(status: *const mpd_status) -> *const ::std::os::raw::c_char;
1528}
1529unsafe extern "C" {
1530    pub fn mpd_status_get_error(status: *const mpd_status) -> *const ::std::os::raw::c_char;
1531}
1532unsafe extern "C" {
1533    pub fn mpd_send_current_song(connection: *mut mpd_connection) -> bool;
1534}
1535unsafe extern "C" {
1536    pub fn mpd_run_current_song(connection: *mut mpd_connection) -> *mut mpd_song;
1537}
1538unsafe extern "C" {
1539    pub fn mpd_send_play(connection: *mut mpd_connection) -> bool;
1540}
1541unsafe extern "C" {
1542    pub fn mpd_run_play(connection: *mut mpd_connection) -> bool;
1543}
1544unsafe extern "C" {
1545    pub fn mpd_send_play_pos(
1546        connection: *mut mpd_connection,
1547        song_pos: ::std::os::raw::c_uint,
1548    ) -> bool;
1549}
1550unsafe extern "C" {
1551    pub fn mpd_run_play_pos(
1552        connection: *mut mpd_connection,
1553        song_pos: ::std::os::raw::c_uint,
1554    ) -> bool;
1555}
1556unsafe extern "C" {
1557    pub fn mpd_send_play_id(
1558        connection: *mut mpd_connection,
1559        song_id: ::std::os::raw::c_uint,
1560    ) -> bool;
1561}
1562unsafe extern "C" {
1563    pub fn mpd_run_play_id(
1564        connection: *mut mpd_connection,
1565        song_id: ::std::os::raw::c_uint,
1566    ) -> bool;
1567}
1568unsafe extern "C" {
1569    pub fn mpd_send_stop(connection: *mut mpd_connection) -> bool;
1570}
1571unsafe extern "C" {
1572    pub fn mpd_run_stop(connection: *mut mpd_connection) -> bool;
1573}
1574unsafe extern "C" {
1575    pub fn mpd_send_toggle_pause(connection: *mut mpd_connection) -> bool;
1576}
1577unsafe extern "C" {
1578    pub fn mpd_run_toggle_pause(connection: *mut mpd_connection) -> bool;
1579}
1580unsafe extern "C" {
1581    pub fn mpd_send_pause(connection: *mut mpd_connection, mode: bool) -> bool;
1582}
1583unsafe extern "C" {
1584    pub fn mpd_run_pause(connection: *mut mpd_connection, mode: bool) -> bool;
1585}
1586unsafe extern "C" {
1587    pub fn mpd_send_next(connection: *mut mpd_connection) -> bool;
1588}
1589unsafe extern "C" {
1590    pub fn mpd_run_next(connection: *mut mpd_connection) -> bool;
1591}
1592unsafe extern "C" {
1593    pub fn mpd_send_previous(connection: *mut mpd_connection) -> bool;
1594}
1595unsafe extern "C" {
1596    pub fn mpd_run_previous(connection: *mut mpd_connection) -> bool;
1597}
1598unsafe extern "C" {
1599    pub fn mpd_send_seek_pos(
1600        connection: *mut mpd_connection,
1601        song_pos: ::std::os::raw::c_uint,
1602        t: ::std::os::raw::c_uint,
1603    ) -> bool;
1604}
1605unsafe extern "C" {
1606    pub fn mpd_run_seek_pos(
1607        connection: *mut mpd_connection,
1608        song_pos: ::std::os::raw::c_uint,
1609        t: ::std::os::raw::c_uint,
1610    ) -> bool;
1611}
1612unsafe extern "C" {
1613    pub fn mpd_send_seek_id(
1614        connection: *mut mpd_connection,
1615        song_id: ::std::os::raw::c_uint,
1616        t: ::std::os::raw::c_uint,
1617    ) -> bool;
1618}
1619unsafe extern "C" {
1620    pub fn mpd_run_seek_id(
1621        connection: *mut mpd_connection,
1622        song_id: ::std::os::raw::c_uint,
1623        t: ::std::os::raw::c_uint,
1624    ) -> bool;
1625}
1626unsafe extern "C" {
1627    pub fn mpd_send_seek_id_float(
1628        connection: *mut mpd_connection,
1629        song_id: ::std::os::raw::c_uint,
1630        t: f32,
1631    ) -> bool;
1632}
1633unsafe extern "C" {
1634    pub fn mpd_run_seek_id_float(
1635        connection: *mut mpd_connection,
1636        song_id: ::std::os::raw::c_uint,
1637        t: f32,
1638    ) -> bool;
1639}
1640unsafe extern "C" {
1641    pub fn mpd_send_seek_current(connection: *mut mpd_connection, t: f32, relative: bool) -> bool;
1642}
1643unsafe extern "C" {
1644    pub fn mpd_run_seek_current(connection: *mut mpd_connection, t: f32, relative: bool) -> bool;
1645}
1646unsafe extern "C" {
1647    pub fn mpd_send_repeat(connection: *mut mpd_connection, mode: bool) -> bool;
1648}
1649unsafe extern "C" {
1650    pub fn mpd_run_repeat(connection: *mut mpd_connection, mode: bool) -> bool;
1651}
1652unsafe extern "C" {
1653    pub fn mpd_send_random(connection: *mut mpd_connection, mode: bool) -> bool;
1654}
1655unsafe extern "C" {
1656    pub fn mpd_run_random(connection: *mut mpd_connection, mode: bool) -> bool;
1657}
1658unsafe extern "C" {
1659    pub fn mpd_send_single_state(connection: *mut mpd_connection, state: mpd_single_state) -> bool;
1660}
1661unsafe extern "C" {
1662    pub fn mpd_run_single_state(connection: *mut mpd_connection, state: mpd_single_state) -> bool;
1663}
1664unsafe extern "C" {
1665    pub fn mpd_send_single(connection: *mut mpd_connection, mode: bool) -> bool;
1666}
1667unsafe extern "C" {
1668    pub fn mpd_run_single(connection: *mut mpd_connection, mode: bool) -> bool;
1669}
1670unsafe extern "C" {
1671    pub fn mpd_send_consume(connection: *mut mpd_connection, mode: bool) -> bool;
1672}
1673unsafe extern "C" {
1674    pub fn mpd_run_consume(connection: *mut mpd_connection, mode: bool) -> bool;
1675}
1676unsafe extern "C" {
1677    pub fn mpd_send_consume_state(
1678        connection: *mut mpd_connection,
1679        state: mpd_consume_state,
1680    ) -> bool;
1681}
1682unsafe extern "C" {
1683    pub fn mpd_run_consume_state(connection: *mut mpd_connection, state: mpd_consume_state)
1684        -> bool;
1685}
1686unsafe extern "C" {
1687    pub fn mpd_send_crossfade(
1688        connection: *mut mpd_connection,
1689        seconds: ::std::os::raw::c_uint,
1690    ) -> bool;
1691}
1692unsafe extern "C" {
1693    pub fn mpd_run_crossfade(
1694        connection: *mut mpd_connection,
1695        seconds: ::std::os::raw::c_uint,
1696    ) -> bool;
1697}
1698unsafe extern "C" {
1699    pub fn mpd_send_mixrampdb(connection: *mut mpd_connection, db: f32) -> bool;
1700}
1701unsafe extern "C" {
1702    pub fn mpd_run_mixrampdb(connection: *mut mpd_connection, db: f32) -> bool;
1703}
1704unsafe extern "C" {
1705    pub fn mpd_send_mixrampdelay(connection: *mut mpd_connection, seconds: f32) -> bool;
1706}
1707unsafe extern "C" {
1708    pub fn mpd_run_mixrampdelay(connection: *mut mpd_connection, seconds: f32) -> bool;
1709}
1710unsafe extern "C" {
1711    pub fn mpd_send_clearerror(connection: *mut mpd_connection) -> bool;
1712}
1713unsafe extern "C" {
1714    pub fn mpd_run_clearerror(connection: *mut mpd_connection) -> bool;
1715}
1716pub const mpd_position_whence_MPD_POSITION_ABSOLUTE: mpd_position_whence = 0;
1717pub const mpd_position_whence_MPD_POSITION_AFTER_CURRENT: mpd_position_whence = 1;
1718pub const mpd_position_whence_MPD_POSITION_BEFORE_CURRENT: mpd_position_whence = 2;
1719pub type mpd_position_whence = ::std::os::raw::c_uint;
1720unsafe extern "C" {
1721    pub fn mpd_position_whence_char(whence: mpd_position_whence) -> *const ::std::os::raw::c_char;
1722}
1723pub const mpd_queue_save_mode_MPD_QUEUE_SAVE_MODE_CREATE: mpd_queue_save_mode = 0;
1724pub const mpd_queue_save_mode_MPD_QUEUE_SAVE_MODE_REPLACE: mpd_queue_save_mode = 1;
1725pub const mpd_queue_save_mode_MPD_QUEUE_SAVE_MODE_APPEND: mpd_queue_save_mode = 2;
1726pub const mpd_queue_save_mode_MPD_QUEUE_SAVE_MODE_UNKNOWN: mpd_queue_save_mode = 3;
1727pub type mpd_queue_save_mode = ::std::os::raw::c_uint;
1728unsafe extern "C" {
1729    pub fn mpd_playlist_free(playlist: *mut mpd_playlist);
1730}
1731unsafe extern "C" {
1732    pub fn mpd_playlist_dup(playlist: *const mpd_playlist) -> *mut mpd_playlist;
1733}
1734unsafe extern "C" {
1735    pub fn mpd_playlist_get_path(playlist: *const mpd_playlist) -> *const ::std::os::raw::c_char;
1736}
1737unsafe extern "C" {
1738    pub fn mpd_playlist_get_last_modified(playlist: *const mpd_playlist) -> time_t;
1739}
1740unsafe extern "C" {
1741    pub fn mpd_playlist_begin(pair: *const mpd_pair) -> *mut mpd_playlist;
1742}
1743unsafe extern "C" {
1744    pub fn mpd_playlist_feed(playlist: *mut mpd_playlist, pair: *const mpd_pair) -> bool;
1745}
1746unsafe extern "C" {
1747    pub fn mpd_send_list_playlists(connection: *mut mpd_connection) -> bool;
1748}
1749unsafe extern "C" {
1750    pub fn mpd_recv_playlist(connection: *mut mpd_connection) -> *mut mpd_playlist;
1751}
1752unsafe extern "C" {
1753    pub fn mpd_send_list_playlist(
1754        connection: *mut mpd_connection,
1755        name: *const ::std::os::raw::c_char,
1756    ) -> bool;
1757}
1758unsafe extern "C" {
1759    pub fn mpd_send_list_playlist_meta(
1760        connection: *mut mpd_connection,
1761        name: *const ::std::os::raw::c_char,
1762    ) -> bool;
1763}
1764unsafe extern "C" {
1765    pub fn mpd_send_playlist_clear(
1766        connection: *mut mpd_connection,
1767        name: *const ::std::os::raw::c_char,
1768    ) -> bool;
1769}
1770unsafe extern "C" {
1771    pub fn mpd_run_playlist_clear(
1772        connection: *mut mpd_connection,
1773        name: *const ::std::os::raw::c_char,
1774    ) -> bool;
1775}
1776unsafe extern "C" {
1777    pub fn mpd_send_playlist_add(
1778        connection: *mut mpd_connection,
1779        name: *const ::std::os::raw::c_char,
1780        path: *const ::std::os::raw::c_char,
1781    ) -> bool;
1782}
1783unsafe extern "C" {
1784    pub fn mpd_run_playlist_add(
1785        connection: *mut mpd_connection,
1786        name: *const ::std::os::raw::c_char,
1787        path: *const ::std::os::raw::c_char,
1788    ) -> bool;
1789}
1790unsafe extern "C" {
1791    pub fn mpd_send_playlist_add_to(
1792        connection: *mut mpd_connection,
1793        name: *const ::std::os::raw::c_char,
1794        uri: *const ::std::os::raw::c_char,
1795        to: ::std::os::raw::c_uint,
1796    ) -> bool;
1797}
1798unsafe extern "C" {
1799    pub fn mpd_run_playlist_add_to(
1800        connection: *mut mpd_connection,
1801        name: *const ::std::os::raw::c_char,
1802        uri: *const ::std::os::raw::c_char,
1803        to: ::std::os::raw::c_uint,
1804    ) -> bool;
1805}
1806unsafe extern "C" {
1807    pub fn mpd_send_playlist_move(
1808        connection: *mut mpd_connection,
1809        name: *const ::std::os::raw::c_char,
1810        from: ::std::os::raw::c_uint,
1811        to: ::std::os::raw::c_uint,
1812    ) -> bool;
1813}
1814unsafe extern "C" {
1815    pub fn mpd_run_playlist_move(
1816        connection: *mut mpd_connection,
1817        name: *const ::std::os::raw::c_char,
1818        from: ::std::os::raw::c_uint,
1819        to: ::std::os::raw::c_uint,
1820    ) -> bool;
1821}
1822unsafe extern "C" {
1823    pub fn mpd_send_playlist_move_range(
1824        connection: *mut mpd_connection,
1825        name: *const ::std::os::raw::c_char,
1826        start: ::std::os::raw::c_uint,
1827        end: ::std::os::raw::c_uint,
1828        to: ::std::os::raw::c_uint,
1829    ) -> bool;
1830}
1831unsafe extern "C" {
1832    pub fn mpd_run_playlist_move_range(
1833        connection: *mut mpd_connection,
1834        name: *const ::std::os::raw::c_char,
1835        start: ::std::os::raw::c_uint,
1836        end: ::std::os::raw::c_uint,
1837        to: ::std::os::raw::c_uint,
1838    ) -> bool;
1839}
1840unsafe extern "C" {
1841    pub fn mpd_send_playlist_delete(
1842        connection: *mut mpd_connection,
1843        name: *const ::std::os::raw::c_char,
1844        pos: ::std::os::raw::c_uint,
1845    ) -> bool;
1846}
1847unsafe extern "C" {
1848    pub fn mpd_run_playlist_delete(
1849        connection: *mut mpd_connection,
1850        name: *const ::std::os::raw::c_char,
1851        pos: ::std::os::raw::c_uint,
1852    ) -> bool;
1853}
1854unsafe extern "C" {
1855    pub fn mpd_send_playlist_delete_range(
1856        connection: *mut mpd_connection,
1857        name: *const ::std::os::raw::c_char,
1858        start: ::std::os::raw::c_uint,
1859        end: ::std::os::raw::c_uint,
1860    ) -> bool;
1861}
1862unsafe extern "C" {
1863    pub fn mpd_run_playlist_delete_range(
1864        connection: *mut mpd_connection,
1865        name: *const ::std::os::raw::c_char,
1866        start: ::std::os::raw::c_uint,
1867        end: ::std::os::raw::c_uint,
1868    ) -> bool;
1869}
1870unsafe extern "C" {
1871    pub fn mpd_send_save(
1872        connection: *mut mpd_connection,
1873        name: *const ::std::os::raw::c_char,
1874    ) -> bool;
1875}
1876unsafe extern "C" {
1877    pub fn mpd_run_save(
1878        connection: *mut mpd_connection,
1879        name: *const ::std::os::raw::c_char,
1880    ) -> bool;
1881}
1882unsafe extern "C" {
1883    pub fn mpd_send_save_queue(
1884        connection: *mut mpd_connection,
1885        name: *const ::std::os::raw::c_char,
1886        mode: mpd_queue_save_mode,
1887    ) -> bool;
1888}
1889unsafe extern "C" {
1890    pub fn mpd_run_save_queue(
1891        connection: *mut mpd_connection,
1892        name: *const ::std::os::raw::c_char,
1893        mode: mpd_queue_save_mode,
1894    ) -> bool;
1895}
1896unsafe extern "C" {
1897    pub fn mpd_lookup_queue_save_mode(mode: mpd_queue_save_mode) -> *const ::std::os::raw::c_char;
1898}
1899unsafe extern "C" {
1900    pub fn mpd_parse_queue_save_mode(mode: *const ::std::os::raw::c_char) -> mpd_queue_save_mode;
1901}
1902unsafe extern "C" {
1903    pub fn mpd_send_load(
1904        connection: *mut mpd_connection,
1905        name: *const ::std::os::raw::c_char,
1906    ) -> bool;
1907}
1908unsafe extern "C" {
1909    pub fn mpd_run_load(
1910        connection: *mut mpd_connection,
1911        name: *const ::std::os::raw::c_char,
1912    ) -> bool;
1913}
1914unsafe extern "C" {
1915    pub fn mpd_send_load_range(
1916        connection: *mut mpd_connection,
1917        name: *const ::std::os::raw::c_char,
1918        start: ::std::os::raw::c_uint,
1919        end: ::std::os::raw::c_uint,
1920    ) -> bool;
1921}
1922unsafe extern "C" {
1923    pub fn mpd_run_load_range(
1924        connection: *mut mpd_connection,
1925        name: *const ::std::os::raw::c_char,
1926        start: ::std::os::raw::c_uint,
1927        end: ::std::os::raw::c_uint,
1928    ) -> bool;
1929}
1930unsafe extern "C" {
1931    pub fn mpd_send_load_range_to(
1932        connection: *mut mpd_connection,
1933        name: *const ::std::os::raw::c_char,
1934        start: ::std::os::raw::c_uint,
1935        end: ::std::os::raw::c_uint,
1936        to: ::std::os::raw::c_uint,
1937        whence: mpd_position_whence,
1938    ) -> bool;
1939}
1940unsafe extern "C" {
1941    pub fn mpd_run_load_range_to(
1942        connection: *mut mpd_connection,
1943        name: *const ::std::os::raw::c_char,
1944        start: ::std::os::raw::c_uint,
1945        end: ::std::os::raw::c_uint,
1946        to: ::std::os::raw::c_uint,
1947        whence: mpd_position_whence,
1948    ) -> bool;
1949}
1950unsafe extern "C" {
1951    pub fn mpd_send_rename(
1952        connection: *mut mpd_connection,
1953        from: *const ::std::os::raw::c_char,
1954        to: *const ::std::os::raw::c_char,
1955    ) -> bool;
1956}
1957unsafe extern "C" {
1958    pub fn mpd_run_rename(
1959        connection: *mut mpd_connection,
1960        from: *const ::std::os::raw::c_char,
1961        to: *const ::std::os::raw::c_char,
1962    ) -> bool;
1963}
1964unsafe extern "C" {
1965    pub fn mpd_send_rm(
1966        connection: *mut mpd_connection,
1967        name: *const ::std::os::raw::c_char,
1968    ) -> bool;
1969}
1970unsafe extern "C" {
1971    pub fn mpd_run_rm(connection: *mut mpd_connection, name: *const ::std::os::raw::c_char)
1972        -> bool;
1973}
1974unsafe extern "C" {
1975    pub fn mpd_send_list_queue_meta(connection: *mut mpd_connection) -> bool;
1976}
1977unsafe extern "C" {
1978    pub fn mpd_send_list_queue_range_meta(
1979        connection: *mut mpd_connection,
1980        start: ::std::os::raw::c_uint,
1981        end: ::std::os::raw::c_uint,
1982    ) -> bool;
1983}
1984unsafe extern "C" {
1985    pub fn mpd_send_get_queue_song_pos(
1986        connection: *mut mpd_connection,
1987        pos: ::std::os::raw::c_uint,
1988    ) -> bool;
1989}
1990unsafe extern "C" {
1991    pub fn mpd_run_get_queue_song_pos(
1992        connection: *mut mpd_connection,
1993        pos: ::std::os::raw::c_uint,
1994    ) -> *mut mpd_song;
1995}
1996unsafe extern "C" {
1997    pub fn mpd_send_get_queue_song_id(
1998        connection: *mut mpd_connection,
1999        id: ::std::os::raw::c_uint,
2000    ) -> bool;
2001}
2002unsafe extern "C" {
2003    pub fn mpd_run_get_queue_song_id(
2004        connection: *mut mpd_connection,
2005        id: ::std::os::raw::c_uint,
2006    ) -> *mut mpd_song;
2007}
2008unsafe extern "C" {
2009    pub fn mpd_send_queue_changes_meta(
2010        connection: *mut mpd_connection,
2011        version: ::std::os::raw::c_uint,
2012    ) -> bool;
2013}
2014unsafe extern "C" {
2015    pub fn mpd_send_queue_changes_meta_range(
2016        connection: *mut mpd_connection,
2017        version: ::std::os::raw::c_uint,
2018        start: ::std::os::raw::c_uint,
2019        end: ::std::os::raw::c_uint,
2020    ) -> bool;
2021}
2022unsafe extern "C" {
2023    pub fn mpd_send_queue_changes_brief(
2024        connection: *mut mpd_connection,
2025        version: ::std::os::raw::c_uint,
2026    ) -> bool;
2027}
2028unsafe extern "C" {
2029    pub fn mpd_send_queue_changes_brief_range(
2030        connection: *mut mpd_connection,
2031        version: ::std::os::raw::c_uint,
2032        start: ::std::os::raw::c_uint,
2033        end: ::std::os::raw::c_uint,
2034    ) -> bool;
2035}
2036unsafe extern "C" {
2037    pub fn mpd_recv_queue_change_brief(
2038        connection: *mut mpd_connection,
2039        position_r: *mut ::std::os::raw::c_uint,
2040        id_r: *mut ::std::os::raw::c_uint,
2041    ) -> bool;
2042}
2043unsafe extern "C" {
2044    pub fn mpd_send_add(
2045        connection: *mut mpd_connection,
2046        uri: *const ::std::os::raw::c_char,
2047    ) -> bool;
2048}
2049unsafe extern "C" {
2050    pub fn mpd_run_add(connection: *mut mpd_connection, uri: *const ::std::os::raw::c_char)
2051        -> bool;
2052}
2053unsafe extern "C" {
2054    pub fn mpd_send_add_whence(
2055        connection: *mut mpd_connection,
2056        uri: *const ::std::os::raw::c_char,
2057        to: ::std::os::raw::c_uint,
2058        whence: mpd_position_whence,
2059    ) -> bool;
2060}
2061unsafe extern "C" {
2062    pub fn mpd_run_add_whence(
2063        connection: *mut mpd_connection,
2064        uri: *const ::std::os::raw::c_char,
2065        to: ::std::os::raw::c_uint,
2066        whence: mpd_position_whence,
2067    ) -> bool;
2068}
2069unsafe extern "C" {
2070    pub fn mpd_send_add_id(
2071        connection: *mut mpd_connection,
2072        uri: *const ::std::os::raw::c_char,
2073    ) -> bool;
2074}
2075unsafe extern "C" {
2076    pub fn mpd_send_add_id_to(
2077        connection: *mut mpd_connection,
2078        uri: *const ::std::os::raw::c_char,
2079        to: ::std::os::raw::c_uint,
2080    ) -> bool;
2081}
2082unsafe extern "C" {
2083    pub fn mpd_send_add_id_whence(
2084        connection: *mut mpd_connection,
2085        uri: *const ::std::os::raw::c_char,
2086        to: ::std::os::raw::c_uint,
2087        whence: mpd_position_whence,
2088    ) -> bool;
2089}
2090unsafe extern "C" {
2091    pub fn mpd_recv_song_id(connection: *mut mpd_connection) -> ::std::os::raw::c_int;
2092}
2093unsafe extern "C" {
2094    pub fn mpd_run_add_id(
2095        connection: *mut mpd_connection,
2096        uri: *const ::std::os::raw::c_char,
2097    ) -> ::std::os::raw::c_int;
2098}
2099unsafe extern "C" {
2100    pub fn mpd_run_add_id_to(
2101        connection: *mut mpd_connection,
2102        uri: *const ::std::os::raw::c_char,
2103        to: ::std::os::raw::c_uint,
2104    ) -> ::std::os::raw::c_int;
2105}
2106unsafe extern "C" {
2107    pub fn mpd_run_add_id_whence(
2108        connection: *mut mpd_connection,
2109        uri: *const ::std::os::raw::c_char,
2110        to: ::std::os::raw::c_uint,
2111        whence: mpd_position_whence,
2112    ) -> ::std::os::raw::c_int;
2113}
2114unsafe extern "C" {
2115    pub fn mpd_send_delete(connection: *mut mpd_connection, pos: ::std::os::raw::c_uint) -> bool;
2116}
2117unsafe extern "C" {
2118    pub fn mpd_run_delete(connection: *mut mpd_connection, pos: ::std::os::raw::c_uint) -> bool;
2119}
2120unsafe extern "C" {
2121    pub fn mpd_send_delete_range(
2122        connection: *mut mpd_connection,
2123        start: ::std::os::raw::c_uint,
2124        end: ::std::os::raw::c_uint,
2125    ) -> bool;
2126}
2127unsafe extern "C" {
2128    pub fn mpd_run_delete_range(
2129        connection: *mut mpd_connection,
2130        start: ::std::os::raw::c_uint,
2131        end: ::std::os::raw::c_uint,
2132    ) -> bool;
2133}
2134unsafe extern "C" {
2135    pub fn mpd_send_delete_id(connection: *mut mpd_connection, id: ::std::os::raw::c_uint) -> bool;
2136}
2137unsafe extern "C" {
2138    pub fn mpd_run_delete_id(connection: *mut mpd_connection, id: ::std::os::raw::c_uint) -> bool;
2139}
2140unsafe extern "C" {
2141    pub fn mpd_send_shuffle(connection: *mut mpd_connection) -> bool;
2142}
2143unsafe extern "C" {
2144    pub fn mpd_run_shuffle(connection: *mut mpd_connection) -> bool;
2145}
2146unsafe extern "C" {
2147    pub fn mpd_send_shuffle_range(
2148        connection: *mut mpd_connection,
2149        start: ::std::os::raw::c_uint,
2150        end: ::std::os::raw::c_uint,
2151    ) -> bool;
2152}
2153unsafe extern "C" {
2154    pub fn mpd_run_shuffle_range(
2155        connection: *mut mpd_connection,
2156        start: ::std::os::raw::c_uint,
2157        end: ::std::os::raw::c_uint,
2158    ) -> bool;
2159}
2160unsafe extern "C" {
2161    pub fn mpd_send_clear(connection: *mut mpd_connection) -> bool;
2162}
2163unsafe extern "C" {
2164    pub fn mpd_run_clear(connection: *mut mpd_connection) -> bool;
2165}
2166unsafe extern "C" {
2167    pub fn mpd_send_move(
2168        connection: *mut mpd_connection,
2169        from: ::std::os::raw::c_uint,
2170        to: ::std::os::raw::c_uint,
2171    ) -> bool;
2172}
2173unsafe extern "C" {
2174    pub fn mpd_run_move(
2175        connection: *mut mpd_connection,
2176        from: ::std::os::raw::c_uint,
2177        to: ::std::os::raw::c_uint,
2178    ) -> bool;
2179}
2180unsafe extern "C" {
2181    pub fn mpd_send_move_whence(
2182        connection: *mut mpd_connection,
2183        from: ::std::os::raw::c_uint,
2184        to: ::std::os::raw::c_uint,
2185        whence: mpd_position_whence,
2186    ) -> bool;
2187}
2188unsafe extern "C" {
2189    pub fn mpd_run_move_whence(
2190        connection: *mut mpd_connection,
2191        from: ::std::os::raw::c_uint,
2192        to: ::std::os::raw::c_uint,
2193        whence: mpd_position_whence,
2194    ) -> bool;
2195}
2196unsafe extern "C" {
2197    pub fn mpd_send_move_id(
2198        connection: *mut mpd_connection,
2199        from: ::std::os::raw::c_uint,
2200        to: ::std::os::raw::c_uint,
2201    ) -> bool;
2202}
2203unsafe extern "C" {
2204    pub fn mpd_run_move_id(
2205        connection: *mut mpd_connection,
2206        from: ::std::os::raw::c_uint,
2207        to: ::std::os::raw::c_uint,
2208    ) -> bool;
2209}
2210unsafe extern "C" {
2211    pub fn mpd_send_move_id_whence(
2212        connection: *mut mpd_connection,
2213        from: ::std::os::raw::c_uint,
2214        to: ::std::os::raw::c_uint,
2215        whence: mpd_position_whence,
2216    ) -> bool;
2217}
2218unsafe extern "C" {
2219    pub fn mpd_run_move_id_whence(
2220        connection: *mut mpd_connection,
2221        from: ::std::os::raw::c_uint,
2222        to: ::std::os::raw::c_uint,
2223        whence: mpd_position_whence,
2224    ) -> bool;
2225}
2226unsafe extern "C" {
2227    pub fn mpd_send_move_range(
2228        connection: *mut mpd_connection,
2229        start: ::std::os::raw::c_uint,
2230        end: ::std::os::raw::c_uint,
2231        to: ::std::os::raw::c_uint,
2232    ) -> bool;
2233}
2234unsafe extern "C" {
2235    pub fn mpd_run_move_range(
2236        connection: *mut mpd_connection,
2237        start: ::std::os::raw::c_uint,
2238        end: ::std::os::raw::c_uint,
2239        to: ::std::os::raw::c_uint,
2240    ) -> bool;
2241}
2242unsafe extern "C" {
2243    pub fn mpd_send_move_range_whence(
2244        connection: *mut mpd_connection,
2245        start: ::std::os::raw::c_uint,
2246        end: ::std::os::raw::c_uint,
2247        to: ::std::os::raw::c_uint,
2248        whence: mpd_position_whence,
2249    ) -> bool;
2250}
2251unsafe extern "C" {
2252    pub fn mpd_run_move_range_whence(
2253        connection: *mut mpd_connection,
2254        start: ::std::os::raw::c_uint,
2255        end: ::std::os::raw::c_uint,
2256        to: ::std::os::raw::c_uint,
2257        whence: mpd_position_whence,
2258    ) -> bool;
2259}
2260unsafe extern "C" {
2261    pub fn mpd_send_swap(
2262        connection: *mut mpd_connection,
2263        pos1: ::std::os::raw::c_uint,
2264        pos2: ::std::os::raw::c_uint,
2265    ) -> bool;
2266}
2267unsafe extern "C" {
2268    pub fn mpd_run_swap(
2269        connection: *mut mpd_connection,
2270        pos1: ::std::os::raw::c_uint,
2271        pos2: ::std::os::raw::c_uint,
2272    ) -> bool;
2273}
2274unsafe extern "C" {
2275    pub fn mpd_send_swap_id(
2276        connection: *mut mpd_connection,
2277        id1: ::std::os::raw::c_uint,
2278        id2: ::std::os::raw::c_uint,
2279    ) -> bool;
2280}
2281unsafe extern "C" {
2282    pub fn mpd_run_swap_id(
2283        connection: *mut mpd_connection,
2284        id1: ::std::os::raw::c_uint,
2285        id2: ::std::os::raw::c_uint,
2286    ) -> bool;
2287}
2288unsafe extern "C" {
2289    pub fn mpd_send_add_tag_id(
2290        connection: *mut mpd_connection,
2291        id: ::std::os::raw::c_uint,
2292        tag: mpd_tag_type,
2293        value: *const ::std::os::raw::c_char,
2294    ) -> bool;
2295}
2296unsafe extern "C" {
2297    pub fn mpd_run_add_tag_id(
2298        connection: *mut mpd_connection,
2299        id: ::std::os::raw::c_uint,
2300        tag: mpd_tag_type,
2301        value: *const ::std::os::raw::c_char,
2302    ) -> bool;
2303}
2304unsafe extern "C" {
2305    pub fn mpd_send_clear_tag_id(
2306        connection: *mut mpd_connection,
2307        id: ::std::os::raw::c_uint,
2308        tag: mpd_tag_type,
2309    ) -> bool;
2310}
2311unsafe extern "C" {
2312    pub fn mpd_run_clear_tag_id(
2313        connection: *mut mpd_connection,
2314        id: ::std::os::raw::c_uint,
2315        tag: mpd_tag_type,
2316    ) -> bool;
2317}
2318unsafe extern "C" {
2319    pub fn mpd_send_clear_all_tags_id(
2320        connection: *mut mpd_connection,
2321        id: ::std::os::raw::c_uint,
2322    ) -> bool;
2323}
2324unsafe extern "C" {
2325    pub fn mpd_run_clear_all_tags_id(
2326        connection: *mut mpd_connection,
2327        id: ::std::os::raw::c_uint,
2328    ) -> bool;
2329}
2330unsafe extern "C" {
2331    pub fn mpd_send_prio(
2332        connection: *mut mpd_connection,
2333        priority: ::std::os::raw::c_uint,
2334        position: ::std::os::raw::c_uint,
2335    ) -> bool;
2336}
2337unsafe extern "C" {
2338    pub fn mpd_run_prio(
2339        connection: *mut mpd_connection,
2340        priority: ::std::os::raw::c_uint,
2341        position: ::std::os::raw::c_uint,
2342    ) -> bool;
2343}
2344unsafe extern "C" {
2345    pub fn mpd_send_prio_range(
2346        connection: *mut mpd_connection,
2347        priority: ::std::os::raw::c_uint,
2348        start: ::std::os::raw::c_uint,
2349        end: ::std::os::raw::c_uint,
2350    ) -> bool;
2351}
2352unsafe extern "C" {
2353    pub fn mpd_run_prio_range(
2354        connection: *mut mpd_connection,
2355        priority: ::std::os::raw::c_uint,
2356        start: ::std::os::raw::c_uint,
2357        end: ::std::os::raw::c_uint,
2358    ) -> bool;
2359}
2360unsafe extern "C" {
2361    pub fn mpd_send_prio_id(
2362        connection: *mut mpd_connection,
2363        priority: ::std::os::raw::c_uint,
2364        id: ::std::os::raw::c_uint,
2365    ) -> bool;
2366}
2367unsafe extern "C" {
2368    pub fn mpd_run_prio_id(
2369        connection: *mut mpd_connection,
2370        priority: ::std::os::raw::c_uint,
2371        id: ::std::os::raw::c_uint,
2372    ) -> bool;
2373}
2374unsafe extern "C" {
2375    pub fn mpd_send_range_id(
2376        connection: *mut mpd_connection,
2377        id: ::std::os::raw::c_uint,
2378        start: f32,
2379        end: f32,
2380    ) -> bool;
2381}
2382unsafe extern "C" {
2383    pub fn mpd_run_range_id(
2384        connection: *mut mpd_connection,
2385        id: ::std::os::raw::c_uint,
2386        start: f32,
2387        end: f32,
2388    ) -> bool;
2389}
2390unsafe extern "C" {
2391    pub fn mpd_send_readpicture(
2392        connection: *mut mpd_connection,
2393        uri: *const ::std::os::raw::c_char,
2394        offset: ::std::os::raw::c_uint,
2395    ) -> bool;
2396}
2397unsafe extern "C" {
2398    pub fn mpd_recv_readpicture(
2399        connection: *mut mpd_connection,
2400        buffer: *mut ::std::os::raw::c_void,
2401        buffer_size: usize,
2402    ) -> ::std::os::raw::c_int;
2403}
2404unsafe extern "C" {
2405    pub fn mpd_run_readpicture(
2406        connection: *mut mpd_connection,
2407        uri: *const ::std::os::raw::c_char,
2408        offset: ::std::os::raw::c_uint,
2409        buffer: *mut ::std::os::raw::c_void,
2410        buffer_size: usize,
2411    ) -> ::std::os::raw::c_int;
2412}
2413pub const mpd_replay_gain_mode_MPD_REPLAY_OFF: mpd_replay_gain_mode = 0;
2414pub const mpd_replay_gain_mode_MPD_REPLAY_TRACK: mpd_replay_gain_mode = 1;
2415pub const mpd_replay_gain_mode_MPD_REPLAY_ALBUM: mpd_replay_gain_mode = 2;
2416pub const mpd_replay_gain_mode_MPD_REPLAY_AUTO: mpd_replay_gain_mode = 3;
2417pub const mpd_replay_gain_mode_MPD_REPLAY_UNKNOWN: mpd_replay_gain_mode = 4;
2418pub type mpd_replay_gain_mode = ::std::os::raw::c_uint;
2419unsafe extern "C" {
2420    pub fn mpd_parse_replay_gain_name(name: *const ::std::os::raw::c_char) -> mpd_replay_gain_mode;
2421}
2422unsafe extern "C" {
2423    pub fn mpd_lookup_replay_gain_mode(mode: mpd_replay_gain_mode)
2424        -> *const ::std::os::raw::c_char;
2425}
2426unsafe extern "C" {
2427    pub fn mpd_send_replay_gain_status(connection: *mut mpd_connection) -> bool;
2428}
2429unsafe extern "C" {
2430    pub fn mpd_recv_replay_gain_status(connection: *mut mpd_connection) -> mpd_replay_gain_mode;
2431}
2432unsafe extern "C" {
2433    pub fn mpd_run_replay_gain_status(connection: *mut mpd_connection) -> mpd_replay_gain_mode;
2434}
2435unsafe extern "C" {
2436    pub fn mpd_send_replay_gain_mode(
2437        connection: *mut mpd_connection,
2438        mode: mpd_replay_gain_mode,
2439    ) -> bool;
2440}
2441unsafe extern "C" {
2442    pub fn mpd_run_replay_gain_mode(
2443        connection: *mut mpd_connection,
2444        mode: mpd_replay_gain_mode,
2445    ) -> bool;
2446}
2447unsafe extern "C" {
2448    pub fn mpd_response_finish(connection: *mut mpd_connection) -> bool;
2449}
2450unsafe extern "C" {
2451    pub fn mpd_response_next(connection: *mut mpd_connection) -> bool;
2452}
2453pub const mpd_operator_MPD_OPERATOR_DEFAULT: mpd_operator = 0;
2454pub type mpd_operator = ::std::os::raw::c_uint;
2455unsafe extern "C" {
2456    pub fn mpd_search_db_songs(connection: *mut mpd_connection, exact: bool) -> bool;
2457}
2458unsafe extern "C" {
2459    pub fn mpd_search_add_db_songs(connection: *mut mpd_connection, exact: bool) -> bool;
2460}
2461unsafe extern "C" {
2462    pub fn mpd_search_add_db_songs_to_playlist(
2463        connection: *mut mpd_connection,
2464        playlist_name: *const ::std::os::raw::c_char,
2465    ) -> bool;
2466}
2467unsafe extern "C" {
2468    pub fn mpd_search_queue_songs(connection: *mut mpd_connection, exact: bool) -> bool;
2469}
2470unsafe extern "C" {
2471    pub fn mpd_search_db_tags(connection: *mut mpd_connection, type_: mpd_tag_type) -> bool;
2472}
2473unsafe extern "C" {
2474    pub fn mpd_count_db_songs(connection: *mut mpd_connection) -> bool;
2475}
2476unsafe extern "C" {
2477    pub fn mpd_searchcount_db_songs(connection: *mut mpd_connection) -> bool;
2478}
2479unsafe extern "C" {
2480    pub fn mpd_search_add_base_constraint(
2481        connection: *mut mpd_connection,
2482        oper: mpd_operator,
2483        value: *const ::std::os::raw::c_char,
2484    ) -> bool;
2485}
2486unsafe extern "C" {
2487    pub fn mpd_search_add_uri_constraint(
2488        connection: *mut mpd_connection,
2489        oper: mpd_operator,
2490        value: *const ::std::os::raw::c_char,
2491    ) -> bool;
2492}
2493unsafe extern "C" {
2494    pub fn mpd_search_add_tag_constraint(
2495        connection: *mut mpd_connection,
2496        oper: mpd_operator,
2497        type_: mpd_tag_type,
2498        value: *const ::std::os::raw::c_char,
2499    ) -> bool;
2500}
2501unsafe extern "C" {
2502    pub fn mpd_search_add_any_tag_constraint(
2503        connection: *mut mpd_connection,
2504        oper: mpd_operator,
2505        value: *const ::std::os::raw::c_char,
2506    ) -> bool;
2507}
2508unsafe extern "C" {
2509    pub fn mpd_search_add_modified_since_constraint(
2510        connection: *mut mpd_connection,
2511        oper: mpd_operator,
2512        value: time_t,
2513    ) -> bool;
2514}
2515unsafe extern "C" {
2516    pub fn mpd_search_add_added_since_constraint(
2517        connection: *mut mpd_connection,
2518        oper: mpd_operator,
2519        value: time_t,
2520    ) -> bool;
2521}
2522unsafe extern "C" {
2523    pub fn mpd_search_add_expression(
2524        connection: *mut mpd_connection,
2525        expression: *const ::std::os::raw::c_char,
2526    ) -> bool;
2527}
2528unsafe extern "C" {
2529    pub fn mpd_search_add_group_tag(connection: *mut mpd_connection, type_: mpd_tag_type) -> bool;
2530}
2531unsafe extern "C" {
2532    pub fn mpd_search_add_sort_name(
2533        connection: *mut mpd_connection,
2534        name: *const ::std::os::raw::c_char,
2535        descending: bool,
2536    ) -> bool;
2537}
2538unsafe extern "C" {
2539    pub fn mpd_search_add_sort_tag(
2540        connection: *mut mpd_connection,
2541        type_: mpd_tag_type,
2542        descending: bool,
2543    ) -> bool;
2544}
2545unsafe extern "C" {
2546    pub fn mpd_search_add_window(
2547        connection: *mut mpd_connection,
2548        start: ::std::os::raw::c_uint,
2549        end: ::std::os::raw::c_uint,
2550    ) -> bool;
2551}
2552unsafe extern "C" {
2553    pub fn mpd_search_add_position(
2554        connection: *mut mpd_connection,
2555        position: ::std::os::raw::c_uint,
2556        whence: mpd_position_whence,
2557    ) -> bool;
2558}
2559unsafe extern "C" {
2560    pub fn mpd_search_commit(connection: *mut mpd_connection) -> bool;
2561}
2562unsafe extern "C" {
2563    pub fn mpd_search_cancel(connection: *mut mpd_connection);
2564}
2565unsafe extern "C" {
2566    pub fn mpd_recv_pair_tag(connection: *mut mpd_connection, type_: mpd_tag_type)
2567        -> *mut mpd_pair;
2568}
2569unsafe extern "C" {
2570    pub fn mpd_send_command(
2571        connection: *mut mpd_connection,
2572        command: *const ::std::os::raw::c_char,
2573        ...
2574    ) -> bool;
2575}
2576unsafe extern "C" {
2577    pub fn mpd_settings_new(
2578        host: *const ::std::os::raw::c_char,
2579        port: ::std::os::raw::c_uint,
2580        timeout_ms: ::std::os::raw::c_uint,
2581        reserved: *const ::std::os::raw::c_char,
2582        password: *const ::std::os::raw::c_char,
2583    ) -> *mut mpd_settings;
2584}
2585unsafe extern "C" {
2586    pub fn mpd_settings_free(settings: *mut mpd_settings);
2587}
2588unsafe extern "C" {
2589    pub fn mpd_settings_get_host(settings: *const mpd_settings) -> *const ::std::os::raw::c_char;
2590}
2591unsafe extern "C" {
2592    pub fn mpd_settings_get_port(settings: *const mpd_settings) -> ::std::os::raw::c_uint;
2593}
2594unsafe extern "C" {
2595    pub fn mpd_settings_get_timeout_ms(settings: *const mpd_settings) -> ::std::os::raw::c_uint;
2596}
2597unsafe extern "C" {
2598    pub fn mpd_settings_get_password(
2599        settings: *const mpd_settings,
2600    ) -> *const ::std::os::raw::c_char;
2601}
2602#[repr(C)]
2603#[derive(Debug, Copy, Clone)]
2604pub struct mpd_stats {
2605    _unused: [u8; 0],
2606}
2607unsafe extern "C" {
2608    pub fn mpd_send_stats(connection: *mut mpd_connection) -> bool;
2609}
2610unsafe extern "C" {
2611    pub fn mpd_stats_begin() -> *mut mpd_stats;
2612}
2613unsafe extern "C" {
2614    pub fn mpd_stats_feed(stats: *mut mpd_stats, pair: *const mpd_pair);
2615}
2616unsafe extern "C" {
2617    pub fn mpd_recv_stats(connection: *mut mpd_connection) -> *mut mpd_stats;
2618}
2619unsafe extern "C" {
2620    pub fn mpd_run_stats(connection: *mut mpd_connection) -> *mut mpd_stats;
2621}
2622unsafe extern "C" {
2623    pub fn mpd_stats_free(stats: *mut mpd_stats);
2624}
2625unsafe extern "C" {
2626    pub fn mpd_stats_get_number_of_artists(stats: *const mpd_stats) -> ::std::os::raw::c_uint;
2627}
2628unsafe extern "C" {
2629    pub fn mpd_stats_get_number_of_albums(stats: *const mpd_stats) -> ::std::os::raw::c_uint;
2630}
2631unsafe extern "C" {
2632    pub fn mpd_stats_get_number_of_songs(stats: *const mpd_stats) -> ::std::os::raw::c_uint;
2633}
2634unsafe extern "C" {
2635    pub fn mpd_stats_get_uptime(stats: *const mpd_stats) -> ::std::os::raw::c_ulong;
2636}
2637unsafe extern "C" {
2638    pub fn mpd_stats_get_db_update_time(stats: *const mpd_stats) -> ::std::os::raw::c_ulong;
2639}
2640unsafe extern "C" {
2641    pub fn mpd_stats_get_play_time(stats: *const mpd_stats) -> ::std::os::raw::c_ulong;
2642}
2643unsafe extern "C" {
2644    pub fn mpd_stats_get_db_play_time(stats: *const mpd_stats) -> ::std::os::raw::c_ulong;
2645}
2646unsafe extern "C" {
2647    pub fn mpd_send_sticker_set(
2648        connection: *mut mpd_connection,
2649        type_: *const ::std::os::raw::c_char,
2650        uri: *const ::std::os::raw::c_char,
2651        name: *const ::std::os::raw::c_char,
2652        value: *const ::std::os::raw::c_char,
2653    ) -> bool;
2654}
2655unsafe extern "C" {
2656    pub fn mpd_run_sticker_set(
2657        connection: *mut mpd_connection,
2658        type_: *const ::std::os::raw::c_char,
2659        uri: *const ::std::os::raw::c_char,
2660        name: *const ::std::os::raw::c_char,
2661        value: *const ::std::os::raw::c_char,
2662    ) -> bool;
2663}
2664unsafe extern "C" {
2665    pub fn mpd_send_sticker_delete(
2666        connection: *mut mpd_connection,
2667        type_: *const ::std::os::raw::c_char,
2668        uri: *const ::std::os::raw::c_char,
2669        name: *const ::std::os::raw::c_char,
2670    ) -> bool;
2671}
2672unsafe extern "C" {
2673    pub fn mpd_run_sticker_delete(
2674        connection: *mut mpd_connection,
2675        type_: *const ::std::os::raw::c_char,
2676        uri: *const ::std::os::raw::c_char,
2677        name: *const ::std::os::raw::c_char,
2678    ) -> bool;
2679}
2680unsafe extern "C" {
2681    pub fn mpd_send_sticker_get(
2682        connection: *mut mpd_connection,
2683        type_: *const ::std::os::raw::c_char,
2684        uri: *const ::std::os::raw::c_char,
2685        name: *const ::std::os::raw::c_char,
2686    ) -> bool;
2687}
2688unsafe extern "C" {
2689    pub fn mpd_send_sticker_list(
2690        connection: *mut mpd_connection,
2691        type_: *const ::std::os::raw::c_char,
2692        uri: *const ::std::os::raw::c_char,
2693    ) -> bool;
2694}
2695unsafe extern "C" {
2696    pub fn mpd_send_sticker_find(
2697        connection: *mut mpd_connection,
2698        type_: *const ::std::os::raw::c_char,
2699        base_uri: *const ::std::os::raw::c_char,
2700        name: *const ::std::os::raw::c_char,
2701    ) -> bool;
2702}
2703unsafe extern "C" {
2704    pub fn mpd_parse_sticker(
2705        input: *const ::std::os::raw::c_char,
2706        name_length_r: *mut usize,
2707    ) -> *const ::std::os::raw::c_char;
2708}
2709unsafe extern "C" {
2710    pub fn mpd_recv_sticker(connection: *mut mpd_connection) -> *mut mpd_pair;
2711}
2712unsafe extern "C" {
2713    pub fn mpd_return_sticker(connection: *mut mpd_connection, pair: *mut mpd_pair);
2714}
2715unsafe extern "C" {
2716    pub fn mpd_send_stickernames(connection: *mut mpd_connection) -> bool;
2717}
2718#[repr(C)]
2719#[derive(Debug, Copy, Clone)]
2720pub struct __locale_data {
2721    pub _address: u8,
2722}