Line 152: |
Line 152: |
| | 68 || [13.0.0+] | | | 68 || [13.0.0+] |
| |- | | |- |
− | | 69 || [13.0.0+] | + | | 69 || [13.0.0+] AcquireAudioDeviceConnectionEvent |
| |- | | |- |
− | | 70 || [13.0.0+] | + | | 70 || [13.0.0+] GetConnectedAudioDevices |
| |- | | |- |
| | 71 || [13.0.0+] | | | 71 || [13.0.0+] |
Line 160: |
Line 160: |
| | 72 || [13.0.0+] | | | 72 || [13.0.0+] |
| |- | | |- |
− | | 73 || [13.0.0+] | + | | 73 || [13.0.0+] RequestAudioDeviceConnectionRejection |
| |- | | |- |
− | | 74 || [13.0.0+] | + | | 74 || [13.0.0+] CancelAudioDeviceConnectionRejection |
| |- | | |- |
− | | 75 || [13.0.0+] | + | | 75 || [13.0.0+] GetPairedAudioDevices |
| |- | | |- |
| | 76 || [13.1.0+] | | | 76 || [13.1.0+] |
Line 172: |
Line 172: |
| | 101 || [13.0.0+] | | | 101 || [13.0.0+] |
| |- | | |- |
− | | 110 || [13.0.0+] | + | | 110 || [13.0.0+] GetShortenedDeviceInfo |
| |- | | |- |
| | 111 || [13.0.0+] | | | 111 || [13.0.0+] |
Line 182: |
Line 182: |
| | 114 || [14.0.0+] | | | 114 || [14.0.0+] |
| |- | | |- |
− | | 115 || [14.0.0+] | + | | 115 || [14.0.0+] GetShortenedDeviceCondition |
| |- | | |- |
| | 116 || [15.0.0+] | | | 116 || [15.0.0+] |
Line 190: |
Line 190: |
| | | |
| == GetState == | | == GetState == |
− | No input, returns an output [[#BtmState]]. | + | No input. Returns an output [[#BtmState]]. |
| | | |
| == GetHostDeviceProperty == | | == GetHostDeviceProperty == |
− | No input, returns an output [[#HostDeviceProperty]]. | + | No input. Returns an output [[#HostDeviceProperty]]. |
| | | |
− | [13.0.0+] Takes a type-0x1A output buffer containing a [[#HostDeviceProperty]], no output. | + | [13.0.0+] Takes a type-0x1A output buffer containing a [[#HostDeviceProperty]]. No output. |
| | | |
| This gets the previously initialized [[#HostDeviceProperty]]. | | This gets the previously initialized [[#HostDeviceProperty]]. |
| | | |
| == AcquireDeviceConditionEvent == | | == AcquireDeviceConditionEvent == |
− | No input, returns an output Event handle with EventClearMode=1. | + | No input. Returns an output Event handle with EventClearMode=1. |
| | | |
| [3.0.0+] Now returns an additional output bool. | | [3.0.0+] Now returns an additional output bool. |
| | | |
| == GetDeviceCondition == | | == GetDeviceCondition == |
− | Takes a type-0x1A output buffer containing a 0x368-byte struct. | + | Takes a type-0x1A output buffer containing a [[#DeviceConditionList]]. No output. |
| | | |
− | [13.0.0+] Takes an input u32 [[#Profile]], a type-0xA output buffer containing an array of a 0x148-byte struct, returns a s32 for total output entries. When [[#Profile]] is non-zero, entries are only returned with a matching [[#Profile]]. | + | [13.0.0+] Takes an input u32 [[#Profile]], a type-0xA output buffer containing an array of [[#DeviceCondition]], returns a s32 for total output entries. When [[#Profile]] is non-zero, entries are only returned with a matching [[#Profile]]. |
| | | |
| == SetBurstMode == | | == SetBurstMode == |
− | Takes an input [[#BdAddress|BdAddress]] and a bool, no output. | + | Takes an input [[#BdAddress|BdAddress]] and a bool. No output. |
| | | |
| == SetSlotMode == | | == SetSlotMode == |
− | Takes a type-0x19 input buffer containing a [[#DeviceSlotModeList]], no output. | + | Takes a type-0x19 input buffer containing a [[#DeviceSlotModeList]]. No output. |
| | | |
| Sends a request which is then handled as follows: | | Sends a request which is then handled as follows: |
Line 238: |
Line 238: |
| | | |
| == SetBluetoothMode == | | == SetBluetoothMode == |
− | Takes an input [[#BluetoothMode]], no output. | + | Takes an input [[#BluetoothMode]]. No output. |
| | | |
| == SetWlanMode == | | == SetWlanMode == |
− | Takes an input [[#WlanMode]], no output. | + | Takes an input [[#WlanMode]]. No output. |
| | | |
| == AcquireDeviceInfoEvent == | | == AcquireDeviceInfoEvent == |
− | No input, returns an output Event handle with EventClearMode=1. | + | No input. Returns an output Event handle with EventClearMode=1. |
| | | |
| [3.0.0+] Now returns an additional output bool. | | [3.0.0+] Now returns an additional output bool. |
| | | |
| == GetDeviceInfo == | | == GetDeviceInfo == |
− | Takes a type-0x1A output buffer containing a [[#DeviceInfoList]]. | + | Takes a type-0x1A output buffer containing a [[#DeviceInfoList]]. No output. |
| | | |
| [13.0.0+] Takes an input u32 [[#Profile]], a type-0xA output buffer containing an array of [[#DeviceInfo]], returns a s32 for total output entries. When [[#Profile]] is non-zero, entries are only returned with a matching [[#Profile]]. | | [13.0.0+] Takes an input u32 [[#Profile]], a type-0xA output buffer containing an array of [[#DeviceInfo]], returns a s32 for total output entries. When [[#Profile]] is non-zero, entries are only returned with a matching [[#Profile]]. |
| | | |
| == AddDeviceInfo == | | == AddDeviceInfo == |
− | Takes an input [[#DeviceInfo]], no output. | + | Takes an input [[#DeviceInfo]]. No output. |
| | | |
| [13.0.0+] Takes a type-0x19 input buffer containing a [[#DeviceInfo]], no output. | | [13.0.0+] Takes a type-0x19 input buffer containing a [[#DeviceInfo]], no output. |
| | | |
| == RemoveDeviceInfo == | | == RemoveDeviceInfo == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| == IncreaseDeviceInfoOrder == | | == IncreaseDeviceInfoOrder == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| == LlrNotify == | | == LlrNotify == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| [9.0.0+] Takes an input [[#BdAddress|BdAddress]] and a s32, no output. | | [9.0.0+] Takes an input [[#BdAddress|BdAddress]] and a s32, no output. |
Line 276: |
Line 276: |
| | | |
| == HidDisconnect == | | == HidDisconnect == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| == HidSetRetransmissionMode == | | == HidSetRetransmissionMode == |
− | Takes an input [[#BdAddress|BdAddress]] and a type-0x19 input buffer containing a [[#ZeroRetransmissionList]], no output. | + | Takes an input [[#BdAddress|BdAddress]] and a type-0x19 input buffer containing a [[#ZeroRetransmissionList]]. No output. |
| | | |
| == AcquireAwakeReqEvent == | | == AcquireAwakeReqEvent == |
− | No input, returns an output Event handle with EventClearMode=1. | + | No input. Returns an output Event handle with EventClearMode=1. |
| | | |
| [3.0.0+] Now returns an additional output bool. | | [3.0.0+] Now returns an additional output bool. |
| | | |
| == AcquireLlrStateEvent == | | == AcquireLlrStateEvent == |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| == IsLlrStarted == | | == IsLlrStarted == |
− | No input, returns an output bool. | + | No input. Returns an output bool. |
| | | |
| == EnableSlotSaving == | | == EnableSlotSaving == |
− | Takes an input bool, no output. | + | Takes an input bool. No output. |
| | | |
| == ProtectDeviceInfo == | | == ProtectDeviceInfo == |
− | Takes an input [[#BdAddress|BdAddress]] and a bool, no output. | + | Takes an input [[#BdAddress|BdAddress]] and a bool. No output. |
| | | |
| == AcquireBleScanEvent == | | == AcquireBleScanEvent == |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| == GetBleScanParameterGeneral == | | == GetBleScanParameterGeneral == |
− | Takes an input u16 ParameterId, returns a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. | + | Takes an input u16 ParameterId. Returns a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. |
| | | |
| The u16 must be value 0x1 or 0xFFFF. | | The u16 must be value 0x1 or 0xFFFF. |
Line 313: |
Line 313: |
| | | |
| == GetBleScanParameterSmartDevice == | | == GetBleScanParameterSmartDevice == |
− | Takes an input u16 ParameterId, returns a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]]. | + | Takes an input u16 ParameterId. Returns a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]]. |
| | | |
| The u16 must be value 0x2. The first 4-bytes of output is always 0 since it's not set. | | The u16 must be value 0x2. The first 4-bytes of output is always 0 since it's not set. |
| | | |
| == StartBleScanForGeneral == | | == StartBleScanForGeneral == |
− | Takes a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], no output. | + | Takes a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. No output. |
| | | |
| This eventually uses [[Bluetooth_Driver_services#AddBleScanFilterCondition|AddBleScanFilterCondition]], where the the passed BleAdvertiseFilter is generated from the input BleAdvertisePacketParameter. | | This eventually uses [[Bluetooth_Driver_services#AddBleScanFilterCondition|AddBleScanFilterCondition]], where the the passed BleAdvertiseFilter is generated from the input BleAdvertisePacketParameter. |
Line 328: |
Line 328: |
| | | |
| == GetBleScanResultsForGeneral == | | == GetBleScanResultsForGeneral == |
− | Takes a type-0x6 output buffer containing an array of [[Bluetooth_Driver_services#BleScanResult|BleScanResult]], returns an output u8 total_out. | + | Takes a type-0x6 output buffer containing an array of [[Bluetooth_Driver_services#BleScanResult|BleScanResult]]. Returns an output u8 total_out. |
| | | |
| The max array entries is 10. | | The max array entries is 10. |
| | | |
| == StartBleScanForPaired == | | == StartBleScanForPaired == |
− | Takes a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], no output. | + | Takes a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. No output. |
| | | |
| This eventually uses [[Bluetooth_Driver_services#AddBleScanFilterCondition|AddBleScanFilterCondition]], where the the passed BleAdvertiseFilter is generated from the input BleAdvertisePacketParameter. | | This eventually uses [[Bluetooth_Driver_services#AddBleScanFilterCondition|AddBleScanFilterCondition]], where the the passed BleAdvertiseFilter is generated from the input BleAdvertisePacketParameter. |
Line 343: |
Line 343: |
| | | |
| == StartBleScanForSmartDevice == | | == StartBleScanForSmartDevice == |
− | Takes a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], no output. | + | Takes a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]]. No output. |
| | | |
| This eventually uses [[Bluetooth_Driver_services#AddBleScanFilterCondition|AddBleScanFilterCondition]], where the the passed BleAdvertiseFilter is generated from the input GattAttributeUuid. | | This eventually uses [[Bluetooth_Driver_services#AddBleScanFilterCondition|AddBleScanFilterCondition]], where the the passed BleAdvertiseFilter is generated from the input GattAttributeUuid. |
Line 355: |
Line 355: |
| | | |
| == GetBleScanResultsForSmartDevice == | | == GetBleScanResultsForSmartDevice == |
− | Takes a type-0x6 output buffer containing an array of [[Bluetooth_Driver_services#BleScanResult|BleScanResult]], returns an output u8 total_out. | + | Takes a type-0x6 output buffer containing an array of [[Bluetooth_Driver_services#BleScanResult|BleScanResult]]. Returns an output u8 total_out. |
| | | |
| The max array entries is 10. | | The max array entries is 10. |
| | | |
| == AcquireBleConnectionEvent == | | == AcquireBleConnectionEvent == |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| == BleConnect == | | == BleConnect == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| An error is thrown if the [[#BdAddress|BdAddress]] is already connected (listed in the [[Bluetooth_Driver_services#BleConnectionInfo|BleConnectionInfo]] from [[#BleGetConnectionState]]). An error is thrown if 4 [[#BleGetConnectionState|devices]] are already connected. | | An error is thrown if the [[#BdAddress|BdAddress]] is already connected (listed in the [[Bluetooth_Driver_services#BleConnectionInfo|BleConnectionInfo]] from [[#BleGetConnectionState]]). An error is thrown if 4 [[#BleGetConnectionState|devices]] are already connected. |
| | | |
| == BleOverrideConnection == | | == BleOverrideConnection == |
− | Takes an input u32, no output. | + | Takes an input u32 ConnectionHandle. No output. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. | | The u32 is the same as the param for [[#BleDisconnect]]. |
| | | |
| == BleDisconnect == | | == BleDisconnect == |
− | Takes an input u32 ConnectionHandle, no output. | + | Takes an input u32 ConnectionHandle. No output. |
| | | |
| The u32 must match a ConnectionHandle in a [[Bluetooth_Driver_services#BleConnectionInfo|BleConnectionInfo]] from [[#BleGetConnectionState]]. [5.1.0+] 0xFFFFFFFF is invalid. | | The u32 must match a ConnectionHandle in a [[Bluetooth_Driver_services#BleConnectionInfo|BleConnectionInfo]] from [[#BleGetConnectionState]]. [5.1.0+] 0xFFFFFFFF is invalid. |
| | | |
| == BleGetConnectionState == | | == BleGetConnectionState == |
− | Takes a type-0xA output buffer containing an array of [[Bluetooth_Driver_services#BleConnectionInfo|BleConnectionInfo]], returns an output u8 total_out. | + | Takes a type-0xA output buffer containing an array of [[Bluetooth_Driver_services#BleConnectionInfo|BleConnectionInfo]]. Returns an output u8 total_out. |
| | | |
| Other cmds which use this internally use arraycount=4. | | Other cmds which use this internally use arraycount=4. |
Line 386: |
Line 386: |
| | | |
| == AcquireBlePairingEvent == | | == AcquireBlePairingEvent == |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| == BlePairDevice == | | == BlePairDevice == |
− | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output. | + | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an input u32 ConnectionHandle. No output. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. | | The u32 is the same as the param for [[#BleDisconnect]]. |
| | | |
| == BleUnpairDeviceOnBoth == | | == BleUnpairDeviceOnBoth == |
− | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output. | + | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] an input u32 ConnectionHandle. No output. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. | | The u32 is the same as the param for [[#BleDisconnect]]. |
| | | |
| == BleUnpairDevice == | | == BleUnpairDevice == |
− | Takes an input [[#BdAddress|BdAddress]] and a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], no output. | + | Takes an input [[#BdAddress|BdAddress]] and a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. No output. |
| | | |
| == BleGetPairedAddresses == | | == BleGetPairedAddresses == |
− | Takes a type-0xA output buffer containing an array of [[#BdAddress|BdAddress]], a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], returns an output u8 total_out. | + | Takes a type-0xA output buffer containing an array of [[#BdAddress|BdAddress]], a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. Returns an output u8 total_out. |
| | | |
| The max array entries is 10. | | The max array entries is 10. |
| | | |
| == AcquireBleServiceDiscoveryEvent == | | == AcquireBleServiceDiscoveryEvent == |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| == GetGattServices == | | == GetGattServices == |
− | Takes a type-0x6 output buffer containing an array of [[#GattService]], an u32, returns an output u8 total_out. | + | Takes a type-0x6 output buffer containing an array of [[#GattService]] and an input u32 ConnectionHandle. Returns an output u8 total_out. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. | | The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. |
| | | |
| == GetGattService == | | == GetGattService == |
− | Takes a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], returns an output bool. | + | Takes a type-0x1A output buffer containing a [[#GattService]], an input u32 ConnectionHandle and a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]]. Returns an output bool. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. The output bool indicates whether a [[#GattService]] was returned. | | The u32 is the same as the param for [[#BleDisconnect]]. The output bool indicates whether a [[#GattService]] was returned. |
Line 422: |
Line 422: |
| | | |
| == GetGattIncludedServices == | | == GetGattIncludedServices == |
− | Takes a type-0x6 output buffer containing an array of [[#GattService]], an u16 ServiceHandle, an u32, returns an output u8. | + | Takes a type-0x6 output buffer containing an array of [[#GattService]], an u16 ServiceHandle and an input u32 ConnectionHandle. Returns an output u8. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. | | The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. |
Line 431: |
Line 431: |
| | | |
| == GetBelongingService == | | == GetBelongingService == |
− | Takes a type-0x1A output buffer containing a [[#GattService]], an u16 AttributeHandle, an u32, returns an output bool. | + | Takes a type-0x1A output buffer containing a [[#GattService]], an u16 AttributeHandle and an input u32 ConnectionHandle. Returns an output bool. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. The output bool indicates whether a [[#GattService]] was returned. | | The u32 is the same as the param for [[#BleDisconnect]]. The output bool indicates whether a [[#GattService]] was returned. |
Line 438: |
Line 438: |
| | | |
| == GetGattCharacteristics == | | == GetGattCharacteristics == |
− | Takes a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16 ServiceHandle, an u32, returns an output u8 total_out. | + | Takes a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16 ServiceHandle and an input u32 ConnectionHandle. Returns an output u8 total_out. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. | | The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. |
Line 445: |
Line 445: |
| | | |
| == GetGattDescriptors == | | == GetGattDescriptors == |
− | Takes a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16 CharHandle, an u32, returns an output u8 total_out. | + | Takes a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16 CharHandle and an input u32 ConnectionHandle. Returns an output u8 total_out. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. | | The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100. |
Line 452: |
Line 452: |
| | | |
| == AcquireBleMtuConfigEvent == | | == AcquireBleMtuConfigEvent == |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| == ConfigureBleMtu == | | == ConfigureBleMtu == |
− | Takes an u16 mtu, an u32, no output. | + | Takes an u16 mtu and an input u32 ConnectionHandle. No output. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. | | The u32 is the same as the param for [[#BleDisconnect]]. |
| | | |
| == GetBleMtu == | | == GetBleMtu == |
− | Takes an u32, returns an output u16 mtu. | + | Takes an input u32 ConnectionHandle. Returns an output u16 mtu. |
| | | |
| The u32 is the same as the param for [[#BleDisconnect]]. | | The u32 is the same as the param for [[#BleDisconnect]]. |
| | | |
| == RegisterBleGattDataPath == | | == RegisterBleGattDataPath == |
− | Takes a [[#BleDataPath]], no output. | + | Takes a [[#BleDataPath]]. No output. |
| | | |
| == UnregisterBleGattDataPath == | | == UnregisterBleGattDataPath == |
− | Takes a [[#BleDataPath]], no output. | + | Takes a [[#BleDataPath]]. No output. |
| | | |
| == RegisterAppletResourceUserId == | | == RegisterAppletResourceUserId == |
− | Takes an input u32 and an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output. | + | Takes an input u32 and an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. No output. |
| | | |
| == UnregisterAppletResourceUserId == | | == UnregisterAppletResourceUserId == |
− | Takes an input [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output. | + | Takes an input [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. No output. |
| | | |
| == SetAppletResourceUserId == | | == SetAppletResourceUserId == |
− | Takes an input [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output. | + | Takes an input [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. No output. |
| | | |
| == Cmd60 == | | == Cmd60 == |
− | No input, returns an output Event handle with EventClearMode=1. | + | No input. Returns an output Event handle with EventClearMode=1. |
| | | |
| == Cmd61 == | | == Cmd61 == |
− | Takes a 0x44-byte input struct, no output. | + | Takes a 0x44-byte input struct. No output. |
| | | |
| Sends a request which is then handled as follows: | | Sends a request which is then handled as follows: |
Line 519: |
Line 519: |
| | | |
| == Cmd62 == | | == Cmd62 == |
− | Takes an input bool, no output. | + | Takes an input bool. No output. |
| | | |
| Sends a request which is handled as follows: writes the flag into state if needed. | | Sends a request which is handled as follows: writes the flag into state if needed. |
| | | |
| == Cmd63 == | | == Cmd63 == |
− | No input, returns an output bool. | + | No input. Returns an output bool. |
| | | |
| This gets the flag used by [[#Cmd62]]. | | This gets the flag used by [[#Cmd62]]. |
Line 584: |
Line 584: |
| | | |
| == AcquireDiscoveryEvent == | | == AcquireDiscoveryEvent == |
− | No input, returns output an Event handle with EventClearMode=1. | + | No input. Returns output an Event handle with EventClearMode=1. |
| | | |
| [3.0.0+] Now returns an additional output bool. | | [3.0.0+] Now returns an additional output bool. |
Line 595: |
Line 595: |
| | | |
| == GetDeviceProperty == | | == GetDeviceProperty == |
− | Takes a type-0x1A output buffer containing a [[#DevicePropertyList]]. | + | Takes a type-0x1A output buffer containing a [[#DevicePropertyList]]. No output. |
| | | |
| == CreateBond == | | == CreateBond == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| == CancelBond == | | == CancelBond == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| == SetTsiMode == | | == SetTsiMode == |
− | Takes an input [[#BdAddress|BdAddress]] and a [[#TsiMode]], no output. | + | Takes an input [[#BdAddress|BdAddress]] and a [[#TsiMode]]. No output. |
| | | |
| Sends a request which is handled as follows: uses [[Bluetooth_Driver_services#SetTsi|SetTsi]] directly with the specified params. | | Sends a request which is handled as follows: uses [[Bluetooth_Driver_services#SetTsi|SetTsi]] directly with the specified params. |
| | | |
| == GeneralTest == | | == GeneralTest == |
− | Takes an input s32, no output. | + | Takes an input s32. No output. |
| | | |
| == HidConnect == | | == HidConnect == |
− | Takes an input [[#BdAddress|BdAddress]], no output. | + | Takes an input [[#BdAddress|BdAddress]]. No output. |
| | | |
| == GeneralGet == | | == GeneralGet == |
− | Takes an input u32 and a type-0x1A output buffer containing a 0x11-byte struct. | + | Takes an input u32 and a type-0x1A output buffer containing a 0x11-byte struct. No output. |
| | | |
| == GetGattClientDisconnectionReason == | | == GetGattClientDisconnectionReason == |
− | Takes an input [[#BdAddress|BdAddress]] and an u32, returns an output bool and u16. | + | Takes an input [[#BdAddress|BdAddress]] and an u32. Returns an output bool and u16. |
| | | |
| The bool indicates whether the cmd is successful. | | The bool indicates whether the cmd is successful. |
| | | |
| == GetBleConnectionParameter == | | == GetBleConnectionParameter == |
− | Takes an input u32, returns an output bool and 3 u16s. | + | Takes an input u32. Returns an output bool and 3 u16s. |
| | | |
| The bool indicates whether the cmd is successful, the output u16s are only set when this bool is set. | | The bool indicates whether the cmd is successful, the output u16s are only set when this bool is set. |
| | | |
| == GetBleConnectionParameterRequest == | | == GetBleConnectionParameterRequest == |
− | Takes an input u32, returns an output bool and 4 u16s. | + | Takes an input u32. Returns an output bool and 4 u16s. |
| | | |
| The bool indicates whether the cmd is successful, the output u16s are only set when this bool is set. | | The bool indicates whether the cmd is successful, the output u16s are only set when this bool is set. |
Line 645: |
Line 645: |
| | | |
| == GetCore == | | == GetCore == |
− | No input, returns an output [[#IBtmSystemCore]]. | + | No input. Returns an output [[#IBtmSystemCore]]. |
| | | |
| == IBtmSystemCore == | | == IBtmSystemCore == |
Line 713: |
Line 713: |
| | | |
| === GetPairedGamepadCount === | | === GetPairedGamepadCount === |
− | No input, returns an output u8. | + | No input. Returns an output u8. |
| | | |
| === EnableRadio === | | === EnableRadio === |
Line 722: |
Line 722: |
| | | |
| === IsRadioEnabled === | | === IsRadioEnabled === |
− | No input, returns an output bool. | + | No input. Returns an output bool. |
| | | |
| === AcquireRadioEvent === | | === AcquireRadioEvent === |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| === AcquireGamepadPairingEvent === | | === AcquireGamepadPairingEvent === |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| === IsGamepadPairingStarted === | | === IsGamepadPairingStarted === |
− | No input, returns an output bool. | + | No input. Returns an output bool. |
| | | |
| = btm:u = | | = btm:u = |
Line 748: |
Line 748: |
| | | |
| == GetCore == | | == GetCore == |
− | No input, returns an output [[#IBtmUserCore]]. | + | No input. Returns an output [[#IBtmUserCore]]. |
| | | |
| == IBtmUserCore == | | == IBtmUserCore == |
Line 823: |
Line 823: |
| | | |
| === AcquireBleScanEvent === | | === AcquireBleScanEvent === |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| This is similar to the [[#AcquireBleScanEvent|btm]] cmd. | | This is similar to the [[#AcquireBleScanEvent|btm]] cmd. |
| | | |
| === GetBleScanFilterParameter === | | === GetBleScanFilterParameter === |
− | Takes an input u16, returns a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. | + | Takes an input u16. Returns a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. |
| | | |
| This is the same as [[#GetBleScanParameterGeneral]]. | | This is the same as [[#GetBleScanParameterGeneral]]. |
| | | |
| === GetBleScanFilterParameter2 === | | === GetBleScanFilterParameter2 === |
− | Takes an input u16, returns a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]]. | + | Takes an input u16. Returns a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]]. |
| | | |
| This is the same as [[#GetBleScanParameterSmartDevice]]. | | This is the same as [[#GetBleScanParameterSmartDevice]]. |
| | | |
| === StartBleScanForGeneral === | | === StartBleScanForGeneral === |
− | Takes a PID, a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|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. |
| | | |
| This is similar to the [[#StartBleScanForGeneral|btm]] cmd. | | This is similar to the [[#StartBleScanForGeneral|btm]] cmd. |
Line 848: |
Line 848: |
| | | |
| === GetBleScanResultsForGeneral === | | === GetBleScanResultsForGeneral === |
− | 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 total_out. | + | 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 total_out. |
| | | |
| This is similar to the [[#GetBleScanResultsForGeneral|btm]] cmd. | | This is similar to the [[#GetBleScanResultsForGeneral|btm]] cmd. |
| | | |
| === StartBleScanForPaired === | | === StartBleScanForPaired === |
− | Takes a PID, a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|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. |
| | | |
| This is similar to the [[#StartBleScanForPaired|btm]] cmd. | | This is similar to the [[#StartBleScanForPaired|btm]] cmd. |
Line 863: |
Line 863: |
| | | |
| === StartBleScanForSmartDevice === | | === StartBleScanForSmartDevice === |
− | Takes a PID, a [[Bluetooth_Driver_services#GattAttributeUuid|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. |
| | | |
| This is similar to the [[#StartBleScanForSmartDevice|btm]] cmd. | | This is similar to the [[#StartBleScanForSmartDevice|btm]] cmd. |
Line 873: |
Line 873: |
| | | |
| === GetBleScanResultsForSmartDevice === | | === GetBleScanResultsForSmartDevice === |
− | 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 total_out. | + | 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 total_out. |
| | | |
| This is similar to the [[#GetBleScanResultsForSmartDevice|btm]] cmd. | | This is similar to the [[#GetBleScanResultsForSmartDevice|btm]] cmd. |
| | | |
| === AcquireBleConnectionEvent === | | === AcquireBleConnectionEvent === |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| This is similar to the [[#AcquireBleConnectionEvent|btm]] cmd. | | This is similar to the [[#AcquireBleConnectionEvent|btm]] cmd. |
| | | |
| === BleConnect === | | === BleConnect === |
− | Takes a PID, an [[#BdAddress|BdAddress]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output. | + | Takes a PID, an [[#BdAddress|BdAddress]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. No output. |
| | | |
| This is similar to the [[#BleConnect|btm]] cmd. | | This is similar to the [[#BleConnect|btm]] cmd. |
| | | |
| === BleDisconnect === | | === BleDisconnect === |
− | Takes an input u32, no output. | + | Takes an input u32. No output. |
| | | |
| This is similar to the [[#BleDisconnect|btm]] cmd. | | This is similar to the [[#BleDisconnect|btm]] cmd. |
| | | |
| === BleGetConnectionState === | | === BleGetConnectionState === |
− | 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 total_out. | + | 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 total_out. |
| | | |
| This is similar to the [[#BleGetConnectionState|btm]] cmd. | | This is similar to the [[#BleGetConnectionState|btm]] cmd. |
| | | |
| === AcquireBlePairingEvent === | | === AcquireBlePairingEvent === |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| This is similar to the [[#AcquireBlePairingEvent|btm]] cmd. | | This is similar to the [[#AcquireBlePairingEvent|btm]] cmd. |
| | | |
| === BlePairDevice === | | === BlePairDevice === |
− | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output. | + | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32. No output. |
| | | |
| This is similar to the [[#BlePairDevice|btm]] cmd. | | This is similar to the [[#BlePairDevice|btm]] cmd. |
| | | |
| === BleUnPairDevice === | | === BleUnPairDevice === |
− | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output. | + | Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32. No output. |
| | | |
| This is similar to the [[#BleUnpairDeviceOnBoth|btm]] cmd. | | This is similar to the [[#BleUnpairDeviceOnBoth|btm]] cmd. |
| | | |
| === BleUnPairDevice2 === | | === BleUnPairDevice2 === |
− | Takes an input [[#BdAddress|BdAddress]] and a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], no output. | + | Takes an input [[#BdAddress|BdAddress]] and a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. No output. |
| | | |
| This is similar to the [[#BleUnPairDevice|btm]] cmd. | | This is similar to the [[#BleUnPairDevice|btm]] cmd. |
| | | |
| === BleGetPairedDevices === | | === BleGetPairedDevices === |
− | Takes a type-0xA output buffer containing an array of [[#BdAddress|BdAddress]], a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]], returns an output u8 total_out. | + | Takes a type-0xA output buffer containing an array of [[#BdAddress|BdAddress]], a [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]]. Returns an output u8 total_out. |
| | | |
| This is the same as the [[#BleGetPairedAddresses|btm]] cmd. | | This is the same as the [[#BleGetPairedAddresses|btm]] cmd. |
| | | |
| === AcquireBleServiceDiscoveryEvent === | | === AcquireBleServiceDiscoveryEvent === |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| This is similar to the [[#AcquireBleServiceDiscoveryEvent|btm]] cmd. | | This is similar to the [[#AcquireBleServiceDiscoveryEvent|btm]] cmd. |
Line 930: |
Line 930: |
| | | |
| === GetGattServices === | | === GetGattServices === |
− | Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out. | + | Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. Returns an output u8 total_out. |
| | | |
| This is similar to the [[#GetGattServices|btm]] cmd. | | This is similar to the [[#GetGattServices|btm]] cmd. |
| | | |
| === GetGattService === | | === GetGattService === |
− | 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 bool. | + | 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 bool. |
| | | |
| This is similar to the [[#GetGattService|btm]] cmd. | | This is similar to the [[#GetGattService|btm]] cmd. |
| | | |
| === GetGattIncludedServices === | | === GetGattIncludedServices === |
− | Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8. | + | Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. Returns an output u8. |
| | | |
| This is similar to the [[#GetGattIncludedServices|btm]] cmd. | | This is similar to the [[#GetGattIncludedServices|btm]] cmd. |
Line 947: |
Line 947: |
| | | |
| === GetBelongingGattService === | | === GetBelongingGattService === |
− | Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output bool. | + | Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. Returns an output bool. |
| | | |
| This is similar to the [[#GetBelongingService|btm]] cmd. | | This is similar to the [[#GetBelongingService|btm]] cmd. |
| | | |
| === GetGattCharacteristics === | | === GetGattCharacteristics === |
− | Takes a PID, a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out. | + | Takes a PID, a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. Returns an output u8 total_out. |
| | | |
| This is similar to the [[#GetGattCharacteristics|btm]] cmd. | | This is similar to the [[#GetGattCharacteristics|btm]] cmd. |
| | | |
| === GetGattDescriptors === | | === GetGattDescriptors === |
− | Takes a PID, a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out. | + | Takes a PID, a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. Returns an output u8 total_out. |
| | | |
| This is similar to the [[#GetGattDescriptors|btm]] cmd. | | This is similar to the [[#GetGattDescriptors|btm]] cmd. |
| | | |
| === AcquireBleMtuConfigEvent === | | === AcquireBleMtuConfigEvent === |
− | No input, returns an output bool and an Event handle with EventClearMode=1. | + | No input. Returns an output bool and an Event handle with EventClearMode=1. |
| | | |
| This is similar to the [[#AcquireBleMtuConfigEvent|btm]] cmd. | | This is similar to the [[#AcquireBleMtuConfigEvent|btm]] cmd. |
| | | |
| === ConfigureBleMtu === | | === ConfigureBleMtu === |
− | Takes a PID, an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output. | + | Takes a PID, an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. No output. |
| | | |
| This is similar to the [[#ConfigureBleMtu|btm]] cmd. | | This is similar to the [[#ConfigureBleMtu|btm]] cmd. |
Line 974: |
Line 974: |
| | | |
| === GetBleMtu === | | === GetBleMtu === |
− | Takes a PID, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u16. | + | Takes a PID, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. Returns an output u16. |
| | | |
| This is similar to the [[#GetBleMtu|btm]] cmd. | | This is similar to the [[#GetBleMtu|btm]] cmd. |
| | | |
| === RegisterBleGattDataPath === | | === RegisterBleGattDataPath === |
− | 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. |
| | | |
| This is similar to the [[#RegisterBleGattDataPath|btm]] cmd. | | This is similar to the [[#RegisterBleGattDataPath|btm]] cmd. |
| | | |
| === 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. |
| | | |
| This is similar to the [[#UnregisterBleGattDataPath|btm]] cmd. | | This is similar to the [[#UnregisterBleGattDataPath|btm]] cmd. |
Line 1,094: |
Line 1,094: |
| |- | | |- |
| | 2 || 6 | | | 2 || 6 |
| + | |- |
| + | | 3 || Active |
| + | |} |
| + | |
| + | = SniffMode = |
| + | This is "nn::btm::SniffMode". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Value || Description |
| + | |- |
| + | | 0 || 5ms |
| + | |- |
| + | | 1 || 10ms |
| + | |- |
| + | | 2 || 15ms |
| |- | | |- |
| | 3 || Active | | | 3 || Active |
Line 1,108: |
Line 1,124: |
| |- | | |- |
| | 1 || Hid | | | 1 || Hid |
| + | |- |
| + | | 2 || [13.0.0+] Audio |
| |} | | |} |
| | | |
Line 1,122: |
Line 1,140: |
| |- | | |- |
| | 0x2 || 0x2 || Pid | | | 0x2 || 0x2 || Pid |
| + | |} |
| + | |
| + | = HidDeviceCondition = |
| + | This is "nn::btm::HidDeviceCondition". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x4 || [[#SniffMode|SniffMode]] |
| + | |- |
| + | | 0x4 || 0x4 || [[#SlotMode|SlotMode]] |
| + | |- |
| + | | 0x8 || 0x1 || IsBurstMode |
| + | |- |
| + | | 0x9 || 0x11 || [[#ZeroRetransmissionList|ZeroRetransmissionList]] |
| + | |- |
| + | | 0x1A || 0x2 || Vid |
| + | |- |
| + | | 0x1C || 0x2 || Pid |
| |} | | |} |
| | | |
Line 1,142: |
Line 1,182: |
| |- | | |- |
| | 0x29 || 0x1 || FeatureSet | | | 0x29 || 0x1 || FeatureSet |
| + | |- |
| + | | 0x2A || 0xD9 || [13.0.0+] |
| |} | | |} |
| | | |
| = DeviceSlotMode = | | = DeviceSlotMode = |
− | This is "nn::btm::DeviceSlotMode". This is a 0xC-byte struct. | + | This is "nn::btm::DeviceSlotMode". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,174: |
Line 1,216: |
| |- | | |- |
| | 0x4 || 0xC * 8 || Array of [[#DeviceSlotMode|DeviceSlotMode]] | | | 0x4 || 0xC * 8 || Array of [[#DeviceSlotMode|DeviceSlotMode]] |
| + | |} |
| + | |
| + | = DeviceCondition = |
| + | This is "nn::btm::DeviceCondition". This is a 0x6C-byte struct. |
| + | |
| + | [13.0.0+] This is a 0x148-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x6 || [[#BdAddress|BdAddress]] |
| + | |- |
| + | | 0x6 || 0x2 || Reserved |
| + | |- |
| + | | 0x8 || 0x4 || [[#Profile|Profile]] |
| + | |- |
| + | | 0xC || 0x20 || [[#BdName|BdName]] |
| + | |- |
| + | | 0x2C || 0x20 || Empty (Profile = None) or [[#HidDeviceCondition|HidDeviceCondition]] (Profile = Hid) |
| + | |- |
| + | | 0x4C || 0x20 || Reserved |
| + | |- |
| + | | 0x6C || 0xDC || [13.0.0+] |
| + | |} |
| + | |
| + | = DeviceConditionList = |
| + | This is "nn::btm::DeviceConditionList". This is a 0x36C-byte struct. |
| + | |
| + | [13.0.0+] This is a 0xA4C-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x4 || [[#BluetoothMode|BluetoothMode]] |
| + | |- |
| + | | 0x4 || 0x4 || [[#WlanMode|WlanMode]] |
| + | |- |
| + | | 0x8 || 0x1 || IsSlotSavingForPairing |
| + | |- |
| + | | 0x9 || 0x1 || DeviceCount |
| + | |- |
| + | | 0xA || 0x2 || Reserved |
| + | |- |
| + | | 0xC || 0x148 * 8 ([1.0.0-12.1.0] 0x6C * 8) || Array of [[#DeviceCondition|DeviceCondition]] |
| |} | | |} |
| | | |
Line 1,202: |
Line 1,294: |
| |- | | |- |
| | 0x44 || 0x1C || Reserved | | | 0x44 || 0x1C || Reserved |
| + | |- |
| + | | 0x60 || 0xDC || [13.0.0+] |
| |} | | |} |
| | | |
| = DeviceInfoList = | | = DeviceInfoList = |
| This is "nn::btm::DeviceInfoList". This is a 0x3C4-byte struct. | | This is "nn::btm::DeviceInfoList". This is a 0x3C4-byte struct. |
| + | |
| + | [13.0.0+] This is a 0xC5C-byte struct. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,217: |
Line 1,313: |
| | 0x1 || 0x3 || Reserved | | | 0x1 || 0x3 || Reserved |
| |- | | |- |
− | | 0x4 || 0xA * 0x60 || Array of [[#DeviceInfo|DeviceInfo]] | + | | 0x4 || 0x13C * 10 ([1.0.0-12.1.0] 0x60 * 10) || Array of [[#DeviceInfo|DeviceInfo]] |
| |} | | |} |
| | | |