1 // Copyright 2017 Lyndon Brown 2 // 3 // This file is part of the PulseAudio Rust language linking library. 4 // 5 // Licensed under the MIT license or the Apache license (version 2.0), at your option. You may not 6 // copy, modify, or distribute this file except in compliance with said license. You can find copies 7 // of these licenses either in the LICENSE-MIT and LICENSE-APACHE files, or alternatively at 8 // <http://opensource.org/licenses/MIT> and <http://www.apache.org/licenses/LICENSE-2.0> 9 // respectively. 10 // 11 // Portions of documentation are copied from the LGPL 2.1+ licensed PulseAudio C headers on a 12 // fair-use basis, as discussed in the overall project readme (available in the git repository). 13 14 //! PulseAudio FFI bindings for the main `libpulse` system library. 15 //! 16 //! This crate does nothing more than offer a simple FFI binding to the C API of the [PulseAudio] 17 //! client system library. Please note that there is a “higher-level” binding available (the 18 //! [`libpulse-binding`] crate), built on top of this, which offers a more Rust-oriented interface. 19 //! 20 //! Unlike the “higher-level” binding just mentioned, virtually no documentation is provided here. 21 //! Things that *are* documented here are typically only those directly re-exported by the 22 //! “higher-level” binding. Please see either the equivalent documentation in that, or the 23 //! documentation of the actual PulseAudio C header files, if you need documentation. 24 //! 25 //! [`libpulse-binding`]: https://docs.rs/libpulse-binding 26 //! [PulseAudio]: https://en.wikipedia.org/wiki/PulseAudio 27 28 #![doc( 29 html_logo_url = "https://github.com/jnqnfe/pulse-binding-rust/raw/master/logo.svg", 30 html_favicon_url = "https://github.com/jnqnfe/pulse-binding-rust/raw/master/favicon.ico" 31 )] 32 33 #![allow(non_camel_case_types, non_snake_case)] 34 35 #![cfg_attr(docsrs, feature(doc_cfg))] 36 37 pub mod channelmap; 38 pub mod context; 39 pub mod def; 40 pub mod direction; 41 pub mod error; 42 pub mod format; 43 pub mod mainloop; 44 pub mod operation; 45 pub mod proplist; 46 pub mod rtclock; 47 pub mod sample; 48 pub mod stream; 49 pub mod timeval; 50 pub mod utf8; 51 pub mod util; 52 pub mod version; 53 pub mod volume; 54 pub mod xmalloc; 55 56 // Re-export 57 pub use self::channelmap::*; 58 pub use self::context::*; 59 pub use self::def::*; 60 pub use self::direction::*; 61 pub use self::error::*; 62 pub use self::format::*; 63 pub use self::mainloop::*; 64 pub use self::operation::*; 65 pub use self::proplist::*; 66 pub use self::rtclock::*; 67 pub use self::sample::*; 68 pub use self::stream::*; 69 pub use self::timeval::*; 70 pub use self::utf8::*; 71 pub use self::util::*; 72 pub use self::version::*; 73 pub use self::volume::*; 74 pub use self::xmalloc::*; 75