|  | // Copyright 2019 The Fuchsia Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | library fuchsia.bluetooth.test; | 
|  |  | 
|  | /// Defines the list of HCI protocol error codes that a Bluetooth controller can report. These | 
|  | /// values are taken from Bluetooth Core Specification v5.1, Vol 2, Part D. | 
|  | enum HciError : uint8 { | 
|  | SUCCESS = 0x00; | 
|  | UNKNOWN_COMMAND = 0x01; | 
|  | UNKNOWN_CONNECTION_ID = 0x02; | 
|  | HARDWARE_FAILURE = 0x03; | 
|  | PAGE_TIMEOUT = 0x04; | 
|  | AUTHENTICATION_FAILURE = 0x05; | 
|  | PIN_OR_KEY_MISSING = 0x06; | 
|  | MEMORY_CAPACITY_EXCEEDED = 0x07; | 
|  | CONNECTION_TIMEOUT = 0x08; | 
|  | CONNECTION_LIMIT_EXCEEDED = 0x09; | 
|  | SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED = 0x0A; | 
|  | CONNECTION_ALREADY_EXISTS = 0x0B; | 
|  | COMMAND_DISALLOWED = 0x0C; | 
|  | CONNECTION_REJECTED_LIMITED_RESOURCES = 0x0D; | 
|  | CONNECTION_REJECTED_SECURITY = 0x0E; | 
|  | CONNECTION_REJECTED_BAD_BD_ADDR = 0x0F; | 
|  | CONNECTION_ACCEPT_TIMEOUT_EXCEEDED = 0x10; | 
|  | UNSUPPORTED_FEATURE_OR_PARAMETER = 0x11; | 
|  | INVALID_HCICOMMAND_PARAMETERS = 0x12; | 
|  | REMOTE_USER_TERMINATED_CONNECTION = 0x13; | 
|  | REMOTE_DEVICE_TERMINATED_CONNECTION_LOW_RESOURCES = 0x14; | 
|  | REMOTE_DEVICE_TERMINATED_CONNECTION_POWER_OFF = 0x15; | 
|  | CONNECTION_TERMINATED_BY_LOCAL_HOST = 0x16; | 
|  | REPEATED_ATTEMPTS = 0x17; | 
|  | PAIRING_NOT_ALLOWED = 0x18; | 
|  | UNKNOWN_LMP_PDU = 0x19; | 
|  | UNSUPPORTED_REMOTE_FEATURE = 0x1A; | 
|  | SCO_OFFSET_REJECTED = 0x1B; | 
|  | SCO_INTERVAL_REJECTED = 0x1C; | 
|  | SCO_AIR_MODE_REJECTED = 0x1D; | 
|  | INVALID_LMP_OR_LL_PARAMETERS = 0x1E; | 
|  | UNSPECIFIED_ERROR = 0x1F; | 
|  | UNSUPPORTED_LMP_OR_LL_PARAMETER_VALUE = 0x20; | 
|  | ROLE_CHANGE_NOT_ALLOWED = 0x21; | 
|  | LMP_OR_LL_RESPONSE_TIMEOUT = 0x22; | 
|  | LMP_ERROR_TRANSACTION_COLLISION = 0x23; | 
|  | LMP_PDU_NOT_ALLOWED = 0x24; | 
|  | ENCRYPTION_MODE_NOT_ACCEPTABLE = 0x25; | 
|  | LINK_KEY_CANNOT_BE_CHANGED = 0x26; | 
|  | REQUESTED_QOS_NOT_SUPPORTED = 0x27; | 
|  | INSTANT_PASSED = 0x28; | 
|  | PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 0x29; | 
|  | DIFFERENT_TRANSACTION_COLLISION = 0x2A; | 
|  | RESERVED0 = 0x2B; | 
|  | QOS_UNACCEPTABLE_PARAMETER = 0x2C; | 
|  | QOS_REJECTED = 0x2D; | 
|  | CHANNEL_CLASSIFICATION_NOT_SUPPORTED = 0x2E; | 
|  | INSUFFICIENT_SECURITY = 0x2F; | 
|  | PARAMETER_OUT_OF_MANDATORY_RANGE = 0x30; | 
|  | RESERVED1 = 0x31; | 
|  | ROLE_SWITCH_PENDING = 0x32; | 
|  | RESERVED2 = 0x33; | 
|  | RESERVED_SLOT_VIOLATION = 0x34; | 
|  | ROLE_SWITCH_FAILED = 0x35; | 
|  | EXTENDED_INQUIRY_RESPONSE_TOO_LARGE = 0x36; | 
|  | SECURE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST = 0x37; | 
|  | HOST_BUSY_PAIRING = 0x38; | 
|  | CONNECTION_REJECTED_NO_SUITABLE_CHANNEL_FOUND = 0x39; | 
|  | CONTROLLER_BUSY = 0x3A; | 
|  | UNACCEPTABLE_CONNECTION_PARAMETERS = 0x3B; | 
|  | DIRECTED_ADVERTISING_TIMEOUT = 0x3C; | 
|  | CONNECTION_TERMINATED_MIC_FAILURE = 0x3D; | 
|  | CONNECTION_FAILED_TO_BE_ESTABLISHED = 0x3E; | 
|  | MAC_CONNECTION_FAILED = 0x3F; | 
|  | COARSE_CLOCK_ADJUSTMENT_REJECTED = 0x40; | 
|  | TYPE0_SUBMAP_NOT_DEFINED = 0x41; | 
|  | UNKNOWN_ADVERTISING_IDENTIFIER = 0x42; | 
|  | LIMIT_REACHED = 0x43; | 
|  | OPERATION_CANCELLED_BY_HOST = 0x44; | 
|  | }; |