BlueUSB and Waveplayer merged

Dependencies:   SDFileSystem mbed-rtos mbed wave_player

Fork of z_test_BlueUSBv1 by Stuart Kent

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers hci_private.h Source File

hci_private.h

00001 /*
00002 Copyright (c) 2010 Peter Barrett
00003 
00004 Permission is hereby granted, free of charge, to any person obtaining a copy
00005 of this software and associated documentation files (the "Software"), to deal
00006 in the Software without restriction, including without limitation the rights
00007 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00008 copies of the Software, and to permit persons to whom the Software is
00009 furnished to do so, subject to the following conditions:
00010 
00011 The above copyright notice and this permission notice shall be included in
00012 all copies or substantial portions of the Software.
00013 
00014 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00015 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00016 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00017 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00018 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00019 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00020 THE SOFTWARE.
00021 */
00022 
00023 #ifndef HCI_PRIVATE_H_INCLUDED
00024 #define HCI_PRIVATE_H_INCLUDED
00025 
00026 #define HCI_OP_INQUIRY                0x0401
00027 #define HCI_OP_INQUIRY_CANCEL        0x0402
00028 #define HCI_OP_EXIT_PERIODIC_INQ    0x0404
00029 #define HCI_OP_CREATE_CONN            0x0405
00030 #define HCI_OP_DISCONNECT            0x0406
00031 #define HCI_OP_ADD_SCO                0x0407
00032 #define HCI_OP_CREATE_CONN_CANCEL    0x0408
00033 #define HCI_OP_ACCEPT_CONN_REQ        0x0409
00034 #define HCI_OP_REJECT_CONN_REQ        0x040a
00035 #define HCI_OP_LINK_KEY_REPLY        0x040b
00036 #define HCI_OP_LINK_KEY_NEG_REPLY    0x040c
00037 #define HCI_OP_PIN_CODE_REPLY        0x040d
00038 #define HCI_OP_PIN_CODE_NEG_REPLY    0x040e
00039 #define HCI_OP_CHANGE_CONN_PTYPE    0x040f
00040 #define HCI_OP_AUTH_REQUESTED        0x0411
00041 #define HCI_OP_SET_CONN_ENCRYPT        0x0413
00042 #define HCI_OP_CHANGE_CONN_LINK_KEY    0x0415
00043 #define HCI_OP_REMOTE_NAME_REQ        0x0419
00044 #define HCI_OP_REMOTE_NAME_REQ_CANCEL    0x041a
00045 #define HCI_OP_READ_REMOTE_FEATURES    0x041b
00046 #define HCI_OP_READ_REMOTE_EXT_FEATURES    0x041c
00047 #define HCI_OP_READ_REMOTE_VERSION    0x041d
00048 #define HCI_OP_SETUP_SYNC_CONN        0x0428
00049 #define HCI_OP_ACCEPT_SYNC_CONN_REQ    0x0429
00050 #define HCI_OP_REJECT_SYNC_CONN_REQ    0x042a
00051 
00052 #define HCI_OP_SNIFF_MODE            0x0803
00053 #define HCI_OP_EXIT_SNIFF_MODE        0x0804
00054 #define HCI_OP_ROLE_DISCOVERY        0x0809
00055 #define HCI_OP_SWITCH_ROLE            0x080b
00056 #define HCI_OP_READ_LINK_POLICY        0x080c
00057 #define HCI_OP_WRITE_LINK_POLICY    0x080d
00058 #define HCI_OP_READ_DEF_LINK_POLICY    0x080e
00059 #define HCI_OP_WRITE_DEF_LINK_POLICY    0x080f
00060 #define HCI_OP_SNIFF_SUBRATE        0x0811
00061 
00062 
00063 #define HCI_OP_SET_EVENT_MASK        0x0c01
00064 #define HCI_OP_RESET                0x0c03
00065 #define HCI_OP_SET_EVENT_FLT        0x0c05
00066 #define HCI_OP_WRITE_LOCAL_NAME        0x0c13
00067 #define HCI_OP_READ_LOCAL_NAME        0x0c14
00068 #define HCI_OP_WRITE_CA_TIMEOUT        0x0c16
00069 #define HCI_OP_WRITE_PG_TIMEOUT        0x0c18
00070 #define HCI_OP_WRITE_SCAN_ENABLE     0x0c1a
00071 #define HCI_OP_READ_AUTH_ENABLE        0x0c1f
00072 #define HCI_OP_WRITE_AUTH_ENABLE    0x0c20
00073 #define HCI_OP_READ_ENCRYPT_MODE    0x0c21
00074 #define HCI_OP_WRITE_ENCRYPT_MODE    0x0c22
00075     #define ENCRYPT_DISABLED    0x00
00076     #define ENCRYPT_P2P        0x01
00077     #define ENCRYPT_BOTH        0x02
00078 #define HCI_OP_READ_CLASS_OF_DEV    0x0c23
00079 #define HCI_OP_WRITE_CLASS_OF_DEV    0x0c24
00080 #define HCI_OP_READ_VOICE_SETTING    0x0c25
00081 #define HCI_OP_WRITE_VOICE_SETTING    0x0c26
00082 #define HCI_OP_HOST_BUFFER_SIZE        0x0c33
00083 #define HCI_OP_READ_SSP_MODE        0x0c55
00084 #define HCI_OP_WRITE_SSP_MODE        0x0c56
00085 
00086 #define HCI_OP_READ_LOCAL_VERSION    0x1001
00087 #define HCI_OP_READ_LOCAL_COMMANDS    0x1002
00088 #define HCI_OP_READ_LOCAL_FEATURES    0x1003
00089 #define HCI_OP_READ_LOCAL_EXT_FEATURES    0x1004
00090 #define HCI_OP_READ_BUFFER_SIZE        0x1005
00091 #define HCI_OP_READ_BD_ADDR            0x1009
00092 
00093 //  events
00094 #define HCI_EV_INQUIRY_COMPLETE        0x01
00095 #define HCI_EV_INQUIRY_RESULT        0x02
00096 #define HCI_EV_CONN_COMPLETE        0x03
00097 #define HCI_EV_CONN_REQUEST            0x04
00098 #define HCI_EV_DISCONN_COMPLETE        0x05
00099 #define HCI_EV_AUTH_COMPLETE        0x06
00100 #define HCI_EV_REMOTE_NAME            0x07
00101 #define HCI_EV_ENCRYPT_CHANGE        0x08
00102 #define HCI_EV_CHANGE_LINK_KEY_COMPLETE    0x09
00103 #define HCI_EV_REMOTE_FEATURES        0x0b
00104 #define HCI_EV_REMOTE_VERSION        0x0c
00105 #define HCI_EV_QOS_SETUP_COMPLETE    0x0d
00106 #define HCI_EV_CMD_COMPLETE            0x0e
00107 #define HCI_EV_CMD_STATUS            0x0f
00108 #define HCI_EV_ROLE_CHANGE            0x12
00109 #define HCI_EV_NUM_COMP_PKTS        0x13
00110 #define HCI_EV_MODE_CHANGE            0x14
00111 #define HCI_EV_PIN_CODE_REQ            0x16
00112 #define HCI_EV_LINK_KEY_REQ            0x17
00113 #define HCI_EV_LINK_KEY_NOTIFY        0x18
00114 #define HCI_EV_CLOCK_OFFSET            0x1c
00115 #define HCI_EV_PKT_TYPE_CHANGE        0x1d
00116 #define HCI_EV_PSCAN_REP_MODE        0x20
00117 #define HCI_EV_INQUIRY_RESULT_WITH_RSSI    0x22
00118 #define HCI_EV_REMOTE_EXT_FEATURES    0x23
00119 #define HCI_EV_SYNC_CONN_COMPLETE    0x2c
00120 #define HCI_EV_SYNC_CONN_CHANGED    0x2d
00121 #define HCI_EV_SNIFF_SUBRATE        0x2e
00122 #define HCI_EV_EXTENDED_INQUIRY_RESULT    0x2f
00123 #define HCI_EV_IO_CAPA_REQUEST        0x31
00124 #define HCI_EV_SIMPLE_PAIR_COMPLETE    0x36
00125 #define HCI_EV_REMOTE_HOST_FEATURES    0x3d
00126 
00127 /* Possible error codes */
00128 #define HCI_UNKNOWN_HCI_COMMAND 0x01
00129 #define HCI_NO_CONNECTION 0x02
00130 #define HCI_HW_FAILURE 0x03
00131 #define HCI_PAGE_TIMEOUT 0x04
00132 #define HCI_AUTHENTICATION_FAILURE 0x05
00133 #define HCI_KEY_MISSING 0x06
00134 #define HCI_MEMORY_FULL 0x07
00135 #define HCI_CONN_TIMEOUT 0x08
00136 #define HCI_MAX_NUMBER_OF_CONNECTIONS 0x09
00137 #define HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE 0x0A
00138 #define HCI_ACL_CONNECTION_EXISTS 0x0B
00139 #define HCI_COMMAND_DISSALLOWED 0x0C
00140 #define HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES 0x0D
00141 #define HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS 0x0E
00142 #define HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE 0x0F
00143 #define HCI_HOST_TIMEOUT 0x10
00144 #define HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE 0x11
00145 #define HCI_INVALID_HCI_COMMAND_PARAMETERS 0x12
00146 #define HCI_OTHER_END_TERMINATED_CONN_USER_ENDED 0x13
00147 #define HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES 0x14
00148 #define HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF 0x15
00149 #define HCI_CONN_TERMINATED_BY_LOCAL_HOST 0x16
00150 #define HCI_REPETED_ATTEMPTS 0x17
00151 #define HCI_PAIRING_NOT_ALLOWED 0x18
00152 #define HCI_UNKNOWN_LMP_PDU 0x19
00153 #define HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
00154 #define HCI_SCO_OFFSET_REJECTED 0x1B
00155 #define HCI_SCO_INTERVAL_REJECTED 0x1C
00156 #define HCI_SCO_AIR_MODE_REJECTED 0x1D
00157 #define HCI_INVALID_LMP_PARAMETERS 0x1E
00158 #define HCI_UNSPECIFIED_ERROR 0x1F
00159 #define HCI_UNSUPPORTED_LMP_PARAMETER_VALUE 0x20
00160 #define HCI_ROLE_CHANGE_NOT_ALLOWED 0x21
00161 #define HCI_LMP_RESPONSE_TIMEOUT 0x22
00162 #define HCI_LMP_ERROR_TRANSACTION_COLLISION 0x23
00163 #define HCI_LMP_PDU_NOT_ALLOWED 0x24
00164 #define HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE 0x25
00165 #define HCI_UNIT_KEY_USED 0x26
00166 #define HCI_QOS_NOT_SUPPORTED 0x27
00167 #define HCI_INSTANT_PASSED 0x28
00168 #define HCI_PAIRING_UNIT_KEY_NOT_SUPPORTED 0x29
00169 
00170 const char* EvtStr(int evt)
00171 {
00172     switch (evt)
00173     {
00174         case HCI_EV_INQUIRY_COMPLETE:    return "HCI_EV_INQUIRY_COMPLETE";
00175         case HCI_EV_INQUIRY_RESULT:    return "HCI_EV_INQUIRY_RESULT";
00176         case HCI_EV_CONN_COMPLETE:    return "HCI_EV_CONN_COMPLETE";
00177         case HCI_EV_CONN_REQUEST:    return "HCI_EV_CONN_REQUEST";
00178         case HCI_EV_DISCONN_COMPLETE:    return "HCI_EV_DISCONN_COMPLETE";
00179         case HCI_EV_AUTH_COMPLETE:    return "HCI_EV_AUTH_COMPLETE";
00180         case HCI_EV_REMOTE_NAME:    return "HCI_EV_REMOTE_NAME";
00181         case HCI_EV_ENCRYPT_CHANGE:    return "HCI_EV_ENCRYPT_CHANGE";
00182         case HCI_EV_CHANGE_LINK_KEY_COMPLETE    :    return "HCI_EV_CHANGE_LINK_KEY_COMPLETE";
00183         case HCI_EV_REMOTE_FEATURES:    return "HCI_EV_REMOTE_FEATURES";
00184         case HCI_EV_REMOTE_VERSION:    return "HCI_EV_REMOTE_VERSION";
00185         case HCI_EV_QOS_SETUP_COMPLETE    :    return "HCI_EV_QOS_SETUP_COMPLETE";
00186         case HCI_EV_CMD_COMPLETE:    return "HCI_EV_CMD_COMPLETE";
00187         case HCI_EV_CMD_STATUS:    return "HCI_EV_CMD_STATUS";
00188         case HCI_EV_ROLE_CHANGE:    return "HCI_EV_ROLE_CHANGE";
00189         case HCI_EV_NUM_COMP_PKTS:    return "HCI_EV_NUM_COMP_PKTS";
00190         case HCI_EV_MODE_CHANGE:    return "HCI_EV_MODE_CHANGE";
00191         case HCI_EV_PIN_CODE_REQ:    return "HCI_EV_PIN_CODE_REQ";
00192         case HCI_EV_LINK_KEY_REQ:    return "HCI_EV_LINK_KEY_REQ";
00193         case HCI_EV_LINK_KEY_NOTIFY:    return "HCI_EV_LINK_KEY_NOTIFY";
00194         case HCI_EV_CLOCK_OFFSET:    return "HCI_EV_CLOCK_OFFSET";
00195         case HCI_EV_PKT_TYPE_CHANGE:    return "HCI_EV_PKT_TYPE_CHANGE";
00196         case HCI_EV_PSCAN_REP_MODE:    return "HCI_EV_PSCAN_REP_MODE";
00197         case HCI_EV_INQUIRY_RESULT_WITH_RSSI    :    return "HCI_EV_INQUIRY_RESULT_WITH_RSSI";
00198         case HCI_EV_REMOTE_EXT_FEATURES:    return "HCI_EV_REMOTE_EXT_FEATURES";
00199         case HCI_EV_SYNC_CONN_COMPLETE:    return "HCI_EV_SYNC_CONN_COMPLETE";
00200         case HCI_EV_SYNC_CONN_CHANGED:    return "HCI_EV_SYNC_CONN_CHANGED";
00201         case HCI_EV_SNIFF_SUBRATE:    return "HCI_EV_SNIFF_SUBRATE";
00202         case HCI_EV_EXTENDED_INQUIRY_RESULT:    return "HCI_EV_EXTENDED_INQUIRY_RESULT";
00203         case HCI_EV_IO_CAPA_REQUEST:    return "HCI_EV_IO_CAPA_REQUEST";
00204         case HCI_EV_SIMPLE_PAIR_COMPLETE:    return "HCI_EV_SIMPLE_PAIR_COMPLETE";
00205         case HCI_EV_REMOTE_HOST_FEATURES:    return "HCI_EV_REMOTE_HOST_FEATURES";
00206     }
00207     return "Unknown Event";
00208 }
00209 
00210 const char* CmdStr(int cmd)
00211 {
00212     switch (cmd)
00213     {
00214         // 0x04XX
00215         case HCI_OP_INQUIRY:    return "HCI_OP_INQUIRY";
00216         case HCI_OP_INQUIRY_CANCEL:    return "HCI_OP_INQUIRY_CANCEL";
00217         case HCI_OP_EXIT_PERIODIC_INQ:    return "HCI_OP_EXIT_PERIODIC_INQ";
00218         case HCI_OP_CREATE_CONN:    return "HCI_OP_CREATE_CONN";
00219         case HCI_OP_DISCONNECT:    return "HCI_OP_DISCONNECT";
00220         case HCI_OP_ADD_SCO:    return "HCI_OP_ADD_SCO";
00221         case HCI_OP_CREATE_CONN_CANCEL:    return "HCI_OP_CREATE_CONN_CANCEL";
00222         case HCI_OP_ACCEPT_CONN_REQ:    return "HCI_OP_ACCEPT_CONN_REQ";
00223         case HCI_OP_REJECT_CONN_REQ:    return "HCI_OP_REJECT_CONN_REQ";
00224         case HCI_OP_LINK_KEY_REPLY:    return "HCI_OP_LINK_KEY_REPLY";
00225         case HCI_OP_LINK_KEY_NEG_REPLY:    return "HCI_OP_LINK_KEY_NEG_REPLY";
00226         case HCI_OP_PIN_CODE_REPLY:    return "HCI_OP_PIN_CODE_REPLY";
00227         case HCI_OP_PIN_CODE_NEG_REPLY:    return "HCI_OP_PIN_CODE_NEG_REPLY";
00228         case HCI_OP_CHANGE_CONN_PTYPE:    return "HCI_OP_CHANGE_CONN_PTYPE";
00229         case HCI_OP_AUTH_REQUESTED:    return "HCI_OP_AUTH_REQUESTED";
00230         case HCI_OP_SET_CONN_ENCRYPT:    return "HCI_OP_SET_CONN_ENCRYPT";
00231         case HCI_OP_CHANGE_CONN_LINK_KEY:    return "HCI_OP_CHANGE_CONN_LINK_KEY";
00232         case HCI_OP_REMOTE_NAME_REQ:    return "HCI_OP_REMOTE_NAME_REQ";
00233         case HCI_OP_REMOTE_NAME_REQ_CANCEL:    return "HCI_OP_REMOTE_NAME_REQ_CANCEL";
00234         case HCI_OP_READ_REMOTE_FEATURES:    return "HCI_OP_READ_REMOTE_FEATURES";
00235         case HCI_OP_READ_REMOTE_EXT_FEATURES:    return "HCI_OP_READ_REMOTE_EXT_FEATURES";
00236         case HCI_OP_READ_REMOTE_VERSION:    return "HCI_OP_READ_REMOTE_VERSION";
00237         case HCI_OP_SETUP_SYNC_CONN:    return "HCI_OP_SETUP_SYNC_CONN";
00238         case HCI_OP_ACCEPT_SYNC_CONN_REQ:    return "HCI_OP_ACCEPT_SYNC_CONN_REQ";
00239         case HCI_OP_REJECT_SYNC_CONN_REQ:    return "HCI_OP_REJECT_SYNC_CONN_REQ";
00240         // 0x0CXX
00241         case HCI_OP_SET_EVENT_MASK: return "HCI_OP_SET_EVENT_MASK";
00242         case HCI_OP_RESET:            return "HCI_OP_RESET";
00243         case HCI_OP_SET_EVENT_FLT:  return "HCI_OP_SET_EVENT_FLT";
00244         case HCI_OP_WRITE_LOCAL_NAME:   return "HCI_OP_WRITE_LOCAL_NAME";
00245         case HCI_OP_READ_LOCAL_NAME:    return "HCI_OP_READ_LOCAL_NAME";
00246         case HCI_OP_WRITE_CA_TIMEOUT:   return "HCI_OP_WRITE_CA_TIMEOUT";
00247         case HCI_OP_WRITE_PG_TIMEOUT:   return "HCI_OP_WRITE_PG_TIMEOUT";
00248         case HCI_OP_WRITE_SCAN_ENABLE:  return "HCI_OP_WRITE_SCAN_ENABLE";
00249         case HCI_OP_READ_AUTH_ENABLE:   return "HCI_OP_READ_AUTH_ENABLE";
00250         case HCI_OP_WRITE_AUTH_ENABLE:  return "HCI_OP_WRITE_AUTH_ENABLE";
00251         case HCI_OP_READ_ENCRYPT_MODE:  return "HCI_OP_READ_ENCRYPT_MODE";
00252         case HCI_OP_WRITE_ENCRYPT_MODE: return "HCI_OP_WRITE_ENCRYPT_MODE";
00253         case HCI_OP_READ_CLASS_OF_DEV:  return "HCI_OP_READ_CLASS_OF_DEV";
00254         case HCI_OP_WRITE_CLASS_OF_DEV:    return "HCI_OP_WRITE_CLASS_OF_DEV";
00255         case HCI_OP_READ_VOICE_SETTING: return "HCI_OP_READ_VOICE_SETTING";
00256         case HCI_OP_WRITE_VOICE_SETTING:    return "HCI_OP_WRITE_VOICE_SETTING";
00257         case HCI_OP_HOST_BUFFER_SIZE:   return "HCI_OP_HOST_BUFFER_SIZE";
00258         case HCI_OP_READ_SSP_MODE:      return "HCI_OP_READ_SSP_MODE";
00259         case HCI_OP_WRITE_SSP_MODE: return "HCI_OP_WRITE_SSP_MODE";
00260 
00261         // 10xx
00262         case HCI_OP_READ_LOCAL_VERSION: return "HCI_OP_READ_LOCAL_VERSION";
00263         case HCI_OP_READ_LOCAL_COMMANDS: return "HCI_OP_READ_LOCAL_COMMANDS";
00264         case HCI_OP_READ_LOCAL_FEATURES: return "HCI_OP_READ_LOCAL_FEATURES";
00265         case HCI_OP_READ_LOCAL_EXT_FEATURES: return "HCI_OP_READ_LOCAL_EXT_FEATURES";
00266         case HCI_OP_READ_BUFFER_SIZE: return "HCI_OP_READ_BUFFER_SIZE";
00267         case HCI_OP_READ_BD_ADDR: return "HCI_OP_READ_BD_ADDR";
00268     }
00269     return "Unknown Cmd";
00270 }
00271 
00272 const char* HCIErrStr(int err)
00273 {
00274     switch (err)
00275     {
00276         case 0: return "OK";
00277         case HCI_UNKNOWN_HCI_COMMAND:    return "HCI_UNKNOWN_HCI_COMMAND";
00278         case HCI_NO_CONNECTION:    return "HCI_NO_CONNECTION";
00279         case HCI_HW_FAILURE:    return "HCI_HW_FAILURE";
00280         case HCI_PAGE_TIMEOUT:    return "HCI_PAGE_TIMEOUT";
00281         case HCI_AUTHENTICATION_FAILURE:    return "HCI_AUTHENTICATION_FAILURE";
00282         case HCI_KEY_MISSING:    return "HCI_KEY_MISSING";
00283         case HCI_MEMORY_FULL:    return "HCI_MEMORY_FULL";
00284         case HCI_CONN_TIMEOUT:    return "HCI_CONN_TIMEOUT";
00285         case HCI_MAX_NUMBER_OF_CONNECTIONS:    return "HCI_CONN_TIMEOUT";
00286         case HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE:    return "HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE";
00287         case HCI_ACL_CONNECTION_EXISTS:    return "HCI_ACL_CONNECTION_EXISTS";
00288         case HCI_COMMAND_DISSALLOWED:    return "HCI_COMMAND_DISSALLOWED";
00289         case HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES:    return "HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES";
00290         case HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS:    return "HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS";
00291         case HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE:    return "HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE";
00292         case HCI_HOST_TIMEOUT:    return "HCI_HOST_TIMEOUT";
00293         case HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE:    return "HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE";
00294         case HCI_INVALID_HCI_COMMAND_PARAMETERS:    return "HCI_INVALID_HCI_COMMAND_PARAMETERS";
00295         case HCI_OTHER_END_TERMINATED_CONN_USER_ENDED:    return "HCI_OTHER_END_TERMINATED_CONN_USER_ENDED";
00296         case HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES:    return "HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES";
00297         case HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF:    return "HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF";
00298         case HCI_CONN_TERMINATED_BY_LOCAL_HOST:    return "HCI_CONN_TERMINATED_BY_LOCAL_HOST";
00299         case HCI_REPETED_ATTEMPTS:    return "HCI_REPETED_ATTEMPTS";
00300         case HCI_PAIRING_NOT_ALLOWED:    return "HCI_PAIRING_NOT_ALLOWED";
00301         case HCI_UNKNOWN_LMP_PDU:    return "HCI_UNKNOWN_LMP_PDU";
00302         case HCI_UNSUPPORTED_REMOTE_FEATURE:    return "HCI_UNSUPPORTED_REMOTE_FEATURE";
00303         case HCI_SCO_OFFSET_REJECTED:    return "HCI_SCO_OFFSET_REJECTED";
00304         case HCI_SCO_INTERVAL_REJECTED:    return "HCI_SCO_INTERVAL_REJECTED";
00305         case HCI_SCO_AIR_MODE_REJECTED:    return "HCI_SCO_AIR_MODE_REJECTED";
00306         case HCI_INVALID_LMP_PARAMETERS:    return "HCI_INVALID_LMP_PARAMETERS";
00307         case HCI_UNSPECIFIED_ERROR:    return "HCI_UNSPECIFIED_ERROR";
00308         case HCI_UNSUPPORTED_LMP_PARAMETER_VALUE:    return "HCI_UNSUPPORTED_LMP_PARAMETER_VALUE";
00309         case HCI_ROLE_CHANGE_NOT_ALLOWED:    return "HCI_ROLE_CHANGE_NOT_ALLOWED";
00310         case HCI_LMP_RESPONSE_TIMEOUT:    return "HCI_LMP_RESPONSE_TIMEOUT";
00311         case HCI_LMP_ERROR_TRANSACTION_COLLISION:    return "HCI_LMP_ERROR_TRANSACTION_COLLISION";
00312         case HCI_LMP_PDU_NOT_ALLOWED:    return "HCI_LMP_PDU_NOT_ALLOWED";
00313         case HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE:    return "HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE";
00314         case HCI_UNIT_KEY_USED:    return "HCI_UNIT_KEY_USED";
00315         case HCI_QOS_NOT_SUPPORTED:    return "HCI_QOS_NOT_SUPPORTED";
00316         case HCI_INSTANT_PASSED:    return "HCI_INSTANT_PASSED";
00317         case HCI_PAIRING_UNIT_KEY_NOT_SUPPORTED:    return "HCI_PAIRING_UNIT_KEY_NOT_SUPPORTED";
00318     };
00319     return "Unknow HCI err";
00320 };
00321 
00322 
00323 #endif // HCI_PRIVATE_H_INCLUDED