BTM services: Difference between revisions
No edit summary |
|||
Line 12: | Line 12: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || GetState | | 0 || [[#GetState]] | ||
|- | |- | ||
| 1 || GetHostDeviceProperty | | 1 || [[#GetHostDeviceProperty]] | ||
|- | |- | ||
| 2 || AcquireDeviceConditionEvent | | 2 || [[#AcquireDeviceConditionEvent]] | ||
|- | |- | ||
| 3 || GetDeviceCondition | | 3 || [[#GetDeviceCondition]] | ||
|- | |- | ||
| 4 || SetBurstMode | | 4 || [[#SetBurstMode]] | ||
|- | |- | ||
| 5 || SetSlotMode | | 5 || [[#SetSlotMode]] | ||
|- | |- | ||
| 6 || [1.0.0-8.1.0] SetBluetoothMode | | 6 || [1.0.0-8.1.0] [[#SetBluetoothMode]] | ||
|- | |- | ||
| 7 || SetWlanMode | | 7 || [[#SetWlanMode]] | ||
|- | |- | ||
| 8 || AcquireDeviceInfoEvent | | 8 || [[#AcquireDeviceInfoEvent]] | ||
|- | |- | ||
| 9 || GetDeviceInfo | | 9 || [[#GetDeviceInfo]] | ||
|- | |- | ||
| 10 || AddDeviceInfo | | 10 || [[#AddDeviceInfo]] | ||
|- | |- | ||
| 11 || RemoveDeviceInfo | | 11 || [[#RemoveDeviceInfo]] | ||
|- | |- | ||
| 12 || IncreaseDeviceInfoOrder | | 12 || [[#IncreaseDeviceInfoOrder]] | ||
|- | |- | ||
| 13 || [[#LlrNotify]] | | 13 || [[#LlrNotify]] | ||
|- | |- | ||
| 14 || EnableRadio | | 14 || [[#EnableRadio]] | ||
|- | |- | ||
| 15 || DisableRadio | | 15 || [[#DisableRadio]] | ||
|- | |- | ||
| 16 || HidDisconnect | | 16 || [[#HidDisconnect]] | ||
|- | |- | ||
| 17 || HidSetRetransmissionMode | | 17 || [[#HidSetRetransmissionMode]] | ||
|- | |- | ||
| 18 || [2.0.0+] AcquireAwakeReqEvent | | 18 || [2.0.0+] [[#AcquireAwakeReqEvent]] | ||
|- | |- | ||
| 19 || [4.0.0+] AcquireLlrStateEvent | | 19 || [4.0.0+] AcquireLlrStateEvent | ||
Line 143: | Line 143: | ||
|} | |} | ||
[3.0.0+] | With [5.1.0+] cmds 24-42 were moved/replaced/etc (input/output changed). | ||
== GetState == | |||
No input, returns an output [[#BtmState]]. | |||
== GetHostDeviceProperty == | |||
No input, returns an output [[#HostDeviceProperty]]. | |||
== AcquireDeviceConditionEvent == | |||
No input, returns an output Event handle with EventClearMode=1. | |||
[3.0.0+] Now returns an additional output u8. | |||
== GetDeviceCondition == | |||
Takes a type-0x1A output buffer containing a 0x368-byte struct. | |||
== SetBurstMode == | |||
Takes an input [[Bluetooth_Driver_services#Address|Address]] and a bool, no output. | |||
== SetSlotMode == | |||
Takes a type-0x19 input buffer containing a [[#DeviceSlotModeList]], no output. | |||
== SetBluetoothMode == | |||
Takes an input [[#BluetoothMode]], no output. | |||
== SetWlanMode == | |||
Takes an input [[#WlanMode]], no output. | |||
== AcquireDeviceInfoEvent == | |||
No input, returns an output Event handle with EventClearMode=1. | |||
[3.0.0+] Now returns an additional output u8. | |||
== GetDeviceInfo == | |||
Takes a type-0x1A output buffer containing a [[#DeviceInfoList]]. | |||
== AddDeviceInfo == | |||
Takes an input [[#DeviceInfo]], no output. | |||
== RemoveDeviceInfo == | |||
Takes an input [[Bluetooth_Driver_services#Address|Address]], no output. | |||
== IncreaseDeviceInfoOrder == | |||
Takes an input [[Bluetooth_Driver_services#Address|Address]], no output. | |||
== LlrNotify == | == LlrNotify == | ||
Line 151: | Line 192: | ||
[9.0.0+] Takes an input [[Bluetooth_Driver_services#Address|Address]] and a s32, no output. | [9.0.0+] Takes an input [[Bluetooth_Driver_services#Address|Address]] and a s32, no output. | ||
== EnableRadio == | |||
No input/output. | |||
== DisableRadio == | |||
No input/output. | |||
== HidDisconnect == | |||
Takes an input [[Bluetooth_Driver_services#Address|Address]], no output. | |||
== HidSetRetransmissionMode == | |||
Takes an input [[Bluetooth_Driver_services#Address|Address]] and a type-0x19 input buffer containing a [[#ZeroRetransmissionList]], no output. | |||
== AcquireAwakeReqEvent == | |||
No input, returns an output Event handle with EventClearMode=1. | |||
[3.0.0+] Now returns an additional output u8. | |||
= btm:dbg = | = btm:dbg = | ||
Line 507: | Line 565: | ||
=== 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. | ||
= BtmState = | |||
This is "nn::btm::BtmState". This is an u32 enum. | |||
= BluetoothMode = | |||
This is "nn::btm::BluetoothMode". This is an u32 enum. | |||
= WlanMode = | |||
This is "nn::btm::WlanMode". This is an u32 enum. | |||
= HostDeviceProperty = | |||
This is "nn::btm::HostDeviceProperty". This is a 0x2A-byte struct. | |||
= DeviceSlotModeList = | |||
This is "nn::btm::DeviceSlotModeList". This is a 0x64-byte struct. | |||
= DeviceInfoList = | |||
This is "nn::btm::DeviceInfoList". This is a 0x3C4-byte struct. | |||
= DeviceInfo = | |||
This is "nn::btm::DeviceInfo". This is a 0x60-byte struct. | |||
= ZeroRetransmissionList = | |||
This is "nn::btm::ZeroRetransmissionList". This is a 0x11-byte struct. | |||
= GattService = | = GattService = |