xref: /aosp_15_r20/frameworks/proto_logging/stats/enums/bluetooth/le/enums.proto (revision 64c55175f22a2714b5ba1250098ad9bbc12ec7cd)
1/*
2 * Copyright 2018 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18package android.bluetooth.le;
19
20option java_outer_classname = "BluetoothLEProtoEnums";
21option java_multiple_files = true;
22
23
24// LE ACL Connection State. This as per - go/bluetooth-le-connection-metrics
25enum LeAclConnectionState {
26  LE_ACL_UNSPECIFIED = 0;
27  LE_ACL_SUCCESS = 1;
28  LE_ACL_FAILED = 2;
29  LE_ACL_ALREADY_PRESENT = 3;
30}
31
32// Connection Origin type.
33enum LeConnectionOriginType {
34  ORIGIN_UNSPECIFIED = 0;
35  ORIGIN_NATIVE = 1;
36  ORIGIN_JAVA = 2;
37}
38
39// LE Connection Type
40enum LeConnectionType {
41  CONNECTION_TYPE_UNSPECIFIED = 0;
42  CONNECTION_TYPE_LE_ACL = 1;
43  CONNECTION_TYPE_GATT = 2;
44  CONNECTION_TYPE_L2CAP_FIXED_CHNL_SMP = 3;
45  CONNECTION_TYPE_L2CAP_FIXED_CHNL_ATT = 4;
46  CONNECTION_TYPE_L2CAP_FIXED_CHNL_LE_SIGNALLING = 5;
47  CONNECTION_TYPE_L2CAP_FIXED_CHNL_AMP = 6;
48  CONNECTION_TYPE_L2CAP_FIXED_CHNL_SMP_BR_EDR = 7;
49}
50
51// LE Connection State
52enum LeConnectionState {
53  STATE_UNSPECIFIED = 0;
54  STATE_LE_ACL_START = 1;
55  STATE_LE_ACL_END = 2;
56  STATE_LE_ACL_CANCEL = 3;
57  STATE_LE_ACL_TIMEOUT = 4;
58  STATE_GATT_APP_USE_LINK_FLAG = 5;
59  STATE_GATT_CREATE_DIRECT_CONN = 6;
60  STATE_GATT_HOLD_LINK_EMPTY = 7;
61  STATE_GATT_CONNECT_NATIVE = 8;
62  STATE_GATT_APP_CREATE_LE_ACL = 9;
63  STATE_GATT_CONN_STATE_CHANGE_CLIENT = 10;
64  STATE_GATT_CONN_STATE_CHANGE_SERVER = 11;
65  STATE_L2CAP_FIXED_CHNL_START_CREATE_CONN = 12;
66  STATE_L2CAP_FIXED_CHNL_START_LE_ACL = 13;
67  STATE_L2CAP_FIXED_CHNL_LE_ACL_FINISH = 14;
68}
69
70// LE scan callback types
71enum LeScanCallbackType {
72  TYPE_UNKNOWN = 0;
73  TYPE_ALL_MATCHES = 1;
74  TYPE_FIRST_MATCH = 2;
75  TYPE_MATCH_LOST = 4;
76  TYPE_ALL_MATCHES_AUTO_BATCH = 8;
77}
78
79// LE Scan Type
80enum LeScanType {
81  SCAN_TYPE_UNKNOWN = 0;
82  SCAN_TYPE_REGULAR = 1;
83  SCAN_TYPE_BATCH = 2;
84  SCAN_TYPE_AUTO_BATCH = 3;
85}
86
87// LE Scan Mode. It is based on the scan modes defined in LE scan settings in
88// the framework.
89enum LeScanMode {
90  // Referring to ScanSettings.java
91  SCAN_MODE_UNKNOWN = 0;
92  SCAN_MODE_OPPORTUNISTIC = 1;
93  SCAN_MODE_LOW_POWER = 2;
94  SCAN_MODE_BALANCED = 3;
95  SCAN_MODE_LOW_LATENCY = 4;
96  SCAN_MODE_AMBIENT_DISCOVERY = 5;
97  // Below modes are only applicable for radio scan not app scan.
98  SCAN_MODE_SCREEN_OFF = 6;
99  SCAN_MODE_SCREEN_OFF_BALANCED = 7;
100  // For non-standard scan mode by OEMs.
101  SCAN_MODE_CUSTOM = 20;
102}
103
104// Reason code for LE scan abuse.
105enum LeScanAbuseReason {
106  REASON_UNKNOWN = 0;
107  REASON_SCAN_TIMEOUT = 1;
108  // Hardware filter not available.
109  REASON_HW_FILTER_NA = 2;
110  // Tracking hardware filter not available.
111  REASON_TRACKING_HW_FILTER_NA = 3;
112}
113
114// LE adv interval configuration.
115// Refer to AdvertisingSetParameters.java
116enum LeAdvInterval {
117  INTERVAL_UNKNOWN = 0;
118  INTERVAL_HIGH = 1;
119  INTERVAL_MEDIUM = 2;
120  INTERVAL_LOW = 3;
121}
122
123// LE adv tx power configuration.
124// Refer to AdvertisingSetParameters.java
125enum LeAdvTxPower {
126  TX_POWER_UNKNOWN = 0;
127  TX_POWER_ULTRA_LOW = 1;
128  TX_POWER_LOW = 2;
129  TX_POWER_MEDIUM = 3;
130  TX_POWER_HIGH = 4;
131}
132
133// Operation code for LE adv.
134enum LeAdvOpCode {
135  ERROR_CODE_UNKNOWN = 0;
136  ERROR_CODE_ON_START = 1;
137}
138
139// Status code for advertising set start.
140// Refer to AdvertisingSetCallback.java
141enum LeAdvStatusCode {
142  ADV_STATUS_UNKNOWN = 0;
143  ADV_STATUS_SUCCESS = 1;
144  ADV_STATUS_FAILED_DATA_TOO_LARGE = 2;
145  ADV_STATUS_FAILED_TOO_MANY_ADVERTISERS = 3;
146  ADV_STATUS_FAILED_ALREADY_STARTED = 4;
147  ADV_STATUS_FAILED_INTERNAL_ERROR = 5;
148  ADV_STATUS_FAILED_FEATURE_UNSUPPORTED = 6;
149}
150