Changes

no edit summary
Line 40: Line 40:  
| 12 || [[#IncreaseDeviceInfoOrder]]
 
| 12 || [[#IncreaseDeviceInfoOrder]]
 
|-
 
|-
| 13 || [[#LlrNotify]]
+
| 13 || [9.0.0+] TriggerConnection ([1.0.0-8.1.1] [[#LlrNotify]])
 
|-
 
|-
 
| 14 || [[#EnableRadio]]
 
| 14 || [[#EnableRadio]]
Line 52: Line 52:  
| 18 || [2.0.0+] [[#AcquireAwakeReqEvent]]
 
| 18 || [2.0.0+] [[#AcquireAwakeReqEvent]]
 
|-
 
|-
| 19 || [4.0.0+] [[#AcquireLlrStateEvent]]
+
| 19 || [9.0.0+] AcquireConnectionTriggerEvent ([4.0.0-8.1.1] [[#AcquireLlrStateEvent]])
 
|-
 
|-
| 20 || [4.0.0+] [[#IsLlrStarted]]
+
| 20 || [9.0.0+] IsConnectionTriggered ([4.0.0-8.1.1] [[#IsLlrStarted]])
 
|-
 
|-
 
| 21 || [4.0.0+] [[#EnableSlotSaving]]
 
| 21 || [4.0.0+] [[#EnableSlotSaving]]
Line 134: Line 134:  
| 59 ([5.0.0-5.0.2] 42) || [5.0.0+] [[#SetAppletResourceUserId]]
 
| 59 ([5.0.0-5.0.2] 42) || [5.0.0+] [[#SetAppletResourceUserId]]
 
|-
 
|-
| 60 || [8.0.0+]  
+
| 60 || [8.0.0+] [[#AcquireBleConnectionParameterUpdateEvent]]
 
|-
 
|-
| 61 || [8.0.0+]  
+
| 61 || [8.0.0+] [[#SetCeLength]]
 
|-
 
|-
| 62 || [9.0.0+]  
+
| 62 || [9.0.0+] [[#EnsureSlotExpansion]]
 
|-
 
|-
| 63 || [9.0.0+]  
+
| 63 || [9.0.0+] [[#IsSlotExpansionEnsured]]
 
|-
 
|-
| 64 || [10.0.0+]  
+
| 64 || [10.0.0+] [[#CancelConnectionTrigger]]
 
|-
 
|-
| 65 || [13.0.0+]  
+
| 65 || [13.0.0+] GetConnectionCapacity
 
|-
 
|-
| 66 || [13.0.0+]  
+
| 66 || [13.0.0+] GetWlanMode
 
|-
 
|-
| 67 || [13.0.0+]  
+
| 67 || [13.0.0+] IsSlotSavingEnabled
 
|-
 
|-
| 68 || [13.0.0+]  
+
| 68 || [13.0.0+] IsSlotSavingForPairingEnabled
 
|-
 
|-
 
| 69 || [13.0.0+] AcquireAudioDeviceConnectionEvent
 
| 69 || [13.0.0+] AcquireAudioDeviceConnectionEvent
Line 156: Line 156:  
| 70 || [13.0.0+] GetConnectedAudioDevices
 
| 70 || [13.0.0+] GetConnectedAudioDevices
 
|-
 
|-
| 71 || [13.0.0+]  
+
| 71 || [13.0.0+] SetAudioSourceVolume
 
|-
 
|-
| 72 || [13.0.0+]  
+
| 72 || [13.0.0+] GetAudioSourceVolume
 
|-
 
|-
 
| 73 || [13.0.0+] RequestAudioDeviceConnectionRejection
 
| 73 || [13.0.0+] RequestAudioDeviceConnectionRejection
Line 166: Line 166:  
| 75 || [13.0.0+] GetPairedAudioDevices
 
| 75 || [13.0.0+] GetPairedAudioDevices
 
|-
 
|-
| 76 || [13.1.0+]  
+
| 76 || [13.1.0+] SetWlanModeWithOption
 
|-
 
|-
| 100 || [13.0.0+]  
+
| 100 || [13.0.0+] AcquireConnectionDisallowedEvent
 
|-
 
|-
| 101 || [13.0.0+]  
+
| 101 || [13.0.0+] GetUsecaseViolationFactor
 
|-
 
|-
 
| 110 || [13.0.0+] GetShortenedDeviceInfo
 
| 110 || [13.0.0+] GetShortenedDeviceInfo
 
|-
 
|-
| 111 || [13.0.0+]  
+
| 111 || [13.0.0+] AcquirePairingCountUpdateEvent
 
|-
 
|-
 
| 112 || [14.0.0-14.1.2]  
 
| 112 || [14.0.0-14.1.2]  
Line 180: Line 180:  
| 113 || [14.0.0-14.1.2]  
 
| 113 || [14.0.0-14.1.2]  
 
|-
 
|-
| 114 || [14.0.0+]  
+
| 114 || [14.0.0+] IsFirstAudioControlConnection
 
|-
 
|-
 
| 115 || [14.0.0+] GetShortenedDeviceCondition
 
| 115 || [14.0.0+] GetShortenedDeviceCondition
 
|-
 
|-
| 116 || [15.0.0+]  
+
| 116 || [15.0.0+] SetAudioSinkVolume
 
|-
 
|-
| 117 || [15.0.0+]  
+
| 117 || [15.0.0+] GetAudioSinkVolume
 
|}
 
|}
   Line 479: Line 479:  
Takes an input [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. No output.
 
Takes an input [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]]. No output.
   −
== Cmd60 ==
+
== AcquireBleConnectionParameterUpdateEvent ==
 
No input. Returns an output Event handle with EventClearMode=1.
 
No input. Returns an output Event handle with EventClearMode=1.
   −
== Cmd61 ==
+
== SetCeLength ==
Takes a 0x44-byte input struct. No output.
+
Takes an input [[#DeviceCeLengthList|DeviceCeLengthList]]. No output.
    
Sends a request which is then handled as follows:
 
Sends a request which is then handled as follows:
 
* Calls a func for getting the data from the input struct etc for passing to another func, that func is the same one called by [[#SetSlotMode]].
 
* Calls a func for getting the data from the input struct etc for passing to another func, that func is the same one called by [[#SetSlotMode]].
   −
The input struct has the following structure:
+
== EnsureSlotExpansion ==
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0 || 0x10 * 4 || Array of the below struct.
  −
|-
  −
| 0x40 || 0x4 || s32 count, for the array at +0.
  −
|}
  −
 
  −
Struct for the above array:
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0 || 0x6 || [[#BdAddress|BdAddress]]
  −
|-
  −
| 0x6 || 0x6 || Unused
  −
|-
  −
| 0xC || 0x1 || Used to determine data which is then used for [[Bluetooth_Driver_services#BleConnectionParameter|BleConnectionParameter]].
  −
|-
  −
| 0xD || 0x3 || Padding
  −
|}
  −
 
  −
== 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 ==
+
== IsSlotExpansionEnsured ==
 
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 [[#EnsureSlotExpansion]].
   −
== Cmd64 ==
+
== CancelConnectionTrigger ==
 
No input/output.
 
No input/output.
   Line 537: Line 507:     
This has max_sessions 6. IPC is handled by 2 threads shared with all services.
 
This has max_sessions 6. IPC is handled by 2 threads shared with all services.
  −
[12.0.0+] Cmds input/output were changed / cmdids were moved around.
  −
  −
[13.0.0+] Cmd4 now takes a type-0xA output buffer, returns a total of 4-bytes of output.
      
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 552: Line 518:  
| 2 || [[#CancelDiscovery]]
 
| 2 || [[#CancelDiscovery]]
 
|-
 
|-
| 3 || [[#GetDeviceProperty]]
+
| 3 || [12.0.0+] IsDiscoveryEnabled ([1.0.0-11.0.1] [[#GetDeviceProperty]])
 
|-
 
|-
 
| 4 || [[#CreateBond]]
 
| 4 || [[#CreateBond]]
Line 572: Line 538:  
| 12 || [5.1.0+] [[#GetBleConnectionParameterRequest]]
 
| 12 || [5.1.0+] [[#GetBleConnectionParameterRequest]]
 
|-
 
|-
| 13 || [12.0.0+]
+
| 13 || [12.0.0+] GetDiscoveredDevice
 
|-
 
|-
| 14 || [15.0.0+]
+
| 14 || [15.0.0+] SleepAwakeLoopTest
 
|-
 
|-
| 15 || [15.0.0+]
+
| 15 || [15.0.0+] SleepTest
 
|-
 
|-
| 16 || [15.0.0+]
+
| 16 || [15.0.0+] MinimumAwakeTest
 
|-
 
|-
| 17 || [15.0.0+]
+
| 17 || [15.0.0+] ForceEnableBtm
 
|}
 
|}
   Line 599: Line 565:  
== CreateBond ==
 
== CreateBond ==
 
Takes an input [[#BdAddress|BdAddress]]. No output.
 
Takes an input [[#BdAddress|BdAddress]]. No output.
 +
 +
[13.0.0+] Now takes a type-0xA output buffer, returns a total of 4-bytes of output.
    
== CancelBond ==
 
== CancelBond ==
Line 1,344: Line 1,312:  
|-
 
|-
 
| 0x1 || 0x29 * 15 || Array of [[#DeviceProperty|DeviceProperty]]
 
| 0x1 || 0x29 * 15 || Array of [[#DeviceProperty|DeviceProperty]]
 +
|}
 +
 +
= DeviceCeLength =
 +
This is "nn::btm::DeviceCeLength". This is a 0x10-byte struct.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x6 || [[#BdAddress|BdAddress]]
 +
|-
 +
| 0x6 || 0x6 || Reserved
 +
|-
 +
| 0xC || 0x1 || CeLength (used for [[Bluetooth_Driver_services#BleConnectionParameter|BleConnectionParameter]])
 +
|-
 +
| 0xD || 0x3 || Reserved
 +
|}
 +
 +
= DeviceCeLengthList =
 +
This is "nn::btm::DeviceCeLengthList". This is a 0x44-byte struct.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x10 * 4 || Array of [[#DeviceCeLength|DeviceCeLength]]
 +
|-
 +
| 0x40 || 0x4 || DeviceCount
 
|}
 
|}