BTM services: Difference between revisions

No edit summary
No edit summary
Line 310: Line 310:


=== GetBleScanFilterParameter ===
=== GetBleScanFilterParameter ===
Takes an input u16, returns a [[#BleAdvertisePacketParameter]].
Takes an input u16, returns a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]].


=== GetBleScanFilterParameter2 ===
=== GetBleScanFilterParameter2 ===
Takes an input u16, returns a [[#GattAttributeUuid]].
Takes an input u16, returns a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]].


=== StartBleScanForGeneral ===
=== StartBleScanForGeneral ===
Takes a PID, a [[#BleAdvertisePacketParameter]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.
Takes a PID, a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.


=== StopBleScanForGeneral ===
=== StopBleScanForGeneral ===
Line 322: Line 322:


=== GetBleScanResultsForGeneral ===
=== GetBleScanResultsForGeneral ===
Takes a PID, a type-0x6 output buffer containing an array of [[#BleScanResult]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.
Takes a PID, a type-0x6 output buffer containing an array of [[Bluetooth_Driver_services#BleScanResult|BleScanResult]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.


=== StartBleScanForPaired ===
=== StartBleScanForPaired ===
Takes a PID, a [[#BleAdvertisePacketParameter]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.
Takes a PID, a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.


=== StopBleScanForPaired ===
=== StopBleScanForPaired ===
Line 331: Line 331:


=== StartBleScanForSmartDevice ===
=== StartBleScanForSmartDevice ===
Takes a PID, a [[#GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.
Takes a PID, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.


=== StopBleScanForSmartDevice ===
=== StopBleScanForSmartDevice ===
Line 337: Line 337:


=== GetBleScanResultsForSmartDevice ===
=== GetBleScanResultsForSmartDevice ===
Takes a PID, a type-0x6 output buffer containing an array of [[#BleScanResult]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.
Takes a PID, a type-0x6 output buffer containing an array of [[Bluetooth_Driver_services#BleScanResult|BleScanResult]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.


=== AcquireBleConnectionEvent ===
=== AcquireBleConnectionEvent ===
Line 345: Line 345:


=== BleConnect ===
=== BleConnect ===
Takes a PID, an [[#Bluetooth_Driver_services#Address|Address]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.
Takes a PID, an [[Bluetooth_Driver_services#Address|Address]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.


=== BleDisconnect ===
=== BleDisconnect ===
Line 351: Line 351:


=== BleGetConnectionState ===
=== BleGetConnectionState ===
Takes a PID, a type-0xA output buffer containing an array of [[#BleConnectionInfo]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.
Takes a PID, a type-0xA output buffer containing an array of [[Bluetooth_Driver_services#BleConnectionInfo|BleConnectionInfo]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.


=== AcquireBlePairingEvent ===
=== AcquireBlePairingEvent ===
Line 359: Line 359:


=== BlePairDevice ===
=== BlePairDevice ===
Takes an input [[#BleAdvertisePacketParameter]] and an u32, no output.
Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output.


=== BleUnPairDevice ===
=== BleUnPairDevice ===
Takes an input [[#BleAdvertisePacketParameter]] and an u32, no output.
Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output.


=== BleUnPairDevice2 ===
=== BleUnPairDevice2 ===
Takes an input [[#Bluetooth_Driver_services#Address|Address]] and a [[#BleAdvertisePacketParameter]], no output.
Takes an input [[Bluetooth_Driver_services#Address|Address]] and a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], no output.


=== BleGetPairedDevices ===
=== BleGetPairedDevices ===
Takes a type-0xA output buffer containing an array of [[#Bluetooth_Driver_services#Address|Address]], a [[#BleAdvertisePacketParameter]], returns an output u8.
Takes a type-0xA output buffer containing an array of [[Bluetooth_Driver_services#Address|Address]], a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], returns an output u8.


=== AcquireBleServiceDiscoveryEvent ===
=== AcquireBleServiceDiscoveryEvent ===
Line 379: Line 379:


=== GetGattService ===
=== GetGattService ===
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u32, a [[#GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.


=== GetGattIncludedServices ===
=== GetGattIncludedServices ===
Line 411: Line 411:
=== UnregisterBleGattDataPath ===
=== UnregisterBleGattDataPath ===
Takes a PID, a [[#BleDataPath]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.
Takes a PID, a [[#BleDataPath]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.
= BleAdvertisePacketParameter =
This is "nn::bluetooth::BleAdvertisePacketParameter". This is a 8-byte struct with 1-byte alignment.
= GattAttributeUuid =
This is "nn::bluetooth::GattAttributeUuid". This is a 0x14-byte struct with 4-byte alignment.
= BleScanResult =
This is "nn::bluetooth::BleScanResult". This is a 0x148-byte struct.
= BleConnectionInfo =
This is "nn::bluetooth::BleConnectionInfo". This is a 0xC-byte struct.


= GattService =
= GattService =