Bluetooth Driver services: Difference between revisions

No edit summary
No edit summary
Line 314: Line 314:


This is used by [[BTM_services|btm]].
This is used by [[BTM_services|btm]].
See [[#EventInfo]].


== InitializeHid ==
== InitializeHid ==
Line 878: Line 880:
= EventType =
= EventType =
This is u32 enum "nn::bluetooth::EventType".
This is u32 enum "nn::bluetooth::EventType".
{| class="wikitable" border="1"
|-
!  Value
!  Name
!  Description
|-
| 0 || || The funcptr which writes the data into state for this event is not called (only checked on [10.0.0]).
|-
| 3 || || New device discovered.
|-
| 4 || || Discovery status changed.
|-
| 5 || || Triggered by BSA_SEC_PIN_REQ_EVT: PIN code request for pairing.
|-
| 6 || ||
|-
| 7 || ||
|-
| 13 || ||
|}


= BluetoothHhReportType =
= BluetoothHhReportType =
Line 958: Line 981:
= Address =
= Address =
This is "nn::bluetooth::Address". This is a 0x6-byte struct with 1-byte alignment.
This is "nn::bluetooth::Address". This is a 0x6-byte struct with 1-byte alignment.
= EventInfo =
This is the output buffer for [[#GetEventInfo]]. The data stored here depends on the [[#EventType]].
[[#EventType|Type0]]:
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x4 ||
|}
[[#EventType|Type3]]:
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0xF9 || Device name, NUL-terminated string.
|-
| 0xF9 || 0x6 || Device [[#Address|address]].
|-
| 0xFF || 0x10 ||
|-
| 0x10F || 0x3 || Device class.
|-
| 0x112 || 0x4 || Set to fixed value u32 0x1.
|-
| 0x116 || 0xFA ||
|-
| 0x210 || 0x5C || Reserved
|-
| 0x26C || 0xF9 || Device name, NUL-terminated string. Same as name above, except starting at index 1.
|-
| 0x365 || 0x4 || s32 RSSI
|-
| 0x369 || 0x4 || Two bytes which are the same as name[11-12].
|-
| 0x36D || 0x10 || Reserved
|}
[[#EventType|Type4]]:
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x4 || Status: 0 = stopped, 1 = started.
|}
[[#EventType|Type5]]:
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x6 || Device [[#Address|address]].
|-
| 0x6 || 0xF9 || Device name, NUL-terminated string.
|-
| 0xFF || 0x3 || Device class.
|}
[[#EventType|Type6]]:
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x6 || Device [[#Address|address]].
|-
| 0x6 || 0xF9 || Device name, NUL-terminated string.
|-
| 0xFF || 0x3 || Device class.
|-
| 0x103 || 0x1 || Padding
|-
| 0x104 || 0x4 ||
|-
| 0x108 || 0x4 || s32 Passkey
|}
[[#EventType|Type7]]:
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x4 ||
|-
| 0x4 || 0x6 || Device [[#Address|address]].
|-
| 0xA || 0x2 || Padding
|-
| 0xC || 0x4 ||
|}
[[#EventType|Type13]]:
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x2 ||
|}


= BluetoothPinCode =
= BluetoothPinCode =