107 BtdrvHidConnectionStatus_Opened = 1,
111 BtdrvHidConnectionStatusOld_Opened = 0,
112 BtdrvHidConnectionStatusOld_Closed = 2,
113 BtdrvHidConnectionStatusOld_Failed = 8,
154 BtdrvGattAttributePermission_Read =
BIT(0),
155 BtdrvGattAttributePermission_ReadEncrypted =
BIT(1),
156 BtdrvGattAttributePermission_ReadEncryptedMitm =
BIT(2),
157 BtdrvGattAttributePermission_Write =
BIT(4),
158 BtdrvGattAttributePermission_WriteEncrypted =
BIT(5),
159 BtdrvGattAttributePermission_WriteEncryptedMitm =
BIT(6),
160 BtdrvGattAttributePermission_WriteSigned =
BIT(7),
161 BtdrvGattAttributePermission_WriteSignedMitm =
BIT(8),
163 BtdrvGattAttributePermission_ReadAllowed = BtdrvGattAttributePermission_Read | BtdrvGattAttributePermission_ReadEncrypted | BtdrvGattAttributePermission_ReadEncryptedMitm,
164 BtdrvGattAttributePermission_ReadAuthRequired = BtdrvGattAttributePermission_ReadEncrypted,
165 BtdrvGattAttributePermission_ReadMitmRequired = BtdrvGattAttributePermission_ReadEncryptedMitm,
166 BtdrvGattAttributePermission_ReadEncryptedRequired = BtdrvGattAttributePermission_ReadEncrypted | BtdrvGattAttributePermission_ReadEncryptedMitm,
168 BtdrvGattAttributePermission_WriteAllowed = BtdrvGattAttributePermission_Write | BtdrvGattAttributePermission_WriteEncrypted | BtdrvGattAttributePermission_WriteEncryptedMitm | BtdrvGattAttributePermission_WriteSigned | BtdrvGattAttributePermission_WriteSignedMitm,
169 BtdrvGattAttributePermission_WriteAuthRequired = BtdrvGattAttributePermission_WriteEncrypted | BtdrvGattAttributePermission_WriteSigned,
170 BtdrvGattAttributePermission_WriteMitmRequired = BtdrvGattAttributePermission_WriteEncryptedMitm | BtdrvGattAttributePermission_WriteSignedMitm,
171 BtdrvGattAttributePermission_WriteEncryptedRequired = BtdrvGattAttributePermission_WriteEncrypted | BtdrvGattAttributePermission_WriteEncryptedMitm,
172 BtdrvGattAttributePermission_WriteSignedRequired = BtdrvGattAttributePermission_WriteSigned | BtdrvGattAttributePermission_WriteSignedMitm,
177 BtdrvGattCharacteristicProperty_Broadcast =
BIT(0),
178 BtdrvGattCharacteristicProperty_Read =
BIT(1),
179 BtdrvGattCharacteristicProperty_WriteNoResponse =
BIT(2),
180 BtdrvGattCharacteristicProperty_Write =
BIT(3),
181 BtdrvGattCharacteristicProperty_Notify =
BIT(4),
182 BtdrvGattCharacteristicProperty_Indicate =
BIT(5),
183 BtdrvGattCharacteristicProperty_Authentication =
BIT(6),
184 BtdrvGattCharacteristicProperty_ExtendedProperties =
BIT(7),
189 BtdrvGattAuthReqType_None = 0,
190 BtdrvGattAuthReqType_NoMitm = 1,
191 BtdrvGattAuthReqType_Mitm = 2,
192 BtdrvGattAuthReqType_SignedNoMitm = 3,
193 BtdrvGattAuthReqType_SignedMitm = 4,
220 u8 class_of_device[0x3];
387 u16 group_end_handle;
Bluetooth SIG assigned number definitions (see https://www.bluetooth.com/specifications/assigned-numb...
BtdrvHidConnectionStatus
HidConnectionStatus [12.0.0+].
Definition: btdrv_types.h:104
@ BtdrvHidConnectionStatus_Failed
BtdrvHidConnectionStatusOld_* should be used on [1.0.0-11.0.1].
Definition: btdrv_types.h:108
@ BtdrvHidConnectionStatus_Closed
BtdrvHidConnectionStatus_* should be used on [12.0.0+].
Definition: btdrv_types.h:106
BtdrvAudioCodec
AudioCodec.
Definition: btdrv_types.h:209
@ BtdrvAudioCodec_Pcm
Raw PCM.
Definition: btdrv_types.h:210
BtdrvGattAttributeType
GattAttributeType.
Definition: btdrv_types.h:145
@ BtdrvGattAttributeType_Descriptor
Descriptor.
Definition: btdrv_types.h:148
@ BtdrvGattAttributeType_Service
Service.
Definition: btdrv_types.h:149
@ BtdrvGattAttributeType_Characteristic
Characteristic.
Definition: btdrv_types.h:147
@ BtdrvGattAttributeType_IncludedService
Included service.
Definition: btdrv_types.h:146
BtdrvConnectionEventType
ConnectionEventType.
Definition: btdrv_types.h:60
@ BtdrvConnectionEventType_SspConfirmRequest
SSP confirm request.
Definition: btdrv_types.h:62
@ BtdrvConnectionEventType_Status
BtdrvEventInfo::connection::status.
Definition: btdrv_types.h:61
@ BtdrvConnectionEventType_Suspended
ACL Link is now Suspended.
Definition: btdrv_types.h:63
BtdrvAudioEventType
AudioEventType.
Definition: btdrv_types.h:197
@ BtdrvAudioEventType_Connection
Connection.
Definition: btdrv_types.h:199
@ BtdrvAudioEventType_None
None.
Definition: btdrv_types.h:198
BtdrvAudioOutState
AudioOutState.
Definition: btdrv_types.h:203
@ BtdrvAudioOutState_Stopped
Stopped.
Definition: btdrv_types.h:204
@ BtdrvAudioOutState_Started
Started.
Definition: btdrv_types.h:205
BtdrvGattCharacteristicProperty
GattCharacteristicProperty.
Definition: btdrv_types.h:176
BtdrvAdapterPropertyType
AdapterPropertyType [12.0.0+].
Definition: btdrv_types.h:21
@ BtdrvAdapterPropertyType_Address
BtdrvAddress
Definition: btdrv_types.h:22
@ BtdrvAdapterPropertyType_ClassOfDevice
3-bytes, Class of Device.
Definition: btdrv_types.h:24
@ BtdrvAdapterPropertyType_Unknown3
Only available with btdrvSetAdapterProperty. Unknown, BtdrvAddress.
Definition: btdrv_types.h:25
@ BtdrvAdapterPropertyType_Name
Name. String, max length 0xF8 excluding NUL-terminator.
Definition: btdrv_types.h:23
BtdrvFatalReason
This determines the u16 data to write into a CircularBuffer.
Definition: btdrv_types.h:117
@ BtdrvFatalReason_Invalid
Only for BtdrvEventInfo: invalid.
Definition: btdrv_types.h:118
@ BtdrvFatalReason_CommandTimeout
HCI command timeout.
Definition: btdrv_types.h:120
@ BtdrvFatalReason_Audio
[12.0.0+] Only for BtdrvEventInfo: triggered by Audio cmds in some cases.
Definition: btdrv_types.h:123
@ BtdrvFatalReason_HardwareError
HCI event HCI_Hardware_Error occurred.
Definition: btdrv_types.h:121
@ BtdrvFatalReason_Enable
Only for BtdrvEventInfo: triggered after enabling bluetooth, depending on the value of a global state...
Definition: btdrv_types.h:122
@ BtdrvFatalReason_Unknown1
Can only be triggered by btdrvEmulateBluetoothCrash, not triggered by the sysmodule otherwise.
Definition: btdrv_types.h:119
BtdrvGattAttributePermission
GattAttributePermission.
Definition: btdrv_types.h:153
BtdrvHidEventType
HidEventType.
Definition: btdrv_types.h:88
@ BtdrvHidEventTypeOld_Ext
Response for extensions. Only used with btdrvGetHidEventInfo.
Definition: btdrv_types.h:98
@ BtdrvHidEventType_Connection
BtdrvHidEventType_* should be used on [12.0.0+].
Definition: btdrv_types.h:90
@ BtdrvHidEventTypeOld_SetReport
Response to SET_REPORT.
Definition: btdrv_types.h:99
@ BtdrvHidEventType_Data
DATA report on the Interrupt channel.
Definition: btdrv_types.h:91
@ BtdrvHidEventType_GetReport
Response to GET_REPORT.
Definition: btdrv_types.h:93
@ BtdrvHidEventTypeOld_GetReport
Response to GET_REPORT.
Definition: btdrv_types.h:100
@ BtdrvHidEventTypeOld_Data
DATA report on the Interrupt channel.
Definition: btdrv_types.h:97
@ BtdrvHidEventTypeOld_Connection
Connection. Only used with btdrvGetHidEventInfo.
Definition: btdrv_types.h:96
@ BtdrvHidEventType_SetReport
Response to SET_REPORT.
Definition: btdrv_types.h:92
BtdrvInquiryStatus
BtdrvInquiryStatus.
Definition: btdrv_types.h:54
@ BtdrvInquiryStatus_Started
Inquiry started.
Definition: btdrv_types.h:56
@ BtdrvInquiryStatus_Stopped
Inquiry stopped.
Definition: btdrv_types.h:55
BtdrvExtEventType
ExtEventType [1.0.0-11.0.1].
Definition: btdrv_types.h:67
@ BtdrvExtEventType_PendingConnections
btdrvGetPendingConnections
Definition: btdrv_types.h:73
@ BtdrvExtEventType_SetBurstMode
SetBurstMode (btdrvEnableBurstMode)
Definition: btdrv_types.h:70
@ BtdrvExtEventType_MoveToSecondaryPiconet
btdrvMoveToSecondaryPiconet
Definition: btdrv_types.h:74
@ BtdrvExtEventType_SetTsi
SetTsi (btdrvSetTsi)
Definition: btdrv_types.h:68
@ BtdrvExtEventType_ExitBurstMode
ExitBurstMode (btdrvEnableBurstMode)
Definition: btdrv_types.h:71
@ BtdrvExtEventType_SetZeroRetransmission
btdrvSetZeroRetransmission
Definition: btdrv_types.h:72
@ BtdrvExtEventType_ExitTsi
ExitTsi (btdrvSetTsi)
Definition: btdrv_types.h:69
BtdrvGattAuthReqType
GattAuthReqType.
Definition: btdrv_types.h:188
BtdrvBleEventType
BleEventType.
Definition: btdrv_types.h:127
@ BtdrvBleEventType_ClientRegistration
GATT client registration.
Definition: btdrv_types.h:128
@ BtdrvBleEventType_ServerRegistration
GATT server registration.
Definition: btdrv_types.h:129
@ BtdrvBleEventType_PreferredConnectionParameters
Preferred connection parameters.
Definition: btdrv_types.h:131
@ BtdrvBleEventType_ClientCacheLoad
GATT client cache load.
Definition: btdrv_types.h:138
@ BtdrvBleEventType_ServerConnection
GATT server connection.
Definition: btdrv_types.h:133
@ BtdrvBleEventType_ScanResult
Scan result.
Definition: btdrv_types.h:134
@ BtdrvBleEventType_ServerAddCharacteristic
GATT server add characteristic.
Definition: btdrv_types.h:140
@ BtdrvBleEventType_ClientCacheSave
GATT client cache save.
Definition: btdrv_types.h:137
@ BtdrvBleEventType_ClientConnection
GATT client connection.
Definition: btdrv_types.h:132
@ BtdrvBleEventType_ConnectionUpdate
Connection update.
Definition: btdrv_types.h:130
@ BtdrvBleEventType_ServerWrite
GATT server write.
Definition: btdrv_types.h:141
@ BtdrvBleEventType_ClientNotify
GATT client notify.
Definition: btdrv_types.h:136
@ BtdrvBleEventType_ClientConfigureMtu
GATT client configure MTU.
Definition: btdrv_types.h:139
@ BtdrvBleEventType_ScanFilter
Scan filter status.
Definition: btdrv_types.h:135
BtdrvEventType
EventType.
Definition: btdrv_types.h:29
@ BtdrvEventTypeOld_BluetoothCrash
BluetoothCrash.
Definition: btdrv_types.h:50
@ BtdrvEventType_SetZeroRetransmission
btdrvSetZeroRetransmission
Definition: btdrv_types.h:38
@ BtdrvEventType_MoveToSecondaryPiconet
btdrvMoveToSecondaryPiconet
Definition: btdrv_types.h:40
@ BtdrvEventType_BluetoothCrash
BluetoothCrash.
Definition: btdrv_types.h:41
@ BtdrvEventType_InquiryDevice
BtdrvEventType_* should be used on [12.0.0+].
Definition: btdrv_types.h:31
@ BtdrvEventType_SspRequest
SSP confirm request / SSP passkey notification.
Definition: btdrv_types.h:34
@ BtdrvEventTypeOld_SspRequest
SSP confirm request / SSP passkey notification.
Definition: btdrv_types.h:48
@ BtdrvEventTypeOld_PairingPinCodeRequest
Pairing PIN code request.
Definition: btdrv_types.h:47
@ BtdrvEventType_PendingConnections
btdrvGetPendingConnections
Definition: btdrv_types.h:39
@ BtdrvEventTypeOld_Connection
Connection.
Definition: btdrv_types.h:49
@ BtdrvEventType_PairingPinCodeRequest
Pairing PIN code request.
Definition: btdrv_types.h:33
@ BtdrvEventType_Tsi
SetTsi (btdrvSetTsi)
Definition: btdrv_types.h:36
@ BtdrvEventTypeOld_Unknown0
Unused.
Definition: btdrv_types.h:44
@ BtdrvEventTypeOld_InquiryDevice
Device found during Inquiry.
Definition: btdrv_types.h:45
@ BtdrvEventType_Connection
Connection.
Definition: btdrv_types.h:35
@ BtdrvEventTypeOld_InquiryStatus
Inquiry status changed.
Definition: btdrv_types.h:46
@ BtdrvEventType_BurstMode
SetBurstMode (btdrvEnableBurstMode)
Definition: btdrv_types.h:37
@ BtdrvEventType_InquiryStatus
Inquiry status changed.
Definition: btdrv_types.h:32
BtdrvBluetoothPropertyType
BluetoothPropertyType [1.0.0-11.0.1].
Definition: btdrv_types.h:12
@ BtdrvBluetoothPropertyType_FeatureSet
1-byte, FeatureSet. The default is value 0x68.
Definition: btdrv_types.h:17
@ BtdrvBluetoothPropertyType_Address
BtdrvAddress
Definition: btdrv_types.h:14
@ BtdrvBluetoothPropertyType_Name
Name. String, max length 0xF8 excluding NUL-terminator.
Definition: btdrv_types.h:13
@ BtdrvBluetoothPropertyType_ClassOfDevice
3-bytes, Class of Device.
Definition: btdrv_types.h:16
@ BtdrvBluetoothPropertyType_Unknown3
Only available with btdrvSetAdapterProperty. Unknown, BtdrvAddress.
Definition: btdrv_types.h:15
BtdrvBluetoothHhReportType
BluetoothHhReportType Bit0-1 directly control the HID bluetooth transaction report-type value.
Definition: btdrv_types.h:80
@ BtdrvBluetoothHhReportType_Other
Other.
Definition: btdrv_types.h:81
@ BtdrvBluetoothHhReportType_Input
Input.
Definition: btdrv_types.h:82
@ BtdrvBluetoothHhReportType_Output
Output.
Definition: btdrv_types.h:83
@ BtdrvBluetoothHhReportType_Feature
Feature.
Definition: btdrv_types.h:84
AdapterProperty [1.0.0-11.0.1].
Definition: btdrv_types.h:224
u8 feature_set
Set to hard-coded value 0x68 (same as the data for BtdrvBluetoothPropertyType_FeatureSet).
Definition: btdrv_types.h:228
BtdrvAddress addr
Same as the data for BtdrvBluetoothPropertyType_Address.
Definition: btdrv_types.h:225
BtdrvClassOfDevice class_of_device
Same as the data for BtdrvBluetoothPropertyType_ClassOfDevice.
Definition: btdrv_types.h:226
AdapterPropertySet [12.0.0+].
Definition: btdrv_types.h:239
BtdrvClassOfDevice class_of_device
Same as the data for BtdrvBluetoothPropertyType_ClassOfDevice.
Definition: btdrv_types.h:241
BtdrvAddress addr
Same as the data for BtdrvBluetoothPropertyType_Address.
Definition: btdrv_types.h:240
AdapterProperty [12.0.0+].
Definition: btdrv_types.h:232
u8 size
Data size.
Definition: btdrv_types.h:234
u8 type
BtdrvAdapterPropertyType
Definition: btdrv_types.h:233
Address.
Definition: btdrv_types.h:214
BleAdvertiseFilter.
Definition: btdrv_types.h:340
u8 mask_size
Size of mask above.
Definition: btdrv_types.h:344
u8 index
Filter index.
Definition: btdrv_types.h:341
BtdrvBleAdvertisement adv
BtdrvBleAdvertisement
Definition: btdrv_types.h:342
BtdrvBleAdvertisePacketDataEntry.
Definition: btdrv_types.h:307
u16 unk_x0
Unknown.
Definition: btdrv_types.h:308
BleAdvertisePacketData.
Definition: btdrv_types.h:313
u8 unk_xC7
Unknown.
Definition: btdrv_types.h:327
u8 size2
Size of the data at unk_xA8.
Definition: btdrv_types.h:323
u32 unk_x0
Unknown.
Definition: btdrv_types.h:314
u8 unk_xA5
Unknown.
Definition: btdrv_types.h:324
u8 count
Total array entries, see entries.
Definition: btdrv_types.h:319
u8 unk_x4
Unknown.
Definition: btdrv_types.h:315
u8 size0
Size of the data at unk_x6.
Definition: btdrv_types.h:316
u8 unk_xC8
Unknown.
Definition: btdrv_types.h:328
BleAdvertisePacketParameter.
Definition: btdrv_types.h:348
BleAdvertisement.
Definition: btdrv_types.h:333
u8 size
Size of data below.
Definition: btdrv_types.h:334
u8 type
BtdrvAdType
Definition: btdrv_types.h:335
BleClientGattOperationInfo.
Definition: btdrv_types.h:406
u32 unk_x4
BtdrvLeEventInfo::unk_x4.
Definition: btdrv_types.h:409
u64 size
BtdrvLeEventInfo::size.
Definition: btdrv_types.h:415
BtdrvGattAttributeUuid uuid2
BtdrvLeEventInfo::uuid2.
Definition: btdrv_types.h:414
BtdrvGattAttributeUuid uuid1
BtdrvLeEventInfo::uuid1.
Definition: btdrv_types.h:413
u8 unk_x8
BtdrvLeEventInfo::unk_x8.
Definition: btdrv_types.h:410
BtdrvGattAttributeUuid uuid0
BtdrvLeEventInfo::uuid0.
Definition: btdrv_types.h:412
u8 unk_x0
Converted from BtdrvLeEventInfo::unk_x0.
Definition: btdrv_types.h:407
BleConnectionInfo.
Definition: btdrv_types.h:363
BtdrvAddress addr
BtdrvAddress
Definition: btdrv_types.h:365
u32 connection_handle
ConnectionHandle, 0xFFFFFFFF ([5.0.0-5.0.2] 0xFFFF) is invalid.
Definition: btdrv_types.h:364
BleConnectionParameter [9.0.0+].
Definition: btdrv_types.h:297
u16 min_conn_interval
Minimum connection interval.
Definition: btdrv_types.h:298
u16 slave_latency
Slave latency.
Definition: btdrv_types.h:302
u16 max_conn_interval
Maximum connection interval.
Definition: btdrv_types.h:299
u16 supervision_tout
Connection supervision timeout multiplier.
Definition: btdrv_types.h:303
u16 scan_interval
Scan interval.
Definition: btdrv_types.h:300
u16 scan_window
Scan window.
Definition: btdrv_types.h:301
BleScanResult.
Definition: btdrv_types.h:354
s32 unk_x144
Unknown.
Definition: btdrv_types.h:359
u8 unk_x0
Unknown.
Definition: btdrv_types.h:355
BtdrvAddress addr
BtdrvAddress
Definition: btdrv_types.h:356
s32 count
Unknown.
Definition: btdrv_types.h:358
BluetoothPinCode [1.0.0-11.0.1].
Definition: btdrv_types.h:246
ChannelMapList.
Definition: btdrv_types.h:279
ClassOfDevice.
Definition: btdrv_types.h:219
GattAttributeUuid.
Definition: btdrv_types.h:370
u32 size
UUID size, must be 0x2, 0x4, or 0x10.
Definition: btdrv_types.h:371
GattAttribute.
Definition: btdrv_types.h:383
u8 property
Only used when type is characteristic. BtdrvGattCharacteristicProperty.
Definition: btdrv_types.h:388
u16 type
BtdrvGattAttributeType
Definition: btdrv_types.h:385
bool is_primary
Only used when type is service.
Definition: btdrv_types.h:389
BtdrvGattId id
BtdrvGattId
Definition: btdrv_types.h:384
GattId.
Definition: btdrv_types.h:376
BtdrvGattAttributeUuid uuid
BtdrvGattAttributeUuid
Definition: btdrv_types.h:379
u8 instance_id
InstanceId.
Definition: btdrv_types.h:377
HidData [1.0.0-8.1.1].
Definition: btdrv_types.h:257
u16 size
Size of data.
Definition: btdrv_types.h:258
HidReport [9.0.0+].
Definition: btdrv_types.h:263
u16 size
Size of data.
Definition: btdrv_types.h:264
LeConnectionParams [5.0.0-8.1.1].
Definition: btdrv_types.h:284
u16 min_conn_interval
Minimum connection interval.
Definition: btdrv_types.h:286
u8 preference
Unused.
Definition: btdrv_types.h:292
u16 scan_window
Scan window.
Definition: btdrv_types.h:289
BtdrvAddress addr
BtdrvAddress
Definition: btdrv_types.h:285
u16 slave_latency
Slave latency.
Definition: btdrv_types.h:290
u16 max_conn_interval
Maximum connection interval.
Definition: btdrv_types.h:287
u8 pad
Padding.
Definition: btdrv_types.h:293
u16 supervision_tout
Connection supervision timeout multiplier.
Definition: btdrv_types.h:291
u16 scan_interval
Scan interval.
Definition: btdrv_types.h:288
LeEventInfo.
Definition: btdrv_types.h:393
u8 unk_x8
Unknown.
Definition: btdrv_types.h:396
BtdrvGattAttributeUuid uuid1
BtdrvGattAttributeUuid
Definition: btdrv_types.h:399
u32 unk_x4
Unknown.
Definition: btdrv_types.h:395
BtdrvGattAttributeUuid uuid2
BtdrvGattAttributeUuid
Definition: btdrv_types.h:400
u16 size
Size of the below data.
Definition: btdrv_types.h:401
u32 unk_x0
Unknown.
Definition: btdrv_types.h:394
BtdrvGattAttributeUuid uuid0
BtdrvGattAttributeUuid
Definition: btdrv_types.h:398
PcmParameter.
Definition: btdrv_types.h:420
u32 unk_x0
Must be 0-3. Controls number of channels: 0 = mono, non-zero = stereo.
Definition: btdrv_types.h:421
s32 sample_rate
Sample rate. Must be one of the following: 16000, 32000, 44100, 48000.
Definition: btdrv_types.h:422
u32 bits_per_sample
Bits per sample. Must be 8 or 16.
Definition: btdrv_types.h:423
BtdrvPinCode [12.0.0+].
Definition: btdrv_types.h:251
u8 length
Length.
Definition: btdrv_types.h:253
PlrList.
Definition: btdrv_types.h:274
PlrStatistics.
Definition: btdrv_types.h:269
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:54
uint64_t u64
64-bit unsigned integer.
Definition: types.h:22
uint8_t u8
8-bit unsigned integer.
Definition: types.h:19
uint16_t u16
16-bit unsigned integer.
Definition: types.h:20
int32_t s32
32-bit signed integer.
Definition: types.h:27
uint32_t u32
32-bit unsigned integer.
Definition: types.h:21