• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 pub mod hci {
2     pub use bt_packets::custom_types::*;
3     pub use bt_packets::hci::*;
4 
command_remote_device_address(command: &CommandPacket) -> Option<Address>5     pub fn command_remote_device_address(command: &CommandPacket) -> Option<Address> {
6         #[allow(unused_imports)]
7         use Option::None;
8         use SecurityCommandChild::*; // Overwrite `None` variant of `Child` enum
9 
10         match command.specialize() {
11             CommandChild::SecurityCommand(command) => match command.specialize() {
12                 LinkKeyRequestReply(packet) => Some(packet.get_bd_addr()),
13                 LinkKeyRequestNegativeReply(packet) => Some(packet.get_bd_addr()),
14                 PinCodeRequestReply(packet) => Some(packet.get_bd_addr()),
15                 PinCodeRequestNegativeReply(packet) => Some(packet.get_bd_addr()),
16                 IoCapabilityRequestReply(packet) => Some(packet.get_bd_addr()),
17                 IoCapabilityRequestNegativeReply(packet) => Some(packet.get_bd_addr()),
18                 UserConfirmationRequestReply(packet) => Some(packet.get_bd_addr()),
19                 UserConfirmationRequestNegativeReply(packet) => Some(packet.get_bd_addr()),
20                 UserPasskeyRequestReply(packet) => Some(packet.get_bd_addr()),
21                 UserPasskeyRequestNegativeReply(packet) => Some(packet.get_bd_addr()),
22                 RemoteOobDataRequestReply(packet) => Some(packet.get_bd_addr()),
23                 RemoteOobDataRequestNegativeReply(packet) => Some(packet.get_bd_addr()),
24                 SendKeypressNotification(packet) => Some(packet.get_bd_addr()),
25                 _ => None,
26             },
27             _ => None,
28         }
29     }
30 
command_connection_handle(command: &CommandPacket) -> Option<u16>31     pub fn command_connection_handle(command: &CommandPacket) -> Option<u16> {
32         use ConnectionManagementCommandChild::*;
33         #[allow(unused_imports)]
34         use Option::None; // Overwrite `None` variant of `Child` enum
35 
36         match command.specialize() {
37             CommandChild::AclCommand(command) => match command.specialize() {
38                 AclCommandChild::ConnectionManagementCommand(command) => {
39                     match command.specialize() {
40                         AuthenticationRequested(packet) => Some(packet.get_connection_handle()),
41                         SetConnectionEncryption(packet) => Some(packet.get_connection_handle()),
42                         _ => None,
43                     }
44                 }
45                 _ => None,
46             },
47             _ => None,
48         }
49     }
50 }
51 
52 pub mod lmp {
53     #![allow(clippy::all)]
54     #![allow(unused)]
55     #![allow(missing_docs)]
56 
57     include!(concat!(env!("OUT_DIR"), "/lmp_packets.rs"));
58 }
59