Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e2a5b3a4 authored by Chris Manton's avatar Chris Manton
Browse files

enum-ify stack/include/::hci_error_code

Bug: 163134718
Tag: #refactor
Test: act.py -tc BleCocTest
Test: ble paired 2 phones
Test: classic paired Bose SoundLink

Change-Id: Ibb48638187a777e307321ea1c309387f0290c4c6
parent 1b40653f
Loading
Loading
Loading
Loading
+42 −38
Original line number Diff line number Diff line
@@ -19,46 +19,50 @@
/*
 *  Definitions for HCI Error Codes that are passed in the events
 */
#define HCI_SUCCESS 0x00
#define HCI_ERR_ILLEGAL_COMMAND 0x01
#define HCI_ERR_NO_CONNECTION 0x02
#define HCI_ERR_HW_FAILURE 0x03
#define HCI_ERR_PAGE_TIMEOUT 0x04
#define HCI_ERR_AUTH_FAILURE 0x05
#define HCI_ERR_KEY_MISSING 0x06
#define HCI_ERR_MEMORY_FULL 0x07
#define HCI_ERR_CONNECTION_TOUT 0x08
#define HCI_ERR_MAX_NUM_OF_CONNECTIONS 0x09
#define HCI_ERR_MAX_NUM_OF_SCOS 0x0A
#define HCI_ERR_CONNECTION_EXISTS 0x0B
#define HCI_ERR_COMMAND_DISALLOWED 0x0C
#define HCI_ERR_HOST_REJECT_RESOURCES 0x0D
#define HCI_ERR_HOST_REJECT_SECURITY 0x0E
#define HCI_ERR_HOST_REJECT_DEVICE 0x0F
#define HCI_ERR_HOST_TIMEOUT 0x10  // stack/btm/btm_ble_gap
#define HCI_ERR_ILLEGAL_PARAMETER_FMT 0x12
#define HCI_ERR_PEER_USER 0x13
#define HCI_ERR_CONN_CAUSE_LOCAL_HOST 0x16
#define HCI_ERR_REPEATED_ATTEMPTS 0x17
#define HCI_ERR_PAIRING_NOT_ALLOWED 0x18
#define HCI_ERR_UNSUPPORTED_REM_FEATURE 0x1A  // stack/btm/btm_ble_gap
#define HCI_ERR_UNSPECIFIED 0x1F
#define HCI_ERR_LMP_RESPONSE_TIMEOUT 0x22     // GATT_CONN_LMP_TIMEOUT
#define HCI_ERR_LMP_ERR_TRANS_COLLISION 0x23  // TODO remove
#define HCI_ERR_ENCRY_MODE_NOT_ACCEPTABLE 0x25
#define HCI_ERR_UNIT_KEY_USED 0x26
#define HCI_ERR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29
#define HCI_ERR_DIFF_TRANSACTION_COLLISION 0x2A  // stack/btm/btm_sec
#define HCI_ERR_INSUFFCIENT_SECURITY 0x2F        // btif/btu
#define HCI_ERR_ROLE_SWITCH_PENDING 0x32         // stack/btm/btm_sco
#define HCI_ERR_HOST_BUSY_PAIRING 0x38           // stack/btm/btm_sec
#define HCI_ERR_UNACCEPT_CONN_INTERVAL 0x3B      // stack/l2cap/l2c_ble
#define HCI_ERR_ADVERTISING_TIMEOUT 0x3C         // stack/btm/btm_ble
#define HCI_ERR_CONN_FAILED_ESTABLISHMENT 0x3E   // GATT_CONN_FAIL_ESTABLISH
#define HCI_ERR_LIMIT_REACHED 0x43  // stack/btm/btm_ble_multi_adv.cc
typedef enum : uint8_t {
  HCI_SUCCESS = 0x00,
  HCI_ERR_ILLEGAL_COMMAND = 0x01,
  HCI_ERR_NO_CONNECTION = 0x02,
  HCI_ERR_HW_FAILURE = 0x03,
  HCI_ERR_PAGE_TIMEOUT = 0x04,
  HCI_ERR_AUTH_FAILURE = 0x05,
  HCI_ERR_KEY_MISSING = 0x06,
  HCI_ERR_MEMORY_FULL = 0x07,
  HCI_ERR_CONNECTION_TOUT = 0x08,
  HCI_ERR_MAX_NUM_OF_CONNECTIONS = 0x09,
  HCI_ERR_MAX_NUM_OF_SCOS = 0x0A,
  HCI_ERR_CONNECTION_EXISTS = 0x0B,
  HCI_ERR_COMMAND_DISALLOWED = 0x0C,
  HCI_ERR_HOST_REJECT_RESOURCES = 0x0D,
  HCI_ERR_HOST_REJECT_SECURITY = 0x0E,
  HCI_ERR_HOST_REJECT_DEVICE = 0x0F,
  HCI_ERR_HOST_TIMEOUT = 0x10,  // stack/btm/btm_ble_gap,
  HCI_ERR_ILLEGAL_PARAMETER_FMT = 0x12,
  HCI_ERR_PEER_USER = 0x13,
  HCI_ERR_CONN_CAUSE_LOCAL_HOST = 0x16,
  HCI_ERR_REPEATED_ATTEMPTS = 0x17,
  HCI_ERR_PAIRING_NOT_ALLOWED = 0x18,
  HCI_ERR_UNSUPPORTED_REM_FEATURE = 0x1A,  // stack/btm/btm_ble_gap
  HCI_ERR_UNSPECIFIED = 0x1F,
  HCI_ERR_LMP_RESPONSE_TIMEOUT = 0x22,     // GATT_CONN_LMP_TIMEOUT
  HCI_ERR_LMP_ERR_TRANS_COLLISION = 0x23,  // TODO remove
  HCI_ERR_ENCRY_MODE_NOT_ACCEPTABLE = 0x25,
  HCI_ERR_UNIT_KEY_USED = 0x26,
  HCI_ERR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 0x29,
  HCI_ERR_DIFF_TRANSACTION_COLLISION = 0x2A,  // stack/btm/btm_sec
  HCI_ERR_INSUFFCIENT_SECURITY = 0x2F,        // btif/btu
  HCI_ERR_ROLE_SWITCH_PENDING = 0x32,         // stack/btm/btm_sco
  HCI_ERR_HOST_BUSY_PAIRING = 0x38,           // stack/btm/btm_sec
  HCI_ERR_UNACCEPT_CONN_INTERVAL = 0x3B,      // stack/l2cap/l2c_ble
  HCI_ERR_ADVERTISING_TIMEOUT = 0x3C,         // stack/btm/btm_ble
  HCI_ERR_CONN_FAILED_ESTABLISHMENT = 0x3E,   // GATT_CONN_FAIL_ESTABLISH
  HCI_ERR_LIMIT_REACHED = 0x43,               // stack/btm/btm_ble_multi_adv.cc

#define HCI_ERR_MAX_ERR 0x43  // TODO remove. randomly used
  HCI_ERR_MAX_ERR = 0x43,  // TODO remove. randomly used
  HCI_ERR_UNDEFINED = 0xff,
} tHCI_STATUS;

// TODO Change type to tHCI_STATUS
inline std::string hci_error_code_text(uint8_t error_code) {
  switch (error_code) {
    case HCI_SUCCESS: