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; 19 20option java_outer_classname = "BluetoothProtoEnums"; 21option java_multiple_files = true; 22 23// Bluetooth connection states. 24enum ConnectionStateEnum { 25 CONNECTION_STATE_DISCONNECTED = 0; 26 CONNECTION_STATE_CONNECTING = 1; 27 CONNECTION_STATE_CONNECTED = 2; 28 CONNECTION_STATE_DISCONNECTING = 3; 29} 30 31// Bluetooth Adapter Enable and Disable Reasons 32enum EnableDisableReasonEnum { 33 ENABLE_DISABLE_REASON_UNSPECIFIED = 0; 34 ENABLE_DISABLE_REASON_APPLICATION_REQUEST = 1; 35 ENABLE_DISABLE_REASON_AIRPLANE_MODE = 2; 36 ENABLE_DISABLE_REASON_DISALLOWED = 3; 37 ENABLE_DISABLE_REASON_RESTARTED = 4; 38 ENABLE_DISABLE_REASON_START_ERROR = 5; 39 ENABLE_DISABLE_REASON_SYSTEM_BOOT = 6; 40 ENABLE_DISABLE_REASON_CRASH = 7; 41 ENABLE_DISABLE_REASON_USER_SWITCH = 8; 42 ENABLE_DISABLE_REASON_RESTORE_USER_SETTING = 9; 43 ENABLE_DISABLE_REASON_FACTORY_RESET = 10; 44 ENABLE_DISABLE_REASON_INIT_FLAGS_CHANGED = 11; 45 ENABLE_DISABLE_REASON_SATELLITE_MODE = 12; 46} 47 48enum DirectionEnum { 49 DIRECTION_UNKNOWN = 0; 50 DIRECTION_OUTGOING = 1; 51 DIRECTION_INCOMING = 2; 52} 53 54// First item is the default value, other values follow Bluetooth spec definition 55enum LinkTypeEnum { 56 // Link type is at most 1 byte (0xFF), thus 0xFFF must not be a valid value 57 LINK_TYPE_UNKNOWN = 0xFFF; 58 LINK_TYPE_SCO = 0x00; 59 LINK_TYPE_ACL = 0x01; 60 LINK_TYPE_ESCO = 0x02; 61} 62 63enum DeviceInfoSrcEnum { 64 DEVICE_INFO_SRC_UNKNOWN = 0; 65 // Within Android Bluetooth stack 66 DEVICE_INFO_INTERNAL = 1; 67 // Outside Android Bluetooth stack 68 DEVICE_INFO_EXTERNAL = 2; 69} 70 71enum DeviceTypeEnum { 72 DEVICE_TYPE_UNKNOWN = 0; 73 DEVICE_TYPE_CLASSIC = 1; 74 DEVICE_TYPE_LE = 2; 75 DEVICE_TYPE_DUAL = 3; 76} 77 78// Defined in frameworks/base/core/java/android/bluetooth/BluetoothDevice.java 79enum TransportTypeEnum { 80 TRANSPORT_TYPE_AUTO = 0; 81 TRANSPORT_TYPE_BREDR = 1; 82 TRANSPORT_TYPE_LE = 2; 83} 84 85// Bond state enum 86// Defined in frameworks/base/core/java/android/bluetooth/BluetoothDevice.java 87enum BondStateEnum { 88 BOND_STATE_UNKNOWN = 0; 89 BOND_STATE_NONE = 10; 90 BOND_STATE_BONDING = 11; 91 BOND_STATE_BONDED = 12; 92} 93 94// Sub states within the bonding general state 95enum BondSubStateEnum { 96 BOND_SUB_STATE_UNKNOWN = 0; 97 BOND_SUB_STATE_LOCAL_OOB_DATA_PROVIDED = 1; 98 BOND_SUB_STATE_LOCAL_PIN_REQUESTED = 2; 99 BOND_SUB_STATE_LOCAL_PIN_REPLIED = 3; 100 BOND_SUB_STATE_LOCAL_SSP_REQUESTED = 4; 101 BOND_SUB_STATE_LOCAL_SSP_REPLIED = 5; 102 BOND_SUB_STATE_LOCAL_BOND_STATE_INTENT_SENT = 6; 103 BOND_SUB_STATE_LOCAL_START_PAIRING = 7; 104 BOND_SUB_STATE_LOCAL_START_PAIRING_OOB = 8; 105} 106 107enum UnbondReasonEnum { 108 UNBOND_REASON_UNKNOWN = 0; 109 UNBOND_REASON_AUTH_FAILED = 1; 110 UNBOND_REASON_AUTH_REJECTED = 2; 111 UNBOND_REASON_AUTH_CANCELED = 3; 112 UNBOND_REASON_REMOTE_DEVICE_DOWN = 4; 113 UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5; 114 UNBOND_REASON_AUTH_TIMEOUT = 6; 115 UNBOND_REASON_REPEATED_ATTEMPTS = 7; 116 UNBOND_REASON_REMOTE_AUTH_CANCELED = 8; 117 UNBOND_REASON_REMOVED = 9; 118} 119 120enum SocketTypeEnum { 121 SOCKET_TYPE_UNKNOWN = 0; 122 SOCKET_TYPE_RFCOMM = 1; 123 SOCKET_TYPE_SCO = 2; 124 SOCKET_TYPE_L2CAP_BREDR = 3; 125 SOCKET_TYPE_L2CAP_LE = 4; 126} 127 128enum SocketConnectionstateEnum { 129 SOCKET_CONNECTION_STATE_UNKNOWN = 0; 130 // Socket acts as a server waiting for connection 131 SOCKET_CONNECTION_STATE_LISTENING = 1; 132 // Socket acts as a client trying to connect 133 SOCKET_CONNECTION_STATE_CONNECTING = 2; 134 // Socket is connected 135 SOCKET_CONNECTION_STATE_CONNECTED = 3; 136 // Socket tries to disconnect from remote 137 SOCKET_CONNECTION_STATE_DISCONNECTING = 4; 138 // This socket is closed 139 SOCKET_CONNECTION_STATE_DISCONNECTED = 5; 140} 141 142enum SocketRoleEnum { 143 SOCKET_ROLE_UNKNOWN = 0; 144 SOCKET_ROLE_LISTEN = 1; 145 SOCKET_ROLE_CONNECTION = 2; 146} 147 148enum L2capCocConnectionResult { 149 RESULT_L2CAP_CONN_UNKNOWN = 0; 150 RESULT_L2CAP_CONN_SUCCESS = 1; 151 RESULT_L2CAP_CONN_ACL_FAILURE = 2; 152 RESULT_L2CAP_CONN_CL_SEC_FAILURE = 3; 153 RESULT_L2CAP_CONN_INSUFFICIENT_AUTHENTICATION = 4; 154 RESULT_L2CAP_CONN_INSUFFICIENT_AUTHORIZATION = 5; 155 RESULT_L2CAP_CONN_INSUFFICIENT_ENCRYP_KEY_SIZE = 6; 156 RESULT_L2CAP_CONN_INSUFFICIENT_ENCRYP = 7; 157 RESULT_L2CAP_CONN_INVALID_SOURCE_CID = 8; 158 RESULT_L2CAP_CONN_SOURCE_CID_ALREADY_ALLOCATED = 9; 159 RESULT_L2CAP_CONN_UNACCEPTABLE_PARAMETERS = 10; 160 RESULT_L2CAP_CONN_INVALID_PARAMETERS = 11; 161 RESULT_L2CAP_CONN_NO_RESOURCES = 12; 162 RESULT_L2CAP_CONN_NO_PSM = 13; 163 RESULT_L2CAP_CONN_TIMEOUT = 14; 164 RESULT_L2CAP_CONN_BLUETOOTH_OFF = 15; 165 166 // Modify the curresponding value of BluetoothSocket.java 167 RESULT_L2CAP_CONN_BLUETOOTH_SOCKET_CONNECTION_FAILED = 1000; 168 RESULT_L2CAP_CONN_BLUETOOTH_SOCKET_CONNECTION_CLOSED = 1001; 169 RESULT_L2CAP_CONN_BLUETOOTH_UNABLE_TO_SEND_RPC = 1002; 170 RESULT_L2CAP_CONN_BLUETOOTH_NULL_BLUETOOTH_DEVICE = 1003; 171 RESULT_L2CAP_CONN_BLUETOOTH_GET_SOCKET_MANAGER_FAILED = 1004; 172 RESULT_L2CAP_CONN_BLUETOOTH_NULL_FILE_DESCRIPTOR = 1005; 173 174 // Modify the curresponding value of BluetoothServerSocket.java 175 RESULT_L2CAP_CONN_SERVER_FAILURE= 2000; 176} 177 178enum CodePathCounterKeyEnum { 179 KEY_UNKNOWN = 0; 180 // Reserver smaller counters for very important bt features 181 182 // [100,000 - 120,000) profile connection related 183 184 // [100,000 - 100,100) L2CAP 185 L2CAP_SUCCESS = 100000; 186 L2CAP_CONNECT_CONFIRM_NEG= 100001; 187 L2CAP_NO_COMPATIBLE_CHANNEL_AT_CSM_CLOSED = 100002; 188 L2CAP_SECURITY_NEG_AT_CSM_CLOSED= 100003; 189 L2CAP_TIMEOUT_AT_CSM_CLOSED = 100004; 190 L2CAP_CREDIT_BASED_CONNECT_RSP_NEG = 100005; 191 L2CAP_CONNECT_RSP_NEG = 100006; 192 L2CAP_INFO_NO_COMPATIBLE_CHANNEL_AT_RSP = 100007; 193 L2CAP_CONFIG_REQ_FAILURE = 100008; 194 L2CAP_CONFIG_RSP_NEG = 100009; 195 L2CAP_NO_COMPATIBLE_CHANNEL_AT_W4_SEC = 100010; 196 L2CAP_SECURITY_NEG_AT_W4_SEC= 100011; 197 L2CAP_TIMEOUT_AT_CONNECT_RSP = 100012; 198 L2CAP_CONN_OTHER_ERROR_AT_CONNECT_RSP = 100013; 199 200 // [100,100 - 100,200) SDP 201 SDP_SUCCESS = 100100; 202 SDP_FAILURE = 100101; 203 SDP_SENDING_DELAYED_UUID = 100102; 204 SDP_NOT_SENDING_DELAYED_UUID = 100103; 205 SDP_SENT_UUID = 100104; 206 SDP_UUIDS_EQUAL_SKIP = 100105; 207 SDP_ADD_UUID_WITH_INTENT = 100106; 208 SDP_ADD_UUID_WITH_NO_INTENT = 100107; 209 SDP_DROP_UUID = 100108; 210 SDP_FETCH_UUID_SKIP_ALREADY_CACHED = 100109; 211 SDP_FETCH_UUID_SKIP_ALREADY_BONDED = 100110; 212 SDP_INVOKE_SDP_CYCLE = 100111; 213 SDP_FETCH_UUID_REQUEST = 100112; 214 215 216 // [101,000 - 102,000) HFP 217 218 // [101,000 - 101,100) RFCOMM 219 RFCOMM_CONNECTION_SUCCESS_IND = 101000; 220 RFCOMM_CONNECTION_SUCCESS_CNF = 101001; 221 RFCOMM_PORT_START_CNF_FAILED = 101002; 222 RFCOMM_PORT_START_CLOSE = 101003; 223 RFCOMM_PORT_START_FAILED = 101004; 224 RFCOMM_PORT_NEG_FAILED = 101005; 225 RFCOMM_PORT_CLOSED = 101006; 226 RFCOMM_PORT_PEER_CONNECTION_FAILED = 101007; 227 RFCOMM_PORT_PEER_TIMEOUT = 101008; 228 229 // [101,100 - 101,200) HFP (btif) 230 HFP_COLLISON_AT_AG_OPEN = 101101; 231 HFP_COLLISON_AT_CONNECTING = 101102; 232 HFP_SELF_INITIATED_AG_FAILED = 101103; 233 HFP_SLC_SETUP_FAILED = 101104; 234 235 // [102,000 - 103,000) A2DP 236 A2DP_CONNECTION_SUCCESS = 102000; 237 A2DP_CONNECTION_ACL_DISCONNECTED = 102001; 238 A2DP_CONNECTION_REJECT_EVT = 102002; 239 A2DP_CONNECTION_FAILURE = 102003; 240 A2DP_CONNECTION_UNKNOWN_EVENT = 102004; 241 A2DP_ALREADY_CONNECTING = 102005; 242 A2DP_OFFLOAD_START_REQ_FAILURE = 102006; 243 A2DP_CONNECTION_CLOSE = 102007; 244 A2DP_CONNECTION_DISCONNECTED = 102008; 245 A2DP_CONNECTION_TIMEOUT = 102009; 246 247 // [103,000 - 103,100) HIDD 248 HID_PLUG_FAILURE = 103001; 249 HIDD_REGISTER_DESCRIPTOR_MALFORMED = 103002; 250 251 HIDD_ERR_NOT_REGISTERED_AT_INITIATE = 103003; 252 HIDD_ERR_NO_RESOURCES = 103004; 253 HIDD_ERR_NO_CONNECTION_AT_SEND_DATA = 103005; 254 HIDD_ERR_NO_CONNECTION_AT_DISCONNECT = 103006; 255 HIDD_ERR_INVALID_PARAM = 103007; 256 HIDD_ERR_CONGESTED_AT_DATA_WRITE = 103008; 257 HIDD_ERR_CONGESTED_AT_FLAG_CHECK = 103009; 258 HIDD_ERR_CONN_IN_PROCESS = 103010; 259 HIDD_ERR_ALREADY_CONN = 103011; 260 HIDD_ERR_DISCONNECTING = 103012; 261 HIDD_ERR_L2CAP_NOT_STARTED_INCOMING = 103013; 262 HIDD_ERR_L2CAP_FAILED_INITIATE = 103014; 263 HIDD_ERR_L2CAP_FAILED_CONTROL = 103015; 264 HIDD_ERR_L2CAP_FAILED_INTERRUPT = 103016; 265 HIDD_ERR_HOST_CALLBACK_NULL = 103017; 266 HIDD_ERR_INVALID_PARAM_SEND_REPORT = 103018; 267 HIDD_ERR_DEVICE_NOT_IN_USE_AT_CONNECT = 103019; 268 HIDD_ERR_DEVICE_NOT_IN_USE_AT_DISCONNECT = 103020; 269 HIDD_ERR_NOT_REGISTERED_AT_CONNECT = 103021; 270 HIDD_ERR_NOT_REGISTERED_AT_DISCONNECT = 103022; 271 HIDD_ERR_NOT_REGISTERED_AT_GET_DEVICE = 103023; 272 HIDD_ERR_NOT_REGISTERED_AT_DEREGISTER = 103024; 273 HIDD_ERR_NOT_REGISTERED_DUE_TO_DESCRIPTOR_LENGTH = 103025; 274 HIDD_ERR_NOT_REGISTERED_DUE_TO_BUFFER_ALLOCATION = 103026; 275 HIDD_ERR_NOT_REGISTERED_AT_SDP = 103027; 276 HIDD_ERR_ALREADY_REGISTERED = 103028; 277 278 // [103,100 - 103,200) HIDH 279 HIDH_ERR_ALREADY_REGISTERED = 103101; 280 HIDH_ERR_NO_RESOURCES_SDP = 103102; 281 HIDH_ERR_NO_RESOURCES_ADD_DEVICE = 103103; 282 HIDH_ERR_NO_CONNECTION_AT_SEND_DATA = 103104; 283 HIDH_ERR_NO_CONNECTION_AT_HOST_WRITE_DEV = 103105; 284 HIDH_ERR_NO_CONNECTION_AT_HOST_CLOSE_DEV = 103106; 285 286 HIDH_ERR_INVALID_PARAM_AT_SEND_DATA = 103107; 287 HIDH_ERR_INVALID_PARAM_AT_HOST_REGISTER = 103108; 288 HIDH_ERR_INVALID_PARAM_AT_HOST_REMOVE_DEV = 103109; 289 HIDH_ERR_INVALID_PARAM_AT_HOST_OPEN_DEV = 103110; 290 HIDH_ERR_INVALID_PARAM_AT_HOST_CLOSE_DEV = 103111; 291 HIDH_ERR_INVALID_PARAM_AT_HOST_WRITE_DEV = 103112; 292 293 HIDH_ERR_CONGESTED_AT_SEND_DATA = 103113; 294 HIDH_ERR_CONGESTED_AT_FLAG_CHECK = 103114; 295 HIDH_ERR_CONN_IN_PROCESS = 103115; 296 HIDH_ERR_ALREADY_CONN = 103116; 297 298 HIDH_ERR_L2CAP_FAILED_AT_INITIATE = 103117; 299 HIDH_ERR_L2CAP_FAILED_AT_REGISTER_CONTROL = 103118; 300 HIDH_ERR_L2CAP_FAILED_AT_REGISTER_INTERRUPT = 103119; 301 302 HIDH_ERR_AUTH_FAILED = 103120; 303 HIDH_ERR_SDP_BUSY = 103121; 304 305 // [120,000 - 120,500) LE scan related 306 // [120,000 - 120,100) LE scan enable/disable count 307 LE_SCAN_COUNT_TOTAL_ENABLE = 120000; 308 LE_SCAN_COUNT_TOTAL_DISABLE = 120001; 309 LE_SCAN_COUNT_FILTERED_ENABLE = 120002; 310 LE_SCAN_COUNT_FILTERED_DISABLE = 120003; 311 LE_SCAN_COUNT_UNFILTERED_ENABLE = 120004; 312 LE_SCAN_COUNT_UNFILTERED_DISABLE = 120005; 313 LE_SCAN_COUNT_BATCH_ENABLE = 120006; 314 LE_SCAN_COUNT_BATCH_DISABLE = 120007; 315 LE_SCAN_COUNT_AUTO_BATCH_ENABLE = 120008; 316 LE_SCAN_COUNT_AUTO_BATCH_DISABLE = 120009; 317 318 // [120,100 - 120,200) LE scan duration bucket count 319 LE_SCAN_DURATION_COUNT_REGULAR_10S = 120100; 320 LE_SCAN_DURATION_COUNT_REGULAR_1M = 120101; 321 LE_SCAN_DURATION_COUNT_REGULAR_10M = 120102; 322 LE_SCAN_DURATION_COUNT_REGULAR_1H =120103; 323 LE_SCAN_DURATION_COUNT_REGULAR_1HP =120104; 324 LE_SCAN_DURATION_COUNT_BATCH_10S = 120105; 325 LE_SCAN_DURATION_COUNT_BATCH_1M = 120106; 326 LE_SCAN_DURATION_COUNT_BATCH_10M = 120107; 327 LE_SCAN_DURATION_COUNT_BATCH_1H = 120108; 328 LE_SCAN_DURATION_COUNT_BATCH_1HP = 120109; 329 330 // [120,200 - 120,300) LE scan radio active duration 331 LE_SCAN_RADIO_DURATION_ALL = 120200; 332 LE_SCAN_RADIO_DURATION_REGULAR = 120201; 333 LE_SCAN_RADIO_DURATION_BATCH = 120202; 334 LE_SCAN_RADIO_DURATION_REGULAR_SCREEN_ON = 120203; 335 LE_SCAN_RADIO_DURATION_REGULAR_SCREEN_OFF = 120204; 336 LE_SCAN_RADIO_DURATION_BATCH_SCREEN_ON = 120205; 337 LE_SCAN_RADIO_DURATION_BATCH_SCREEN_OFF = 120206; 338 339 // [120,300 - 120,400) LE scan results count 340 LE_SCAN_RESULTS_COUNT_ALL = 120300; 341 LE_SCAN_RESULTS_COUNT_REGULAR = 120301; 342 LE_SCAN_RESULTS_COUNT_BATCH = 120302; 343 LE_SCAN_RESULTS_COUNT_REGULAR_SCREEN_ON = 120303; 344 LE_SCAN_RESULTS_COUNT_REGULAR_SCREEN_OFF = 120304; 345 LE_SCAN_RESULTS_COUNT_BATCH_SCREEN_ON = 120305; 346 LE_SCAN_RESULTS_COUNT_BATCH_SCREEN_OFF = 120306; 347 348 // [120,400 - 120,500) LE scan abuse count 349 LE_SCAN_ABUSE_COUNT_SCAN_TIMEOUT = 120400; 350 351 // [120,500 - 121,000) LE advertise related 352 // [120,500 - 120,600) LE advertise enable/disable count 353 LE_ADV_COUNT_ENABLE = 120500; 354 LE_ADV_COUNT_DISABLE = 120501; 355 LE_ADV_COUNT_CONNECTABLE_ENABLE = 120502; 356 LE_ADV_COUNT_CONNECTABLE_DISABLE = 120503; 357 LE_ADV_COUNT_PERIODIC_ENABLE = 120504; 358 LE_ADV_COUNT_PERIODIC_DISABLE = 120505; 359 360 // [120,600 - 120,700) LE advertise instance bucket count 361 LE_ADV_INSTANCE_COUNT_5 = 120600; 362 LE_ADV_INSTANCE_COUNT_10 = 120601; 363 LE_ADV_INSTANCE_COUNT_15 = 120602; 364 LE_ADV_INSTANCE_COUNT_15P = 120603; 365 366 // [120,700 - 120,800) LE advertise duration bucket count 367 LE_ADV_DURATION_COUNT_TOTAL_1M = 120700; 368 LE_ADV_DURATION_COUNT_TOTAL_30M = 120701; 369 LE_ADV_DURATION_COUNT_TOTAL_1H = 120702; 370 LE_ADV_DURATION_COUNT_TOTAL_3H = 120703; 371 LE_ADV_DURATION_COUNT_TOTAL_3HP = 120704; 372 LE_ADV_DURATION_COUNT_CONNECTABLE_1M = 120705; 373 LE_ADV_DURATION_COUNT_CONNECTABLE_30M = 120706; 374 LE_ADV_DURATION_COUNT_CONNECTABLE_1H = 120707; 375 LE_ADV_DURATION_COUNT_CONNECTABLE_3H = 120708; 376 LE_ADV_DURATION_COUNT_CONNECTABLE_3HP = 120709; 377 LE_ADV_DURATION_COUNT_PERIODIC_1M = 120710; 378 LE_ADV_DURATION_COUNT_PERIODIC_30M = 120711; 379 LE_ADV_DURATION_COUNT_PERIODIC_1H = 120712; 380 LE_ADV_DURATION_COUNT_PERIODIC_3H = 120713; 381 LE_ADV_DURATION_COUNT_PERIODIC_3HP = 120714; 382 383 // [120,800 - 120,900) LE advertise error count 384 LE_ADV_ERROR_ON_START_COUNT = 120800; 385 386 // [120,900 - 121,000) GATT Related Count 387 GATT_CLIENT_CONNECT_IS_DIRECT = 120900; 388 GATT_CLIENT_CONNECT_IS_AUTOCONNECT = 120901; 389 390 // [121,000 - 121,010) Screen on/off count 391 SCREEN_ON_EVENT = 121000; 392 SCREEN_OFF_EVENT = 121001; 393} 394 395enum AddressTypeEnum { 396 ADDRESS_TYPE_PUBLIC = 0; 397 ADDRESS_TYPE_RANDOM = 1; 398 ADDRESS_TYPE_UNKNOWN = 0xFFFF; 399} 400 401// Major Class from packages/modules/Bluetooth/framework/java/android/bluetooth/BluetoothClass.java 402enum MajorClassEnum { 403 MAJOR_CLASS_UNCATEGORIZED = 0x1F00; 404 MAJOR_CLASS_MISC = 0x0000; 405 MAJOR_CLASS_COMPUTER = 0x0100; 406 MAJOR_CLASS_PHONE = 0x0200; 407 MAJOR_CLASS_NETWORKING = 0x0300; 408 MAJOR_CLASS_AUDIO_VIDEO = 0x0400; 409 MAJOR_CLASS_PERIPHERAL = 0x0500; 410 MAJOR_CLASS_IMAGING = 0x0600; 411 MAJOR_CLASS_WEARABLE = 0x0700; 412 MAJOR_CLASS_TOY = 0x0800; 413 MAJOR_CLASS_HEALTH = 0x0900; 414} 415 416enum ProfileConnectionResult { 417 RESULT_UNKNOWN = 0; 418 RESULT_SUCCESS = 1; 419 RESULT_FAILURE = 2; 420} 421 422enum ProfileConnectionReason { 423 REASON_UNKNOWN = 0; 424 REASON_SUCCESS = 1; 425 REASON_UNEXPECTED_STATE = 2; 426} 427