diff options
Diffstat (limited to 'third_party/rust/cubeb-sys/src/log.rs')
-rw-r--r-- | third_party/rust/cubeb-sys/src/log.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/third_party/rust/cubeb-sys/src/log.rs b/third_party/rust/cubeb-sys/src/log.rs new file mode 100644 index 0000000000..d1a1c4e448 --- /dev/null +++ b/third_party/rust/cubeb-sys/src/log.rs @@ -0,0 +1,29 @@ +// Copyright © 2017-2018 Mozilla Foundation +// +// This program is made available under an ISC-style license. See the +// accompanying file LICENSE for details. + +use std::os::raw::{c_char, c_int, c_void}; + +cubeb_enum! { + pub enum cubeb_log_level { + CUBEB_LOG_DISABLED = 0, + CUBEB_LOG_NORMAL = 1, + CUBEB_LOG_VERBOSE = 2, + } +} + +pub type cubeb_log_callback = Option<unsafe extern "C" fn(*const c_char, ...)>; + +extern "C" { + pub fn cubeb_set_log_callback( + log_level: cubeb_log_level, + log_callback: cubeb_log_callback, + ) -> c_int; + + pub fn cubeb_log_get_callback() -> cubeb_log_callback; + pub fn cubeb_log_get_level() -> cubeb_log_level; + + pub fn cubeb_async_log_reset_threads(_: c_void); + pub fn cubeb_async_log(msg: *const c_char, ...); +} |