local fix version of myBlueUSB (http://mbed.org/users/networker/code/myBlueUSB/). - merge deleted files which are required to compile. - enable echo back of received data via RFCOMM.

Dependencies:   AvailableMemory FatFileSystem mbed myUSBHost

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_CONTR_TO_HOST_FLOW        0x0c31
00083 #define HCI_OP_HOST_BUFFER_SIZE        0x0c33
00084 #define HCI_OP_NUM_COMP_PKTS        0x0c35
00085 #define HCI_OP_READ_SSP_MODE        0x0c55
00086 #define HCI_OP_WRITE_SSP_MODE        0x0c56
00087 
00088 #define HCI_OP_READ_LOCAL_VERSION    0x1001
00089 #define HCI_OP_READ_LOCAL_COMMANDS    0x1002
00090 #define HCI_OP_READ_LOCAL_FEATURES    0x1003
00091 #define HCI_OP_READ_LOCAL_EXT_FEATURES    0x1004
00092 #define HCI_OP_READ_BUFFER_SIZE        0x1005
00093 #define HCI_OP_READ_BD_ADDR            0x1009
00094 
00095 //  events
00096 #define HCI_EV_INQUIRY_COMPLETE        0x01
00097 #define HCI_EV_INQUIRY_RESULT        0x02
00098 #define HCI_EV_CONN_COMPLETE        0x03
00099 #define HCI_EV_CONN_REQUEST            0x04
00100 #define HCI_EV_DISCONN_COMPLETE        0x05
00101 #define HCI_EV_AUTH_COMPLETE        0x06
00102 #define HCI_EV_REMOTE_NAME            0x07
00103 #define HCI_EV_ENCRYPT_CHANGE        0x08
00104 #define HCI_EV_CHANGE_LINK_KEY_COMPLETE    0x09
00105 #define HCI_EV_REMOTE_FEATURES        0x0b
00106 #define HCI_EV_REMOTE_VERSION        0x0c
00107 #define HCI_EV_QOS_SETUP_COMPLETE    0x0d
00108 #define HCI_EV_CMD_COMPLETE            0x0e
00109 #define HCI_EV_CMD_STATUS            0x0f
00110 #define HCI_EV_ROLE_CHANGE            0x12
00111 #define HCI_EV_NUM_COMP_PKTS        0x13
00112 #define HCI_EV_MODE_CHANGE            0x14
00113 #define HCI_EV_RETURN_LINK_KEYS        0x15
00114 #define HCI_EV_PIN_CODE_REQ            0x16
00115 #define HCI_EV_LINK_KEY_REQ            0x17
00116 #define HCI_EV_LINK_KEY_NOTIFY        0x18
00117 #define HCI_EV_CLOCK_OFFSET            0x1c
00118 #define HCI_EV_PKT_TYPE_CHANGE        0x1d
00119 #define HCI_EV_PSCAN_REP_MODE        0x20
00120 #define HCI_EV_INQUIRY_RESULT_WITH_RSSI    0x22
00121 #define HCI_EV_REMOTE_EXT_FEATURES    0x23
00122 #define HCI_EV_SYNC_CONN_COMPLETE    0x2c
00123 #define HCI_EV_SYNC_CONN_CHANGED    0x2d
00124 #define HCI_EV_SNIFF_SUBRATE        0x2e
00125 #define HCI_EV_EXTENDED_INQUIRY_RESULT    0x2f
00126 #define HCI_EV_IO_CAPA_REQUEST        0x31
00127 #define HCI_EV_SIMPLE_PAIR_COMPLETE    0x36
00128 #define HCI_EV_REMOTE_HOST_FEATURES    0x3d
00129 #define HCI_EV_VENDOR               0xff
00130 
00131 /* Possible error codes */
00132 #define HCI_UNKNOWN_HCI_COMMAND 0x01
00133 #define HCI_NO_CONNECTION 0x02
00134 #define HCI_HW_FAILURE 0x03
00135 #define HCI_PAGE_TIMEOUT 0x04
00136 #define HCI_AUTHENTICATION_FAILURE 0x05
00137 #define HCI_KEY_MISSING 0x06
00138 #define HCI_MEMORY_FULL 0x07
00139 #define HCI_CONN_TIMEOUT 0x08
00140 #define HCI_MAX_NUMBER_OF_CONNECTIONS 0x09
00141 #define HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE 0x0A
00142 #define HCI_ACL_CONNECTION_EXISTS 0x0B
00143 #define HCI_COMMAND_DISSALLOWED 0x0C
00144 #define HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES 0x0D
00145 #define HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS 0x0E
00146 #define HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE 0x0F
00147 #define HCI_HOST_TIMEOUT 0x10
00148 #define HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE 0x11
00149 #define HCI_INVALID_HCI_COMMAND_PARAMETERS 0x12
00150 #define HCI_OTHER_END_TERMINATED_CONN_USER_ENDED 0x13
00151 #define HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES 0x14
00152 #define HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF 0x15
00153 #define HCI_CONN_TERMINATED_BY_LOCAL_HOST 0x16
00154 #define HCI_REPETED_ATTEMPTS 0x17
00155 #define HCI_PAIRING_NOT_ALLOWED 0x18
00156 #define HCI_UNKNOWN_LMP_PDU 0x19
00157 #define HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
00158 #define HCI_SCO_OFFSET_REJECTED 0x1B
00159 #define HCI_SCO_INTERVAL_REJECTED 0x1C
00160 #define HCI_SCO_AIR_MODE_REJECTED 0x1D
00161 #define HCI_INVALID_LMP_PARAMETERS 0x1E
00162 #define HCI_UNSPECIFIED_ERROR 0x1F
00163 #define HCI_UNSUPPORTED_LMP_PARAMETER_VALUE 0x20
00164 #define HCI_ROLE_CHANGE_NOT_ALLOWED 0x21
00165 #define HCI_LMP_RESPONSE_TIMEOUT 0x22
00166 #define HCI_LMP_ERROR_TRANSACTION_COLLISION 0x23
00167 #define HCI_LMP_PDU_NOT_ALLOWED 0x24
00168 #define HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE 0x25
00169 #define HCI_UNIT_KEY_USED 0x26
00170 #define HCI_QOS_NOT_SUPPORTED 0x27
00171 #define HCI_INSTANT_PASSED 0x28
00172 #define HCI_PAIRING_UNIT_KEY_NOT_SUPPORTED 0x29
00173 
00174 const char* EvtStr(int evt)
00175 {
00176     switch (evt)
00177     {
00178         case HCI_EV_INQUIRY_COMPLETE:    return "HCI_EV_INQUIRY_COMPLETE";
00179         case HCI_EV_INQUIRY_RESULT:    return "HCI_EV_INQUIRY_RESULT";
00180         case HCI_EV_CONN_COMPLETE:    return "HCI_EV_CONN_COMPLETE";
00181         case HCI_EV_CONN_REQUEST:    return "HCI_EV_CONN_REQUEST";
00182         case HCI_EV_DISCONN_COMPLETE:    return "HCI_EV_DISCONN_COMPLETE";
00183         case HCI_EV_AUTH_COMPLETE:    return "HCI_EV_AUTH_COMPLETE";
00184         case HCI_EV_REMOTE_NAME:    return "HCI_EV_REMOTE_NAME";
00185         case HCI_EV_ENCRYPT_CHANGE:    return "HCI_EV_ENCRYPT_CHANGE";
00186         case HCI_EV_CHANGE_LINK_KEY_COMPLETE    :    return "HCI_EV_CHANGE_LINK_KEY_COMPLETE";
00187         case HCI_EV_REMOTE_FEATURES:    return "HCI_EV_REMOTE_FEATURES";
00188         case HCI_EV_REMOTE_VERSION:    return "HCI_EV_REMOTE_VERSION";
00189         case HCI_EV_QOS_SETUP_COMPLETE    :    return "HCI_EV_QOS_SETUP_COMPLETE";
00190         case HCI_EV_CMD_COMPLETE:    return "HCI_EV_CMD_COMPLETE";
00191         case HCI_EV_CMD_STATUS:    return "HCI_EV_CMD_STATUS";
00192         case HCI_EV_ROLE_CHANGE:    return "HCI_EV_ROLE_CHANGE";
00193         case HCI_EV_NUM_COMP_PKTS:    return "HCI_EV_NUM_COMP_PKTS";
00194         case HCI_EV_MODE_CHANGE:    return "HCI_EV_MODE_CHANGE";
00195         case HCI_EV_PIN_CODE_REQ:    return "HCI_EV_PIN_CODE_REQ";
00196         case HCI_EV_LINK_KEY_REQ:    return "HCI_EV_LINK_KEY_REQ";
00197         case HCI_EV_LINK_KEY_NOTIFY:    return "HCI_EV_LINK_KEY_NOTIFY";
00198         case HCI_EV_CLOCK_OFFSET:    return "HCI_EV_CLOCK_OFFSET";
00199         case HCI_EV_PKT_TYPE_CHANGE:    return "HCI_EV_PKT_TYPE_CHANGE";
00200         case HCI_EV_PSCAN_REP_MODE:    return "HCI_EV_PSCAN_REP_MODE";
00201         case HCI_EV_INQUIRY_RESULT_WITH_RSSI    :    return "HCI_EV_INQUIRY_RESULT_WITH_RSSI";
00202         case HCI_EV_REMOTE_EXT_FEATURES:    return "HCI_EV_REMOTE_EXT_FEATURES";
00203         case HCI_EV_SYNC_CONN_COMPLETE:    return "HCI_EV_SYNC_CONN_COMPLETE";
00204         case HCI_EV_SYNC_CONN_CHANGED:    return "HCI_EV_SYNC_CONN_CHANGED";
00205         case HCI_EV_SNIFF_SUBRATE:    return "HCI_EV_SNIFF_SUBRATE";
00206         case HCI_EV_EXTENDED_INQUIRY_RESULT:    return "HCI_EV_EXTENDED_INQUIRY_RESULT";
00207         case HCI_EV_IO_CAPA_REQUEST:    return "HCI_EV_IO_CAPA_REQUEST";
00208         case HCI_EV_SIMPLE_PAIR_COMPLETE:    return "HCI_EV_SIMPLE_PAIR_COMPLETE";
00209         case HCI_EV_REMOTE_HOST_FEATURES:    return "HCI_EV_REMOTE_HOST_FEATURES";
00210     }
00211     return "Unknown Event";
00212 }
00213 
00214 const char* CmdStr(int cmd)
00215 {
00216     switch (cmd)
00217     {
00218         // 0x04XX
00219         case HCI_OP_INQUIRY:    return "HCI_OP_INQUIRY";
00220         case HCI_OP_INQUIRY_CANCEL:    return "HCI_OP_INQUIRY_CANCEL";
00221         case HCI_OP_EXIT_PERIODIC_INQ:    return "HCI_OP_EXIT_PERIODIC_INQ";
00222         case HCI_OP_CREATE_CONN:    return "HCI_OP_CREATE_CONN";
00223         case HCI_OP_DISCONNECT:    return "HCI_OP_DISCONNECT";
00224         case HCI_OP_ADD_SCO:    return "HCI_OP_ADD_SCO";
00225         case HCI_OP_CREATE_CONN_CANCEL:    return "HCI_OP_CREATE_CONN_CANCEL";
00226         case HCI_OP_ACCEPT_CONN_REQ:    return "HCI_OP_ACCEPT_CONN_REQ";
00227         case HCI_OP_REJECT_CONN_REQ:    return "HCI_OP_REJECT_CONN_REQ";
00228         case HCI_OP_LINK_KEY_REPLY:    return "HCI_OP_LINK_KEY_REPLY";
00229         case HCI_OP_LINK_KEY_NEG_REPLY:    return "HCI_OP_LINK_KEY_NEG_REPLY";
00230         case HCI_OP_PIN_CODE_REPLY:    return "HCI_OP_PIN_CODE_REPLY";
00231         case HCI_OP_PIN_CODE_NEG_REPLY:    return "HCI_OP_PIN_CODE_NEG_REPLY";
00232         case HCI_OP_CHANGE_CONN_PTYPE:    return "HCI_OP_CHANGE_CONN_PTYPE";
00233         case HCI_OP_AUTH_REQUESTED:    return "HCI_OP_AUTH_REQUESTED";
00234         case HCI_OP_SET_CONN_ENCRYPT:    return "HCI_OP_SET_CONN_ENCRYPT";
00235         case HCI_OP_CHANGE_CONN_LINK_KEY:    return "HCI_OP_CHANGE_CONN_LINK_KEY";
00236         case HCI_OP_REMOTE_NAME_REQ:    return "HCI_OP_REMOTE_NAME_REQ";
00237         case HCI_OP_REMOTE_NAME_REQ_CANCEL:    return "HCI_OP_REMOTE_NAME_REQ_CANCEL";
00238         case HCI_OP_READ_REMOTE_FEATURES:    return "HCI_OP_READ_REMOTE_FEATURES";
00239         case HCI_OP_READ_REMOTE_EXT_FEATURES:    return "HCI_OP_READ_REMOTE_EXT_FEATURES";
00240         case HCI_OP_READ_REMOTE_VERSION:    return "HCI_OP_READ_REMOTE_VERSION";
00241         case HCI_OP_SETUP_SYNC_CONN:    return "HCI_OP_SETUP_SYNC_CONN";
00242         case HCI_OP_ACCEPT_SYNC_CONN_REQ:    return "HCI_OP_ACCEPT_SYNC_CONN_REQ";
00243         case HCI_OP_REJECT_SYNC_CONN_REQ:    return "HCI_OP_REJECT_SYNC_CONN_REQ";
00244         // 0x0CXX
00245         case HCI_OP_SET_EVENT_MASK: return "HCI_OP_SET_EVENT_MASK";
00246         case HCI_OP_RESET:            return "HCI_OP_RESET";
00247         case HCI_OP_SET_EVENT_FLT:  return "HCI_OP_SET_EVENT_FLT";
00248         case HCI_OP_WRITE_LOCAL_NAME:   return "HCI_OP_WRITE_LOCAL_NAME";
00249         case HCI_OP_READ_LOCAL_NAME:    return "HCI_OP_READ_LOCAL_NAME";
00250         case HCI_OP_WRITE_CA_TIMEOUT:   return "HCI_OP_WRITE_CA_TIMEOUT";
00251         case HCI_OP_WRITE_PG_TIMEOUT:   return "HCI_OP_WRITE_PG_TIMEOUT";
00252         case HCI_OP_WRITE_SCAN_ENABLE:  return "HCI_OP_WRITE_SCAN_ENABLE";
00253         case HCI_OP_READ_AUTH_ENABLE:   return "HCI_OP_READ_AUTH_ENABLE";
00254         case HCI_OP_WRITE_AUTH_ENABLE:  return "HCI_OP_WRITE_AUTH_ENABLE";
00255         case HCI_OP_READ_ENCRYPT_MODE:  return "HCI_OP_READ_ENCRYPT_MODE";
00256         case HCI_OP_WRITE_ENCRYPT_MODE: return "HCI_OP_WRITE_ENCRYPT_MODE";
00257         case HCI_OP_READ_CLASS_OF_DEV:  return "HCI_OP_READ_CLASS_OF_DEV";
00258         case HCI_OP_WRITE_CLASS_OF_DEV:    return "HCI_OP_WRITE_CLASS_OF_DEV";
00259         case HCI_OP_READ_VOICE_SETTING: return "HCI_OP_READ_VOICE_SETTING";
00260         case HCI_OP_WRITE_VOICE_SETTING:    return "HCI_OP_WRITE_VOICE_SETTING";
00261         case HCI_OP_HOST_BUFFER_SIZE:   return "HCI_OP_HOST_BUFFER_SIZE";
00262         case HCI_OP_READ_SSP_MODE:      return "HCI_OP_READ_SSP_MODE";
00263         case HCI_OP_WRITE_SSP_MODE: return "HCI_OP_WRITE_SSP_MODE";
00264 
00265         // 10xx
00266         case HCI_OP_READ_LOCAL_VERSION: return "HCI_OP_READ_LOCAL_VERSION";
00267         case HCI_OP_READ_LOCAL_COMMANDS: return "HCI_OP_READ_LOCAL_COMMANDS";
00268         case HCI_OP_READ_LOCAL_FEATURES: return "HCI_OP_READ_LOCAL_FEATURES";
00269         case HCI_OP_READ_LOCAL_EXT_FEATURES: return "HCI_OP_READ_LOCAL_EXT_FEATURES";
00270         case HCI_OP_READ_BUFFER_SIZE: return "HCI_OP_READ_BUFFER_SIZE";
00271         case HCI_OP_READ_BD_ADDR: return "HCI_OP_READ_BD_ADDR";
00272     }
00273     return "Unknown Cmd";
00274 }
00275 
00276 const char* HCIErrStr(int err)
00277 {
00278     switch (err)
00279     {
00280         case 0: return "OK";
00281         case HCI_UNKNOWN_HCI_COMMAND:    return "HCI_UNKNOWN_HCI_COMMAND";
00282         case HCI_NO_CONNECTION:    return "HCI_NO_CONNECTION";
00283         case HCI_HW_FAILURE:    return "HCI_HW_FAILURE";
00284         case HCI_PAGE_TIMEOUT:    return "HCI_PAGE_TIMEOUT";
00285         case HCI_AUTHENTICATION_FAILURE:    return "HCI_AUTHENTICATION_FAILURE";
00286         case HCI_KEY_MISSING:    return "HCI_KEY_MISSING";
00287         case HCI_MEMORY_FULL:    return "HCI_MEMORY_FULL";
00288         case HCI_CONN_TIMEOUT:    return "HCI_CONN_TIMEOUT";
00289         case HCI_MAX_NUMBER_OF_CONNECTIONS:    return "HCI_CONN_TIMEOUT";
00290         case HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE:    return "HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE";
00291         case HCI_ACL_CONNECTION_EXISTS:    return "HCI_ACL_CONNECTION_EXISTS";
00292         case HCI_COMMAND_DISSALLOWED:    return "HCI_COMMAND_DISSALLOWED";
00293         case HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES:    return "HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES";
00294         case HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS:    return "HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS";
00295         case HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE:    return "HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE";
00296         case HCI_HOST_TIMEOUT:    return "HCI_HOST_TIMEOUT";
00297         case HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE:    return "HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE";
00298         case HCI_INVALID_HCI_COMMAND_PARAMETERS:    return "HCI_INVALID_HCI_COMMAND_PARAMETERS";
00299         case HCI_OTHER_END_TERMINATED_CONN_USER_ENDED:    return "HCI_OTHER_END_TERMINATED_CONN_USER_ENDED";
00300         case HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES:    return "HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES";
00301         case HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF:    return "HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF";
00302         case HCI_CONN_TERMINATED_BY_LOCAL_HOST:    return "HCI_CONN_TERMINATED_BY_LOCAL_HOST";
00303         case HCI_REPETED_ATTEMPTS:    return "HCI_REPEATED_ATTEMPTS";
00304         case HCI_PAIRING_NOT_ALLOWED:    return "HCI_PAIRING_NOT_ALLOWED";
00305         case HCI_UNKNOWN_LMP_PDU:    return "HCI_UNKNOWN_LMP_PDU";
00306         case HCI_UNSUPPORTED_REMOTE_FEATURE:    return "HCI_UNSUPPORTED_REMOTE_FEATURE";
00307         case HCI_SCO_OFFSET_REJECTED:    return "HCI_SCO_OFFSET_REJECTED";
00308         case HCI_SCO_INTERVAL_REJECTED:    return "HCI_SCO_INTERVAL_REJECTED";
00309         case HCI_SCO_AIR_MODE_REJECTED:    return "HCI_SCO_AIR_MODE_REJECTED";
00310         case HCI_INVALID_LMP_PARAMETERS:    return "HCI_INVALID_LMP_PARAMETERS";
00311         case HCI_UNSPECIFIED_ERROR:    return "HCI_UNSPECIFIED_ERROR";
00312         case HCI_UNSUPPORTED_LMP_PARAMETER_VALUE:    return "HCI_UNSUPPORTED_LMP_PARAMETER_VALUE";
00313         case HCI_ROLE_CHANGE_NOT_ALLOWED:    return "HCI_ROLE_CHANGE_NOT_ALLOWED";
00314         case HCI_LMP_RESPONSE_TIMEOUT:    return "HCI_LMP_RESPONSE_TIMEOUT";
00315         case HCI_LMP_ERROR_TRANSACTION_COLLISION:    return "HCI_LMP_ERROR_TRANSACTION_COLLISION";
00316         case HCI_LMP_PDU_NOT_ALLOWED:    return "HCI_LMP_PDU_NOT_ALLOWED";
00317         case HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE:    return "HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE";
00318         case HCI_UNIT_KEY_USED:    return "HCI_UNIT_KEY_USED";
00319         case HCI_QOS_NOT_SUPPORTED:    return "HCI_QOS_NOT_SUPPORTED";
00320         case HCI_INSTANT_PASSED:    return "HCI_INSTANT_PASSED";
00321         case HCI_PAIRING_UNIT_KEY_NOT_SUPPORTED:    return "HCI_PAIRING_UNIT_KEY_NOT_SUPPORTED";
00322     };
00323     return "Unknow HCI err";
00324 };
00325 
00326 
00327 #endif // HCI_PRIVATE_H_INCLUDED