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