Loading system/gd/hci/controller.cc +2 −1 Original line number Diff line number Diff line Loading @@ -590,7 +590,7 @@ struct Controller::impl { OP_CODE_MAPPING(LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH) OP_CODE_MAPPING(LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH) OP_CODE_MAPPING(LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND) OP_CODE_MAPPING(LE_GENERATE_DHKEY_COMMAND) OP_CODE_MAPPING(LE_GENERATE_DHKEY_COMMAND_V1) OP_CODE_MAPPING(LE_ADD_DEVICE_TO_RESOLVING_LIST) OP_CODE_MAPPING(LE_REMOVE_DEVICE_FROM_RESOLVING_LIST) OP_CODE_MAPPING(LE_CLEAR_RESOLVING_LIST) Loading Loading @@ -631,6 +631,7 @@ struct Controller::impl { OP_CODE_MAPPING(LE_READ_RF_PATH_COMPENSATION_POWER) OP_CODE_MAPPING(LE_WRITE_RF_PATH_COMPENSATION_POWER) OP_CODE_MAPPING(LE_SET_PRIVACY_MODE) OP_CODE_MAPPING(LE_GENERATE_DHKEY_COMMAND) // vendor specific case OpCode::LE_GET_VENDOR_CAPABILITIES: return vendor_capabilities_.is_supported_ == 0x01; Loading system/gd/hci/hci_packets.pdl +175 −32 Original line number Diff line number Diff line Loading @@ -263,7 +263,7 @@ enum OpCode : 16 { LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH = 0x2023, LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH = 0x2024, LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND = 0x2025, LE_GENERATE_DHKEY_COMMAND = 0x2026, LE_GENERATE_DHKEY_COMMAND_V1 = 0x2026, LE_ADD_DEVICE_TO_RESOLVING_LIST = 0x2027, LE_REMOVE_DEVICE_FROM_RESOLVING_LIST = 0x2028, LE_CLEAR_RESOLVING_LIST = 0x2029, Loading Loading @@ -304,6 +304,7 @@ enum OpCode : 16 { LE_READ_RF_PATH_COMPENSATION_POWER = 0x204C, LE_WRITE_RF_PATH_COMPENSATION_POWER = 0x204D, LE_SET_PRIVACY_MODE = 0x204E, LE_GENERATE_DHKEY_COMMAND = 0x205E, // VENDOR_SPECIFIC LE_GET_VENDOR_CAPABILITIES = 0xFD53, Loading Loading @@ -493,7 +494,7 @@ enum OpCodeIndex : 16 { LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH = 337, LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH = 340, LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND = 341, LE_GENERATE_DHKEY_COMMAND = 342, LE_GENERATE_DHKEY_COMMAND_V1 = 342, LE_ADD_DEVICE_TO_RESOLVING_LIST = 343, LE_REMOVE_DEVICE_FROM_RESOLVING_LIST = 344, LE_CLEAR_RESOLVING_LIST = 345, Loading Loading @@ -534,6 +535,7 @@ enum OpCodeIndex : 16 { LE_READ_RF_PATH_COMPENSATION_POWER = 390, LE_WRITE_RF_PATH_COMPENSATION_POWER = 391, LE_SET_PRIVACY_MODE = 392, LE_GENERATE_DHKEY_COMMAND = 412, } packet CommandPacket { Loading Loading @@ -1369,12 +1371,25 @@ packet FlushComplete : CommandComplete (command_op_code = FLUSH) { _reserved_ : 4, } enum PinType : 8 { VARIABLE = 0, FIXED = 1, } packet ReadPinType : CommandPacket (op_code = READ_PIN_TYPE) { _payload_, // placeholder (unimplemented) } packet ReadPinTypeComplete : CommandComplete (command_op_code = READ_PIN_TYPE) { status : ErrorCode, pin_type : PinType, } packet WritePinType : CommandPacket (op_code = WRITE_PIN_TYPE) { _payload_, // placeholder (unimplemented) pin_type : PinType, } packet WritePinTypeComplete : CommandComplete (command_op_code = WRITE_PIN_TYPE) { status : ErrorCode, } packet CreateNewUnitKey : CommandPacket (op_code = CREATE_NEW_UNIT_KEY) { Loading Loading @@ -1444,11 +1459,19 @@ packet ReadLocalNameComplete : CommandComplete (command_op_code = READ_LOCAL_NAM } packet ReadConnectionAcceptTimeout : ConnectionManagementCommand (op_code = READ_CONNECTION_ACCEPT_TIMEOUT) { _payload_, // placeholder (unimplemented) } packet ReadConnectionAcceptTimeoutComplete : CommandComplete (command_op_code = READ_CONNECTION_ACCEPT_TIMEOUT) { status : ErrorCode, conn_accept_timeout : 16, // 0x0001 to 0xB540 (N * 0.625 ms) 0.625 ms to 29 s } packet WriteConnectionAcceptTimeout : ConnectionManagementCommand (op_code = WRITE_CONNECTION_ACCEPT_TIMEOUT) { _payload_, // placeholder (unimplemented) conn_accept_timeout : 16, // 0x0001 to 0xB540 (N * 0.625 ms) 0.625 ms to 29 s, Default 0x1FA0, 5.06s } packet WriteConnectionAcceptTimeoutComplete : CommandComplete (command_op_code = WRITE_CONNECTION_ACCEPT_TIMEOUT) { status : ErrorCode, } packet ReadPageTimeout : DiscoveryCommand (op_code = READ_PAGE_TIMEOUT) { Loading Loading @@ -1724,7 +1747,11 @@ packet WriteCurrentIacLapComplete : CommandComplete (command_op_code = WRITE_CUR } packet SetAfhHostChannelClassification : CommandPacket (op_code = SET_AFH_HOST_CHANNEL_CLASSIFICATION) { _payload_, // placeholder (unimplemented) afh_host_channel_classification : 8[10], } packet SetAfhHostChannelClassificationComplete : CommandComplete (command_op_code = SET_AFH_HOST_CHANNEL_CLASSIFICATION) { status : ErrorCode, } enum InquiryScanType : 8 { Loading Loading @@ -2437,19 +2464,36 @@ packet LeConnectionUpdateStatus : CommandStatus (command_op_code = LE_CONNECTION } packet LeSetHostChannelClassification : LeConnectionManagementCommand (op_code = LE_SET_HOST_CHANNEL_CLASSIFICATION) { _payload_, // placeholder (unimplemented) channel_map : 8[5], } packet LeSetHostChannelClassificationComplete : CommandComplete (command_op_code = LE_SET_HOST_CHANNEL_CLASSIFICATION) { status : ErrorCode, } packet LeReadChannelMap : LeConnectionManagementCommand (op_code = LE_READ_CHANNEL_MAP) { _payload_, // placeholder (unimplemented) } packet LeReadChannelMapComplete : CommandComplete (command_op_code = LE_SET_HOST_CHANNEL_CLASSIFICATION) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, channel_map : 8[5], } packet LeReadRemoteFeatures : LeConnectionManagementCommand (op_code = LE_READ_REMOTE_FEATURES) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, } packet LeEncrypt : LeSecurityCommand (op_code = LE_ENCRYPT) { _payload_, // placeholder (unimplemented) key : 8[16], plaintext_data : 8[16], } packet LeEncryptComplete : CommandComplete (command_op_code = LE_ENCRYPT) { status : ErrorCode, encrypted_data : 8[16], } packet LeRand : LeSecurityCommand (op_code = LE_RAND) { Loading @@ -2475,8 +2519,21 @@ packet LeLongTermKeyRequestReply : LeSecurityCommand (op_code = LE_LONG_TERM_KEY long_term_key: 8[16], } packet LeLongTermKeyRequestReplyComplete : CommandComplete (command_op_code = LE_LONG_TERM_KEY_REQUEST_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeLongTermKeyRequestNegativeReply : LeSecurityCommand (op_code = LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, } packet LeLongTermKeyRequestNegativeReplyComplete : CommandComplete (command_op_code = LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeReadSupportedStates : CommandPacket (op_code = LE_READ_SUPPORTED_STATES) { Loading @@ -2500,36 +2557,80 @@ packet LeTestEnd : CommandPacket (op_code = LE_TEST_END) { } packet LeRemoteConnectionParameterRequestReply : LeConnectionManagementCommand (op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, interval_min : 16, // 0x0006-0x0C80 (7.5ms to 4s) interval_max : 16, // 0x0006-0x0C80 (7.5ms to 4s) latency : 16, // 0x0006-0x01F3 timeout : 16, // 0x00A to 0x0C80 (100ms to 32s) minimum_ce_length : 16, // 0.625ms maximum_ce_length : 16, // 0.625ms } packet LeRemoteConnectionParameterRequestReplyComplete : CommandComplete (command_op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeRemoteConnectionParameterRequestNegativeReply : LeConnectionManagementCommand (op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, reason : ErrorCode, } packet LeRemoteConnectionParameterRequestNegativeReplyComplete : CommandComplete (command_op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeSetDataLength : LeConnectionManagementCommand (op_code = LE_SET_DATA_LENGTH) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, tx_octets : 16, // payload octets per single PDU 0x1B to 0x00FB tx_time : 16, // microseconds used to transmit a single PDU 0x0148 to 0x4290 } packet LeSetDataLengthComplete : CommandComplete (command_op_code = LE_SET_DATA_LENGTH) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeReadSuggestedDefaultDataLength : LeConnectionManagementCommand (op_code = LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH) { _payload_, // placeholder (unimplemented) } packet LeReadSuggestedDefaultDataLengthComplete : CommandComplete (command_op_code = LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH) { status : ErrorCode, tx_octets : 16, // payload octets per single PDU 0x1B to 0x00FB tx_time : 16, // microseconds used to transmit a single PDU 0x0148 to 0x4290 } packet LeWriteSuggestedDefaultDataLength : LeConnectionManagementCommand (op_code = LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH) { _payload_, // placeholder (unimplemented) tx_octets : 16, // payload octets per single PDU 0x1B to 0x00FB tx_time : 16, // microseconds used to transmit a single PDU 0x0148 to 0x4290 } packet LeWriteSuggestedDefaultDataLengthComplete : CommandComplete (command_op_code = LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH) { status : ErrorCode, } packet LeReadLocalP256PublicKeyCommand : LeSecurityCommand (op_code = LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND) { _payload_, // placeholder (unimplemented) } packet LeGenerateDhkeyCommand : LeSecurityCommand (op_code = LE_GENERATE_DHKEY_COMMAND) { _payload_, // placeholder (unimplemented) packet LeGenerateDhkeyV1Command : LeSecurityCommand (op_code = LE_GENERATE_DHKEY_COMMAND_V1) { remote_p_256_public_key : 8[64], } packet LeGenerateDhkeyV1CommandStatus : CommandStatus (command_op_code = LE_GENERATE_DHKEY_COMMAND_V1) { } packet LeAddDeviceToResolvingList : LeSecurityCommand (op_code = LE_ADD_DEVICE_TO_RESOLVING_LIST) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, peer_irk : 8[16], local_irk : 8[16], } packet LeAddDeviceToResolvingListComplete : CommandComplete (command_op_code = LE_ADD_DEVICE_TO_RESOLVING_LIST) { Loading @@ -2537,7 +2638,8 @@ packet LeAddDeviceToResolvingListComplete : CommandComplete (command_op_code = L } packet LeRemoveDeviceFromResolvingList : LeSecurityCommand (op_code = LE_REMOVE_DEVICE_FROM_RESOLVING_LIST) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, } packet LeRemoveDeviceFromResolvingListComplete : CommandComplete (command_op_code = LE_REMOVE_DEVICE_FROM_RESOLVING_LIST) { Loading @@ -2545,7 +2647,6 @@ packet LeRemoveDeviceFromResolvingListComplete : CommandComplete (command_op_cod } packet LeClearResolvingList : LeSecurityCommand (op_code = LE_CLEAR_RESOLVING_LIST) { _payload_, // placeholder (unimplemented) } packet LeClearResolvingListComplete : CommandComplete (command_op_code = LE_CLEAR_RESOLVING_LIST) { Loading @@ -2553,23 +2654,46 @@ packet LeClearResolvingListComplete : CommandComplete (command_op_code = LE_CLEA } packet LeReadResolvingListSize : LeSecurityCommand (op_code = LE_READ_RESOLVING_LIST_SIZE) { _payload_, // placeholder (unimplemented) } packet LeReadResolvingListSizeComplete : CommandComplete (command_op_code = LE_READ_RESOLVING_LIST_SIZE) { status : ErrorCode, } packet LeReadPeerResolvableAddress : LeSecurityCommand (op_code = LE_READ_PEER_RESOLVABLE_ADDRESS) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, } packet LeReadPeerResolvableAddressComplete : CommandComplete (command_op_code = LE_READ_PEER_RESOLVABLE_ADDRESS) { status : ErrorCode, peer_resolvable_address : Address, } packet LeReadLocalResolvableAddress : LeSecurityCommand (op_code = LE_READ_LOCAL_RESOLVABLE_ADDRESS) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, } packet LeReadLocalResolvableAddressComplete : CommandComplete (command_op_code = LE_READ_LOCAL_RESOLVABLE_ADDRESS) { status : ErrorCode, local_resolvable_address : Address, } packet LeSetAddressResolutionEnable : LeSecurityCommand (op_code = LE_SET_ADDRESS_RESOLUTION_ENABLE) { _payload_, // placeholder (unimplemented) address_resolution_enable : Enable, } packet LeSetAddressResolutionEnableComplete : CommandComplete (command_op_code = LE_SET_ADDRESS_RESOLUTION_ENABLE) { status : ErrorCode, } packet LeSetResolvablePrivateAddressTimeout : LeSecurityCommand (op_code = LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT) { _payload_, // placeholder (unimplemented) rpa_timeout : 16, // RPA_Timeout measured in seconds 0x0001 to 0xA1B8 1s to 11.5 hours } packet LeSetResolvablePrivateAddressTimeoutComplete : CommandComplete (command_op_code = LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT) { status : ErrorCode, } packet LeReadMaximumDataLength : CommandPacket (op_code = LE_READ_MAXIMUM_DATA_LENGTH) { Loading @@ -2582,7 +2706,6 @@ struct LeMaximumDataLength { supported_max_rx_time: 16, } packet LeReadMaximumDataLengthComplete : CommandComplete (command_op_code = LE_READ_MAXIMUM_DATA_LENGTH) { status : ErrorCode, le_maximum_data_length : LeMaximumDataLength, Loading Loading @@ -2925,14 +3048,34 @@ packet LeWriteRfPathCompensationPower : LeAdvertisingCommand (op_code = LE_WRITE _payload_, // placeholder (unimplemented) } enum PrivacyMode : 8 { NETWORK = 0, DEVICE = 1, } packet LeSetPrivacyMode : LeSecurityCommand (op_code = LE_SET_PRIVACY_MODE) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, privacy_mode : PrivacyMode, } packet LeSetPrivacyModeComplete : CommandComplete (command_op_code = LE_SET_PRIVACY_MODE) { status : ErrorCode, } enum UseDebugKey : 8 { USE_GENERATED_KEY = 0, USE_DEBUG_KEY = 1, } packet LeGenerateDhkeyCommand : LeSecurityCommand (op_code = LE_GENERATE_DHKEY_COMMAND) { remote_p_256_public_key : 8[64], key_type : UseDebugKey, } packet LeGenerateDhkeyCommandStatus : CommandStatus (command_op_code = LE_GENERATE_DHKEY_COMMAND) { } // VENDOR_SPECIFIC packet LeGetVendorCapabilities : VendorCommand (op_code = LE_GET_VENDOR_CAPABILITIES) { } Loading Loading @@ -3073,7 +3216,7 @@ enum ApcfOpcode : 8 { SERVICE_DATA = 0x07, } packet LeAdvFilter : VendorCommand (op_code = LE_ADV_FILTER) { packet LeAdvFilter : LeScanningCommand (op_code = LE_ADV_FILTER) { apcf_opcode : ApcfOpcode, _body_, } Loading Loading @@ -3316,7 +3459,7 @@ packet LinkKeyNotification : EventPacket (event_code = LINK_KEY_NOTIFICATION){ } packet LoopbackCommand : EventPacket (event_code = LOOPBACK_COMMAND){ _payload_, // placeholder (unimplemented) _payload_, // Command packet, truncated if it was longer than 252 bytes } packet DataBufferOverflow : EventPacket (event_code = DATA_BUFFER_OVERFLOW){ Loading Loading
system/gd/hci/controller.cc +2 −1 Original line number Diff line number Diff line Loading @@ -590,7 +590,7 @@ struct Controller::impl { OP_CODE_MAPPING(LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH) OP_CODE_MAPPING(LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH) OP_CODE_MAPPING(LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND) OP_CODE_MAPPING(LE_GENERATE_DHKEY_COMMAND) OP_CODE_MAPPING(LE_GENERATE_DHKEY_COMMAND_V1) OP_CODE_MAPPING(LE_ADD_DEVICE_TO_RESOLVING_LIST) OP_CODE_MAPPING(LE_REMOVE_DEVICE_FROM_RESOLVING_LIST) OP_CODE_MAPPING(LE_CLEAR_RESOLVING_LIST) Loading Loading @@ -631,6 +631,7 @@ struct Controller::impl { OP_CODE_MAPPING(LE_READ_RF_PATH_COMPENSATION_POWER) OP_CODE_MAPPING(LE_WRITE_RF_PATH_COMPENSATION_POWER) OP_CODE_MAPPING(LE_SET_PRIVACY_MODE) OP_CODE_MAPPING(LE_GENERATE_DHKEY_COMMAND) // vendor specific case OpCode::LE_GET_VENDOR_CAPABILITIES: return vendor_capabilities_.is_supported_ == 0x01; Loading
system/gd/hci/hci_packets.pdl +175 −32 Original line number Diff line number Diff line Loading @@ -263,7 +263,7 @@ enum OpCode : 16 { LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH = 0x2023, LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH = 0x2024, LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND = 0x2025, LE_GENERATE_DHKEY_COMMAND = 0x2026, LE_GENERATE_DHKEY_COMMAND_V1 = 0x2026, LE_ADD_DEVICE_TO_RESOLVING_LIST = 0x2027, LE_REMOVE_DEVICE_FROM_RESOLVING_LIST = 0x2028, LE_CLEAR_RESOLVING_LIST = 0x2029, Loading Loading @@ -304,6 +304,7 @@ enum OpCode : 16 { LE_READ_RF_PATH_COMPENSATION_POWER = 0x204C, LE_WRITE_RF_PATH_COMPENSATION_POWER = 0x204D, LE_SET_PRIVACY_MODE = 0x204E, LE_GENERATE_DHKEY_COMMAND = 0x205E, // VENDOR_SPECIFIC LE_GET_VENDOR_CAPABILITIES = 0xFD53, Loading Loading @@ -493,7 +494,7 @@ enum OpCodeIndex : 16 { LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH = 337, LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH = 340, LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND = 341, LE_GENERATE_DHKEY_COMMAND = 342, LE_GENERATE_DHKEY_COMMAND_V1 = 342, LE_ADD_DEVICE_TO_RESOLVING_LIST = 343, LE_REMOVE_DEVICE_FROM_RESOLVING_LIST = 344, LE_CLEAR_RESOLVING_LIST = 345, Loading Loading @@ -534,6 +535,7 @@ enum OpCodeIndex : 16 { LE_READ_RF_PATH_COMPENSATION_POWER = 390, LE_WRITE_RF_PATH_COMPENSATION_POWER = 391, LE_SET_PRIVACY_MODE = 392, LE_GENERATE_DHKEY_COMMAND = 412, } packet CommandPacket { Loading Loading @@ -1369,12 +1371,25 @@ packet FlushComplete : CommandComplete (command_op_code = FLUSH) { _reserved_ : 4, } enum PinType : 8 { VARIABLE = 0, FIXED = 1, } packet ReadPinType : CommandPacket (op_code = READ_PIN_TYPE) { _payload_, // placeholder (unimplemented) } packet ReadPinTypeComplete : CommandComplete (command_op_code = READ_PIN_TYPE) { status : ErrorCode, pin_type : PinType, } packet WritePinType : CommandPacket (op_code = WRITE_PIN_TYPE) { _payload_, // placeholder (unimplemented) pin_type : PinType, } packet WritePinTypeComplete : CommandComplete (command_op_code = WRITE_PIN_TYPE) { status : ErrorCode, } packet CreateNewUnitKey : CommandPacket (op_code = CREATE_NEW_UNIT_KEY) { Loading Loading @@ -1444,11 +1459,19 @@ packet ReadLocalNameComplete : CommandComplete (command_op_code = READ_LOCAL_NAM } packet ReadConnectionAcceptTimeout : ConnectionManagementCommand (op_code = READ_CONNECTION_ACCEPT_TIMEOUT) { _payload_, // placeholder (unimplemented) } packet ReadConnectionAcceptTimeoutComplete : CommandComplete (command_op_code = READ_CONNECTION_ACCEPT_TIMEOUT) { status : ErrorCode, conn_accept_timeout : 16, // 0x0001 to 0xB540 (N * 0.625 ms) 0.625 ms to 29 s } packet WriteConnectionAcceptTimeout : ConnectionManagementCommand (op_code = WRITE_CONNECTION_ACCEPT_TIMEOUT) { _payload_, // placeholder (unimplemented) conn_accept_timeout : 16, // 0x0001 to 0xB540 (N * 0.625 ms) 0.625 ms to 29 s, Default 0x1FA0, 5.06s } packet WriteConnectionAcceptTimeoutComplete : CommandComplete (command_op_code = WRITE_CONNECTION_ACCEPT_TIMEOUT) { status : ErrorCode, } packet ReadPageTimeout : DiscoveryCommand (op_code = READ_PAGE_TIMEOUT) { Loading Loading @@ -1724,7 +1747,11 @@ packet WriteCurrentIacLapComplete : CommandComplete (command_op_code = WRITE_CUR } packet SetAfhHostChannelClassification : CommandPacket (op_code = SET_AFH_HOST_CHANNEL_CLASSIFICATION) { _payload_, // placeholder (unimplemented) afh_host_channel_classification : 8[10], } packet SetAfhHostChannelClassificationComplete : CommandComplete (command_op_code = SET_AFH_HOST_CHANNEL_CLASSIFICATION) { status : ErrorCode, } enum InquiryScanType : 8 { Loading Loading @@ -2437,19 +2464,36 @@ packet LeConnectionUpdateStatus : CommandStatus (command_op_code = LE_CONNECTION } packet LeSetHostChannelClassification : LeConnectionManagementCommand (op_code = LE_SET_HOST_CHANNEL_CLASSIFICATION) { _payload_, // placeholder (unimplemented) channel_map : 8[5], } packet LeSetHostChannelClassificationComplete : CommandComplete (command_op_code = LE_SET_HOST_CHANNEL_CLASSIFICATION) { status : ErrorCode, } packet LeReadChannelMap : LeConnectionManagementCommand (op_code = LE_READ_CHANNEL_MAP) { _payload_, // placeholder (unimplemented) } packet LeReadChannelMapComplete : CommandComplete (command_op_code = LE_SET_HOST_CHANNEL_CLASSIFICATION) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, channel_map : 8[5], } packet LeReadRemoteFeatures : LeConnectionManagementCommand (op_code = LE_READ_REMOTE_FEATURES) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, } packet LeEncrypt : LeSecurityCommand (op_code = LE_ENCRYPT) { _payload_, // placeholder (unimplemented) key : 8[16], plaintext_data : 8[16], } packet LeEncryptComplete : CommandComplete (command_op_code = LE_ENCRYPT) { status : ErrorCode, encrypted_data : 8[16], } packet LeRand : LeSecurityCommand (op_code = LE_RAND) { Loading @@ -2475,8 +2519,21 @@ packet LeLongTermKeyRequestReply : LeSecurityCommand (op_code = LE_LONG_TERM_KEY long_term_key: 8[16], } packet LeLongTermKeyRequestReplyComplete : CommandComplete (command_op_code = LE_LONG_TERM_KEY_REQUEST_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeLongTermKeyRequestNegativeReply : LeSecurityCommand (op_code = LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, } packet LeLongTermKeyRequestNegativeReplyComplete : CommandComplete (command_op_code = LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeReadSupportedStates : CommandPacket (op_code = LE_READ_SUPPORTED_STATES) { Loading @@ -2500,36 +2557,80 @@ packet LeTestEnd : CommandPacket (op_code = LE_TEST_END) { } packet LeRemoteConnectionParameterRequestReply : LeConnectionManagementCommand (op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, interval_min : 16, // 0x0006-0x0C80 (7.5ms to 4s) interval_max : 16, // 0x0006-0x0C80 (7.5ms to 4s) latency : 16, // 0x0006-0x01F3 timeout : 16, // 0x00A to 0x0C80 (100ms to 32s) minimum_ce_length : 16, // 0.625ms maximum_ce_length : 16, // 0.625ms } packet LeRemoteConnectionParameterRequestReplyComplete : CommandComplete (command_op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeRemoteConnectionParameterRequestNegativeReply : LeConnectionManagementCommand (op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, reason : ErrorCode, } packet LeRemoteConnectionParameterRequestNegativeReplyComplete : CommandComplete (command_op_code = LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeSetDataLength : LeConnectionManagementCommand (op_code = LE_SET_DATA_LENGTH) { _payload_, // placeholder (unimplemented) connection_handle : 12, _reserved_ : 4, tx_octets : 16, // payload octets per single PDU 0x1B to 0x00FB tx_time : 16, // microseconds used to transmit a single PDU 0x0148 to 0x4290 } packet LeSetDataLengthComplete : CommandComplete (command_op_code = LE_SET_DATA_LENGTH) { status : ErrorCode, connection_handle : 12, _reserved_ : 4, } packet LeReadSuggestedDefaultDataLength : LeConnectionManagementCommand (op_code = LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH) { _payload_, // placeholder (unimplemented) } packet LeReadSuggestedDefaultDataLengthComplete : CommandComplete (command_op_code = LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH) { status : ErrorCode, tx_octets : 16, // payload octets per single PDU 0x1B to 0x00FB tx_time : 16, // microseconds used to transmit a single PDU 0x0148 to 0x4290 } packet LeWriteSuggestedDefaultDataLength : LeConnectionManagementCommand (op_code = LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH) { _payload_, // placeholder (unimplemented) tx_octets : 16, // payload octets per single PDU 0x1B to 0x00FB tx_time : 16, // microseconds used to transmit a single PDU 0x0148 to 0x4290 } packet LeWriteSuggestedDefaultDataLengthComplete : CommandComplete (command_op_code = LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH) { status : ErrorCode, } packet LeReadLocalP256PublicKeyCommand : LeSecurityCommand (op_code = LE_READ_LOCAL_P_256_PUBLIC_KEY_COMMAND) { _payload_, // placeholder (unimplemented) } packet LeGenerateDhkeyCommand : LeSecurityCommand (op_code = LE_GENERATE_DHKEY_COMMAND) { _payload_, // placeholder (unimplemented) packet LeGenerateDhkeyV1Command : LeSecurityCommand (op_code = LE_GENERATE_DHKEY_COMMAND_V1) { remote_p_256_public_key : 8[64], } packet LeGenerateDhkeyV1CommandStatus : CommandStatus (command_op_code = LE_GENERATE_DHKEY_COMMAND_V1) { } packet LeAddDeviceToResolvingList : LeSecurityCommand (op_code = LE_ADD_DEVICE_TO_RESOLVING_LIST) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, peer_irk : 8[16], local_irk : 8[16], } packet LeAddDeviceToResolvingListComplete : CommandComplete (command_op_code = LE_ADD_DEVICE_TO_RESOLVING_LIST) { Loading @@ -2537,7 +2638,8 @@ packet LeAddDeviceToResolvingListComplete : CommandComplete (command_op_code = L } packet LeRemoveDeviceFromResolvingList : LeSecurityCommand (op_code = LE_REMOVE_DEVICE_FROM_RESOLVING_LIST) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, } packet LeRemoveDeviceFromResolvingListComplete : CommandComplete (command_op_code = LE_REMOVE_DEVICE_FROM_RESOLVING_LIST) { Loading @@ -2545,7 +2647,6 @@ packet LeRemoveDeviceFromResolvingListComplete : CommandComplete (command_op_cod } packet LeClearResolvingList : LeSecurityCommand (op_code = LE_CLEAR_RESOLVING_LIST) { _payload_, // placeholder (unimplemented) } packet LeClearResolvingListComplete : CommandComplete (command_op_code = LE_CLEAR_RESOLVING_LIST) { Loading @@ -2553,23 +2654,46 @@ packet LeClearResolvingListComplete : CommandComplete (command_op_code = LE_CLEA } packet LeReadResolvingListSize : LeSecurityCommand (op_code = LE_READ_RESOLVING_LIST_SIZE) { _payload_, // placeholder (unimplemented) } packet LeReadResolvingListSizeComplete : CommandComplete (command_op_code = LE_READ_RESOLVING_LIST_SIZE) { status : ErrorCode, } packet LeReadPeerResolvableAddress : LeSecurityCommand (op_code = LE_READ_PEER_RESOLVABLE_ADDRESS) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, } packet LeReadPeerResolvableAddressComplete : CommandComplete (command_op_code = LE_READ_PEER_RESOLVABLE_ADDRESS) { status : ErrorCode, peer_resolvable_address : Address, } packet LeReadLocalResolvableAddress : LeSecurityCommand (op_code = LE_READ_LOCAL_RESOLVABLE_ADDRESS) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, } packet LeReadLocalResolvableAddressComplete : CommandComplete (command_op_code = LE_READ_LOCAL_RESOLVABLE_ADDRESS) { status : ErrorCode, local_resolvable_address : Address, } packet LeSetAddressResolutionEnable : LeSecurityCommand (op_code = LE_SET_ADDRESS_RESOLUTION_ENABLE) { _payload_, // placeholder (unimplemented) address_resolution_enable : Enable, } packet LeSetAddressResolutionEnableComplete : CommandComplete (command_op_code = LE_SET_ADDRESS_RESOLUTION_ENABLE) { status : ErrorCode, } packet LeSetResolvablePrivateAddressTimeout : LeSecurityCommand (op_code = LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT) { _payload_, // placeholder (unimplemented) rpa_timeout : 16, // RPA_Timeout measured in seconds 0x0001 to 0xA1B8 1s to 11.5 hours } packet LeSetResolvablePrivateAddressTimeoutComplete : CommandComplete (command_op_code = LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT) { status : ErrorCode, } packet LeReadMaximumDataLength : CommandPacket (op_code = LE_READ_MAXIMUM_DATA_LENGTH) { Loading @@ -2582,7 +2706,6 @@ struct LeMaximumDataLength { supported_max_rx_time: 16, } packet LeReadMaximumDataLengthComplete : CommandComplete (command_op_code = LE_READ_MAXIMUM_DATA_LENGTH) { status : ErrorCode, le_maximum_data_length : LeMaximumDataLength, Loading Loading @@ -2925,14 +3048,34 @@ packet LeWriteRfPathCompensationPower : LeAdvertisingCommand (op_code = LE_WRITE _payload_, // placeholder (unimplemented) } enum PrivacyMode : 8 { NETWORK = 0, DEVICE = 1, } packet LeSetPrivacyMode : LeSecurityCommand (op_code = LE_SET_PRIVACY_MODE) { _payload_, // placeholder (unimplemented) peer_identity_address_type : PeerAddressType, peer_identity_address : Address, privacy_mode : PrivacyMode, } packet LeSetPrivacyModeComplete : CommandComplete (command_op_code = LE_SET_PRIVACY_MODE) { status : ErrorCode, } enum UseDebugKey : 8 { USE_GENERATED_KEY = 0, USE_DEBUG_KEY = 1, } packet LeGenerateDhkeyCommand : LeSecurityCommand (op_code = LE_GENERATE_DHKEY_COMMAND) { remote_p_256_public_key : 8[64], key_type : UseDebugKey, } packet LeGenerateDhkeyCommandStatus : CommandStatus (command_op_code = LE_GENERATE_DHKEY_COMMAND) { } // VENDOR_SPECIFIC packet LeGetVendorCapabilities : VendorCommand (op_code = LE_GET_VENDOR_CAPABILITIES) { } Loading Loading @@ -3073,7 +3216,7 @@ enum ApcfOpcode : 8 { SERVICE_DATA = 0x07, } packet LeAdvFilter : VendorCommand (op_code = LE_ADV_FILTER) { packet LeAdvFilter : LeScanningCommand (op_code = LE_ADV_FILTER) { apcf_opcode : ApcfOpcode, _body_, } Loading Loading @@ -3316,7 +3459,7 @@ packet LinkKeyNotification : EventPacket (event_code = LINK_KEY_NOTIFICATION){ } packet LoopbackCommand : EventPacket (event_code = LOOPBACK_COMMAND){ _payload_, // placeholder (unimplemented) _payload_, // Command packet, truncated if it was longer than 252 bytes } packet DataBufferOverflow : EventPacket (event_code = DATA_BUFFER_OVERFLOW){ Loading