Changes

no edit summary
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]]
 
|}
 
|}