• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //! Topshim is the main entry point from Rust code to C++.
2 //!
3 //! The Bluetooth stack is split into two parts: libbluetooth and the framework
4 //! above it. Libbluetooth is a combination of C/C++ and Rust that provides the
5 //! core Bluetooth functionality. It exposes top level apis in `bt_interface_t`
6 //! which can be used to drive the underlying implementation. Topshim provides
7 //! Rust apis to access this C/C++ interface and other top level interfaces in
8 //! order to use libbluetooth.
9 //!
10 //! The expected users of Topshim:
11 //!     * Floss (ChromeOS + Linux Bluetooth stack; uses D-Bus)
12 //!     * Topshim facade (used for testing)
13 
14 #[macro_use]
15 extern crate lazy_static;
16 #[macro_use]
17 extern crate num_derive;
18 #[macro_use]
19 extern crate bitflags;
20 
21 /// Bindgen bindings for accessing libbluetooth.
22 pub mod bindings;
23 
24 pub mod btif;
25 
26 /// Helper module for the topshim facade.
27 pub mod controller;
28 
29 pub mod profiles;
30 
31 pub mod topstack;
32