Atom: Add more Bluetooth atoms
* BluetoothHciTimeoutReported is logged when Bluetooth controller
failed to respond to an HCI command in time
* BluetoothQualityReportReported is logged when Bluetooth controller
sends a link quality report event to Android host due to bad link
quality
* BluetoothManufacturerInfoReported is logged when we learn about
manufactuer defined metadata for a device such as manufactuer name
model number, software version, and hardware version
* BluetoothRemoteVersionInfoReported is logged when we learn about
the manufactuer and Bluetooth version of remote Bluetooth controller
and stack
* BluetoothSdpAttributeReported is logged when we learn about services
provided by the remote device and their metdata such as protocol
version and feature bitmask. Only profiles that use 16-bit UUIDs are
logged
* BluetoothBondStateChanged is logged when Bluetooth bonding state is
changed a a macro level such as none -> bonding, bonding -> bonded,
and user interaction events such as passkey confirmation
* BluetoothClassicPairingEventReported is logged from native layer
when Bluetooth classic pairing state changed due to HCI command
or events. This is a more verbose level logging compared to
BluetoothBondStateChanged
* BluetoothSmpPairingEventReported is logged from native layer when
Bluetooth Security Manager Protocol based pairing state changed due to
SMP command sent or received. Pairing failure reason code is also
logged as a pre-defined enum
Bug: 112969790
Test: test drive with statsd
Change-Id: I94d1530758f79ce6d5f119426b1379c76517afec
Merged-In: I94d1530758f79ce6d5f119426b1379c76517afec
(cherry picked from commit 1021a61081)
This commit is contained in:
@@ -27,6 +27,7 @@ import "frameworks/base/core/proto/android/bluetooth/a2dp/enums.proto";
|
||||
import "frameworks/base/core/proto/android/bluetooth/enums.proto";
|
||||
import "frameworks/base/core/proto/android/bluetooth/hci/enums.proto";
|
||||
import "frameworks/base/core/proto/android/bluetooth/hfp/enums.proto";
|
||||
import "frameworks/base/core/proto/android/bluetooth/smp/enums.proto";
|
||||
import "frameworks/base/core/proto/android/net/networkcapabilities.proto";
|
||||
import "frameworks/base/core/proto/android/os/enums.proto";
|
||||
import "frameworks/base/core/proto/android/server/connectivity/data_stall_event.proto";
|
||||
@@ -152,6 +153,14 @@ message Atom {
|
||||
BluetoothDeviceRssiReported bluetooth_device_rssi_reported = 157;
|
||||
BluetoothDeviceFailedContactCounterReported bluetooth_device_failed_contact_counter_reported = 158;
|
||||
BluetoothDeviceTxPowerLevelReported bluetooth_device_tx_power_level_reported = 159;
|
||||
BluetoothHciTimeoutReported bluetooth_hci_timeout_reported = 160;
|
||||
BluetoothQualityReportReported bluetooth_quality_report_reported = 161;
|
||||
BluetoothManufacturerInfoReported bluetooth_device_info_reported = 162;
|
||||
BluetoothRemoteVersionInfoReported bluetooth_remote_version_info_reported = 163;
|
||||
BluetoothSdpAttributeReported bluetooth_sdp_attribute_reported = 164;
|
||||
BluetoothBondStateChanged bluetooth_bond_state_changed = 165;
|
||||
BluetoothClassicPairingEventReported bluetooth_classic_pairing_event_reported = 166;
|
||||
BluetoothSmpPairingEventReported bluetooth_smp_pairing_event_reported = 167;
|
||||
}
|
||||
|
||||
// Pulled events will start at field 10000.
|
||||
@@ -1429,7 +1438,7 @@ message BluetoothDeviceTxPowerLevelReported {
|
||||
// Range: 0x0000 - 0x0EFF (12 bits)
|
||||
// Default: 0xFFFF if the handle is unknown
|
||||
optional int32 connection_handle = 2;
|
||||
// HCI command status code if this is triggerred by hci_cmd
|
||||
// HCI command status code if this is triggered by hci_cmd
|
||||
// Default: STATUS_UNKNOWN
|
||||
optional android.bluetooth.hci.StatusEnum hci_status = 3;
|
||||
// Range: -30 ≤ N ≤ 20
|
||||
@@ -1438,6 +1447,277 @@ message BluetoothDeviceTxPowerLevelReported {
|
||||
optional int32 transmit_power_level = 4;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when Bluetooth controller failed to reply with command status within a timeout period after
|
||||
* receiving an HCI command from the host
|
||||
*
|
||||
* Logged from: system/bt
|
||||
*/
|
||||
message BluetoothHciTimeoutReported {
|
||||
// HCI command associated with this event
|
||||
// Default: CMD_UNKNOWN
|
||||
optional android.bluetooth.hci.CommandEnum hci_command = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when we receive Bluetooth Link Quality Report event from the controller
|
||||
* See Android Bluetooth HCI specification for more details
|
||||
*
|
||||
* Note: all count and bytes field are counted since last event
|
||||
*
|
||||
* Logged from: system/bt
|
||||
*/
|
||||
message BluetoothQualityReportReported {
|
||||
// Quality report ID
|
||||
// Original type: uint8_t
|
||||
// Default: BQR_ID_UNKNOWN
|
||||
optional android.bluetooth.hci.BqrIdEnum quality_report_id = 1;
|
||||
// Packet type of the connection
|
||||
// Original type: uint8_t
|
||||
// Default: BQR_PACKET_TYPE_UNKNOWN
|
||||
optional android.bluetooth.hci.BqrPacketTypeEnum packet_types = 2;
|
||||
// Connection handle of the connection
|
||||
// Original type: uint16_t
|
||||
optional int32 connection_handle = 3;
|
||||
// Performing Role for the connection
|
||||
// Original type: uint8_t
|
||||
optional int32 connection_role = 4;
|
||||
// Current Transmit Power Level for the connection. This value is the same as the controller's
|
||||
// response to the HCI_Read_Transmit_Power_Level HCI command
|
||||
// Original type: uint8_t
|
||||
optional int32 tx_power_level = 5;
|
||||
// Received Signal Strength Indication (RSSI) value for the connection. This value is an
|
||||
// absolute receiver signal strength value
|
||||
// Original type: int8_t
|
||||
optional int32 rssi = 6;
|
||||
// Signal-to-Noise Ratio (SNR) value for the connection. It is the average SNR of all the
|
||||
// channels used by the link currently
|
||||
// Original type: uint8_t
|
||||
optional int32 snr = 7;
|
||||
// Indicates the number of unused channels in AFH_channel_map
|
||||
// Original type: uint8_t
|
||||
optional int32 unused_afh_channel_count = 8;
|
||||
// Indicates the number of the channels which are interfered and quality is bad but are still
|
||||
// selected for AFH
|
||||
// Original type: uint8_t
|
||||
optional int32 afh_select_unideal_channel_count = 9;
|
||||
// Current Link Supervision Timeout Setting
|
||||
// Unit: N * 0.3125 ms (1 Bluetooth Clock)
|
||||
// Original type: uint16_t
|
||||
optional int32 lsto = 10;
|
||||
// Piconet Clock for the specified Connection_Handle. This value is the same as the controller's
|
||||
// response to HCI_Read_Clock HCI command with the parameter "Which_Clock" of
|
||||
// 0x01 (Piconet Clock)
|
||||
// Unit: N * 0.3125 ms (1 Bluetooth Clock)
|
||||
// Original type: uint32_t
|
||||
optional int64 connection_piconet_clock = 11;
|
||||
// The count of retransmission
|
||||
// Original type: uint32_t
|
||||
optional int64 retransmission_count = 12;
|
||||
// The count of no RX
|
||||
// Original type: uint32_t
|
||||
optional int64 no_rx_count = 13;
|
||||
// The count of NAK (Negative Acknowledge)
|
||||
// Original type: uint32_t
|
||||
optional int64 nak_count = 14;
|
||||
// Controller timestamp of last TX ACK
|
||||
// Unit: N * 0.3125 ms (1 Bluetooth Clock)
|
||||
// Original type: uint32_t
|
||||
optional int64 last_tx_ack_timestamp = 15;
|
||||
// The count of Flow-off (STOP)
|
||||
// Original type: uint32_t
|
||||
optional int64 flow_off_count = 16;
|
||||
// Controller timestamp of last Flow-on (GO)
|
||||
// Unit: N * 0.3125 ms (1 Bluetooth Clock)
|
||||
// Original type: uint32_t
|
||||
optional int64 last_flow_on_timestamp = 17;
|
||||
// Buffer overflow count (how many bytes of TX data are dropped) since the last event
|
||||
// Original type: uint32_t
|
||||
optional int64 buffer_overflow_bytes = 18;
|
||||
// Buffer underflow count (in byte) since last event
|
||||
// Original type: uint32_t
|
||||
optional int64 buffer_underflow_bytes = 19;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when a Bluetooth device's manufacturer information is learnt by the Bluetooth stack
|
||||
*
|
||||
* Notes:
|
||||
* - Each event can be partially filled as we might learn different pieces of device
|
||||
* information at different time
|
||||
* - Multiple device info events can be combined to give more complete picture
|
||||
* - When multiple device info events tries to describe the same information, the
|
||||
* later one wins
|
||||
*
|
||||
* Logged from:
|
||||
* packages/apps/Bluetooth
|
||||
*/
|
||||
message BluetoothManufacturerInfoReported {
|
||||
// An identifier that can be used to match events for this device.
|
||||
// Currently, this is a salted hash of the MAC address of this Bluetooth device.
|
||||
// Salt: Randomly generated 256 bit value
|
||||
// Hash algorithm: HMAC-SHA256
|
||||
// Size: 32 byte
|
||||
// Default: null or empty if the device identifier is not known
|
||||
optional bytes obfuscated_id = 1 [(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
// Where is this device info obtained from
|
||||
optional android.bluetooth.DeviceInfoSrcEnum source_type = 2;
|
||||
// Name of the data source
|
||||
// For EXTERNAL: package name of the data source
|
||||
// For INTERNAL: null for general case, component name otherwise
|
||||
optional string source_name = 3;
|
||||
// Name of the manufacturer of this device
|
||||
optional string manufacturer = 4;
|
||||
// Model of this device
|
||||
optional string model = 5;
|
||||
// Hardware version of this device
|
||||
optional string hardware_version = 6;
|
||||
// Software version of this device
|
||||
optional string software_version = 7;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when we receive Bluetooth Read Remote Version Information Complete Event from the remote
|
||||
* device, as documented by the Bluetooth Core HCI specification
|
||||
* Reference: https://www.bluetooth.com/specifications/bluetooth-core-specification
|
||||
* Vol 2, Part E, Page 1118
|
||||
*
|
||||
* Logged from:
|
||||
* system/bt
|
||||
*/
|
||||
message BluetoothRemoteVersionInfoReported {
|
||||
// Connection handle of the connection
|
||||
// Original type: uint16_t
|
||||
optional int32 connection_handle = 1;
|
||||
// HCI command status code
|
||||
// Default: STATUS_UNKNOWN
|
||||
optional android.bluetooth.hci.StatusEnum hci_status = 2;
|
||||
// 1 byte Version of current LMP in the remote controller
|
||||
optional int32 lmp_version = 3;
|
||||
// 2 bytes LMP manufacturer code of the remote controller
|
||||
// https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers
|
||||
optional int32 lmp_manufacturer_code = 4;
|
||||
// 4 bytes subversion of the LMP in the remote controller
|
||||
optional int32 lmp_subversion = 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when certain Bluetooth SDP attributes are discovered
|
||||
* Constant definitions are from:
|
||||
* https://www.bluetooth.com/specifications/assigned-numbers/service-discovery
|
||||
*
|
||||
* Current logged attributes:
|
||||
* - BluetoothProfileDescriptorList
|
||||
* - Supported Features Bitmask
|
||||
*
|
||||
* Logged from:
|
||||
* system/bt
|
||||
*/
|
||||
message BluetoothSdpAttributeReported {
|
||||
// An identifier that can be used to match events for this device.
|
||||
// Currently, this is a salted hash of the MAC address of this Bluetooth device.
|
||||
// Salt: Randomly generated 256 bit value
|
||||
// Hash algorithm: HMAC-SHA256
|
||||
optional bytes obfuscated_id = 1 [(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
// Short form UUIDs used to identify Bluetooth protocols, profiles, and service classes
|
||||
// Original type: uint16_t
|
||||
optional int32 protocol_uuid = 2;
|
||||
// Short form UUIDs used to identify Bluetooth SDP attribute types
|
||||
// Original type: uint16_t
|
||||
optional int32 attribute_id = 3;
|
||||
// Attribute value for the particular attribute
|
||||
optional bytes attribute_value = 4 [(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when bond state of a Bluetooth device changes
|
||||
*
|
||||
* Logged from:
|
||||
* frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
|
||||
* packages/apps/Bluetooth/src/com/android/bluetooth/btservice/BondStateMachine.java
|
||||
*/
|
||||
message BluetoothBondStateChanged {
|
||||
// An identifier that can be used to match events for this device.
|
||||
// Currently, this is a salted hash of the MAC address of this Bluetooth device.
|
||||
// Salt: Randomly generated 256 bit value
|
||||
// Hash algorithm: HMAC-SHA256
|
||||
// Size: 32 byte
|
||||
// Default: null or empty if the device identifier is not known
|
||||
optional bytes obfuscated_id = 1 [(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
// Preferred transport type to remote dual mode device
|
||||
// Default: TRANSPORT_AUTO means no preference
|
||||
optional android.bluetooth.TransportTypeEnum transport = 2;
|
||||
// The type of this Bluetooth device (Classic, LE, or Dual mode)
|
||||
// Default: UNKNOWN
|
||||
optional android.bluetooth.DeviceTypeEnum type = 3;
|
||||
// Current bond state (NONE, BONDING, BONDED)
|
||||
// Default: BOND_STATE_UNKNOWN
|
||||
optional android.bluetooth.BondStateEnum bond_state = 4;
|
||||
// Bonding sub state
|
||||
// Default: BOND_SUB_STATE_UNKNOWN
|
||||
optional android.bluetooth.BondSubStateEnum bonding_sub_state = 5;
|
||||
// Unbond Reason
|
||||
// Default: UNBOND_REASON_UNKNOWN
|
||||
optional android.bluetooth.UnbondReasonEnum unbond_reason = 6;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs there is an event related Bluetooth classic pairing
|
||||
*
|
||||
* Logged from:
|
||||
* system/bt
|
||||
*/
|
||||
message BluetoothClassicPairingEventReported {
|
||||
// An identifier that can be used to match events for this device.
|
||||
// Currently, this is a salted hash of the MAC address of this Bluetooth device.
|
||||
// Salt: Randomly generated 256 bit value
|
||||
// Hash algorithm: HMAC-SHA256
|
||||
// Size: 32 byte
|
||||
// Default: null or empty if the device identifier is not known
|
||||
optional bytes obfuscated_id = 1 [(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
// Connection handle of this connection if available
|
||||
// Range: 0x0000 - 0x0EFF (12 bits)
|
||||
// Default: 0xFFFF if the handle is unknown
|
||||
optional int32 connection_handle = 2;
|
||||
// HCI command associated with this event
|
||||
// Default: CMD_UNKNOWN
|
||||
optional android.bluetooth.hci.CommandEnum hci_cmd = 3;
|
||||
// HCI event associated with this event
|
||||
// Default: EVT_UNKNOWN
|
||||
optional android.bluetooth.hci.EventEnum hci_event = 4;
|
||||
// HCI command status code if this is triggerred by hci_cmd
|
||||
// Default: STATUS_UNKNOWN
|
||||
optional android.bluetooth.hci.StatusEnum cmd_status = 5;
|
||||
// HCI reason code associated with this event
|
||||
// Default: STATUS_UNKNOWN
|
||||
optional android.bluetooth.hci.StatusEnum reason_code = 6;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when there is an event related to Bluetooth Security Manager Protocol (SMP)
|
||||
*
|
||||
* Logged from:
|
||||
* system/bt
|
||||
*/
|
||||
message BluetoothSmpPairingEventReported {
|
||||
// An identifier that can be used to match events for this device.
|
||||
// Currently, this is a salted hash of the MAC address of this Bluetooth device.
|
||||
// Salt: Randomly generated 256 bit value
|
||||
// Hash algorithm: HMAC-SHA256
|
||||
// Size: 32 byte
|
||||
// Default: null or empty if the device identifier is not known
|
||||
optional bytes obfuscated_id = 1 [(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
// SMP command sent or received over L2CAP
|
||||
// Default: CMD_UNKNOWN
|
||||
optional android.bluetooth.smp.CommandEnum smp_command = 2;
|
||||
// Whether this command is sent or received
|
||||
// Default: DIRECTION_UNKNOWN
|
||||
optional android.bluetooth.DirectionEnum direction = 3;
|
||||
// SMP failure reason code
|
||||
// Default: PAIRING_FAIL_REASON_DEFAULT
|
||||
optional android.bluetooth.smp.PairingFailReasonEnum smp_fail_reason = 4;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs when something is plugged into or removed from the USB-C connector.
|
||||
*
|
||||
|
||||
@@ -24,5 +24,7 @@ cc_library_static {
|
||||
"android/bluetooth/a2dp/enums.proto",
|
||||
"android/bluetooth/enums.proto",
|
||||
"android/bluetooth/hci/enums.proto",
|
||||
"android/bluetooth/hfp/enums.proto",
|
||||
"android/bluetooth/smp/enums.proto",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -56,3 +56,57 @@ enum LinkTypeEnum {
|
||||
LINK_TYPE_ACL = 0x01;
|
||||
LINK_TYPE_ESCO = 0x02;
|
||||
}
|
||||
|
||||
enum DeviceInfoSrcEnum {
|
||||
DEVICE_INFO_SRC_UNKNOWN = 0;
|
||||
// Within Android Bluetooth stack
|
||||
DEVICE_INFO_INTERNAL = 1;
|
||||
// Outside Android Bluetooth stack
|
||||
DEVICE_INFO_EXTERNAL = 2;
|
||||
}
|
||||
|
||||
enum DeviceTypeEnum {
|
||||
DEVICE_TYPE_UNKNOWN = 0;
|
||||
DEVICE_TYPE_CLASSIC = 1;
|
||||
DEVICE_TYPE_LE = 2;
|
||||
DEVICE_TYPE_DUAL = 3;
|
||||
}
|
||||
|
||||
// Defined in frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
|
||||
enum TransportTypeEnum {
|
||||
TRANSPORT_TYPE_AUTO = 0;
|
||||
TRANSPORT_TYPE_BREDR = 1;
|
||||
TRANSPORT_TYPE_LE = 2;
|
||||
}
|
||||
|
||||
// Bond state enum
|
||||
// Defined in frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
|
||||
enum BondStateEnum {
|
||||
BOND_STATE_UNKNOWN = 0;
|
||||
BOND_STATE_NONE = 10;
|
||||
BOND_STATE_BONDING = 11;
|
||||
BOND_STATE_BONDED = 12;
|
||||
}
|
||||
|
||||
// Sub states within the bonding general state
|
||||
enum BondSubStateEnum {
|
||||
BOND_SUB_STATE_UNKNOWN = 0;
|
||||
BOND_SUB_STATE_LOCAL_OOB_DATA_PROVIDED = 1;
|
||||
BOND_SUB_STATE_LOCAL_PIN_REQUESTED = 2;
|
||||
BOND_SUB_STATE_LOCAL_PIN_REPLIED = 3;
|
||||
BOND_SUB_STATE_LOCAL_SSP_REQUESTED = 4;
|
||||
BOND_SUB_STATE_LOCAL_SSP_REPLIED = 5;
|
||||
}
|
||||
|
||||
enum UnbondReasonEnum {
|
||||
UNBOND_REASON_UNKNOWN = 0;
|
||||
UNBOND_REASON_AUTH_FAILED = 1;
|
||||
UNBOND_REASON_AUTH_REJECTED = 2;
|
||||
UNBOND_REASON_AUTH_CANCELED = 3;
|
||||
UNBOND_REASON_REMOTE_DEVICE_DOWN = 4;
|
||||
UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5;
|
||||
UNBOND_REASON_AUTH_TIMEOUT = 6;
|
||||
UNBOND_REASON_REPEATED_ATTEMPTS = 7;
|
||||
UNBOND_REASON_REMOTE_AUTH_CANCELED = 8;
|
||||
UNBOND_REASON_REMOVED = 9;
|
||||
}
|
||||
|
||||
@@ -517,3 +517,43 @@ enum StatusEnum {
|
||||
STATUS_CLB_DATA_TOO_BIG = 0x43;
|
||||
STATUS_OPERATION_CANCELED_BY_HOST = 0x44; // Not currently used in system/bt
|
||||
}
|
||||
|
||||
enum BqrIdEnum {
|
||||
BQR_ID_UNKNOWN = 0x00;
|
||||
BQR_ID_MONITOR_MODE = 0x01;
|
||||
BQR_ID_APPROACH_LSTO = 0x02;
|
||||
BQR_ID_A2DP_AUDIO_CHOPPY = 0x03;
|
||||
BQR_ID_SCO_VOICE_CHOPPY = 0x04;
|
||||
}
|
||||
|
||||
enum BqrPacketTypeEnum {
|
||||
BQR_PACKET_TYPE_UNKNOWN = 0x00;
|
||||
BQR_PACKET_TYPE_ID = 0x01;
|
||||
BQR_PACKET_TYPE_NULL = 0x02;
|
||||
BQR_PACKET_TYPE_POLL = 0x03;
|
||||
BQR_PACKET_TYPE_FHS = 0x04;
|
||||
BQR_PACKET_TYPE_HV1 = 0x05;
|
||||
BQR_PACKET_TYPE_HV2 = 0x06;
|
||||
BQR_PACKET_TYPE_HV3 = 0x07;
|
||||
BQR_PACKET_TYPE_DV = 0x08;
|
||||
BQR_PACKET_TYPE_EV3 = 0x09;
|
||||
BQR_PACKET_TYPE_EV4 = 0x0A;
|
||||
BQR_PACKET_TYPE_EV5 = 0x0B;
|
||||
BQR_PACKET_TYPE_2EV3 = 0x0C;
|
||||
BQR_PACKET_TYPE_2EV5 = 0x0D;
|
||||
BQR_PACKET_TYPE_3EV3 = 0x0E;
|
||||
BQR_PACKET_TYPE_3EV5 = 0x0F;
|
||||
BQR_PACKET_TYPE_DM1 = 0x10;
|
||||
BQR_PACKET_TYPE_DH1 = 0x11;
|
||||
BQR_PACKET_TYPE_DM3 = 0x12;
|
||||
BQR_PACKET_TYPE_DH3 = 0x13;
|
||||
BQR_PACKET_TYPE_DM5 = 0x14;
|
||||
BQR_PACKET_TYPE_DH5 = 0x15;
|
||||
BQR_PACKET_TYPE_AUX1 = 0x16;
|
||||
BQR_PACKET_TYPE_2DH1 = 0x17;
|
||||
BQR_PACKET_TYPE_2DH3 = 0x18;
|
||||
BQR_PACKET_TYPE_2DH5 = 0x19;
|
||||
BQR_PACKET_TYPE_3DH1 = 0x1A;
|
||||
BQR_PACKET_TYPE_3DH3 = 0x1B;
|
||||
BQR_PACKET_TYPE_3DH5 = 0x1C;
|
||||
}
|
||||
|
||||
58
core/proto/android/bluetooth/smp/enums.proto
Normal file
58
core/proto/android/bluetooth/smp/enums.proto
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
syntax = "proto2";
|
||||
package android.bluetooth.smp;
|
||||
|
||||
option java_outer_classname = "BluetoothSmpProtoEnums";
|
||||
option java_multiple_files = true;
|
||||
|
||||
// SMP Pairing command codes
|
||||
enum CommandEnum {
|
||||
CMD_UNKNOWN = 0x00;
|
||||
CMD_PAIRING_REQUEST = 0x01;
|
||||
CMD_PAIRING_RESPONSE = 0x02;
|
||||
CMD_PAIRING_CONFIRM = 0x03;
|
||||
CMD_PAIRING_RANDOM = 0x04;
|
||||
CMD_PAIRING_FAILED = 0x05;
|
||||
CMD_ENCRYPTION_INFON = 0x06;
|
||||
CMD_MASTER_IDENTIFICATION = 0x07;
|
||||
CMD_IDENTITY_INFO = 0x08;
|
||||
CMD_IDENTITY_ADDR_INFO = 0x09;
|
||||
CMD_SIGNING_INFO = 0x0A;
|
||||
CMD_SECURITY_REQUEST = 0x0B;
|
||||
CMD_PAIRING_PUBLIC_KEY = 0x0C;
|
||||
CMD_PAIRING_DHKEY_CHECK = 0x0D;
|
||||
CMD_PAIRING_KEYPRESS_INFO = 0x0E;
|
||||
}
|
||||
|
||||
enum PairingFailReasonEnum {
|
||||
PAIRING_FAIL_REASON_RESERVED = 0x00;
|
||||
PAIRING_FAIL_REASON_PASSKEY_ENTRY = 0x01;
|
||||
PAIRING_FAIL_REASON_OOB = 0x02;
|
||||
PAIRING_FAIL_REASON_AUTH_REQ = 0x03;
|
||||
PAIRING_FAIL_REASON_CONFIRM_VALUE = 0x04;
|
||||
PAIRING_FAIL_REASON_PAIR_NOT_SUPPORT = 0x05;
|
||||
PAIRING_FAIL_REASON_ENC_KEY_SIZE = 0x06;
|
||||
PAIRING_FAIL_REASON_INVALID_CMD = 0x07;
|
||||
PAIRING_FAIL_REASON_UNSPECIFIED = 0x08;
|
||||
PAIRING_FAIL_REASON_REPEATED_ATTEMPTS = 0x09;
|
||||
PAIRING_FAIL_REASON_INVALID_PARAMETERS = 0x0A;
|
||||
PAIRING_FAIL_REASON_DHKEY_CHK = 0x0B;
|
||||
PAIRING_FAIL_REASON_NUMERIC_COMPARISON = 0x0C;
|
||||
PAIRING_FAIL_REASON_CLASSIC_PAIRING_IN_PROGR = 0x0D;
|
||||
PAIRING_FAIL_REASON_XTRANS_DERIVE_NOT_ALLOW = 0x0E;
|
||||
}
|
||||
Reference in New Issue
Block a user