summaryrefslogtreecommitdiffstats
path: root/third_party/rust/cubeb-sys/src/internal.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/cubeb-sys/src/internal.rs')
-rw-r--r--third_party/rust/cubeb-sys/src/internal.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/third_party/rust/cubeb-sys/src/internal.rs b/third_party/rust/cubeb-sys/src/internal.rs
new file mode 100644
index 0000000000..92c90a24d0
--- /dev/null
+++ b/third_party/rust/cubeb-sys/src/internal.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::{fmt, mem};
+use std::os::raw::{c_char, c_uint};
+
+#[repr(C)]
+pub struct cubeb_layout_map {
+ name: *const c_char,
+ channels: c_uint,
+ layout: cubeb_channel_layout,
+}
+
+impl Default for cubeb_layout_map {
+ fn default() -> Self { unsafe { mem::zeroed() } }
+}
+
+// Explicit Debug impl to work around bug in ctest
+impl fmt::Debug for cubeb_layout_map {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.debug_struct("cubeb_layout_map")
+ .field("name", &self.name)
+ .field("channels", &self.channels)
+ .field("layout", &self.layout)
+ .finish()
+ }
+}