oi_status.h 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579
  1. /******************************************************************************
  2. *
  3. * Copyright (C) 2014 The Android Open Source Project
  4. * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved.
  5. *
  6. * Licensed under the Apache License, Version 2.0 (the "License");
  7. * you may not use this file except in compliance with the License.
  8. * You may obtain a copy of the License at:
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. *
  18. ******************************************************************************/
  19. #ifndef _OI_STATUS_H
  20. #define _OI_STATUS_H
  21. /**
  22. * @file
  23. * This file contains status codes for BLUEmagic 3.0 software.
  24. */
  25. #include "oi_stddefs.h"
  26. /** \addtogroup Misc Miscellaneous APIs */
  27. /**@{*/
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. /** test it **/
  32. /**
  33. * OI_STATUS must fit in 16 bits, so status codes can range from 0 to 66535, inclusive.
  34. */
  35. typedef enum {
  36. OI_STATUS_SUCCESS = 0, /**< function call succeeded alias for #OI_OK */
  37. OI_OK = 0, /**< function call succeeded alias for #OI_STATUS_SUCCESS */
  38. OI_STATUS_INVALID_PARAMETERS = 101, /**< invalid function input parameters */
  39. OI_STATUS_NOT_IMPLEMENTED = 102, /**< attempt to use an unimplemented function */
  40. OI_STATUS_NOT_INITIALIZED = 103, /**< data not initialized */
  41. OI_STATUS_NO_RESOURCES = 104, /**< generic resource allocation failure status */
  42. OI_STATUS_INTERNAL_ERROR = 105, /**< internal inconsistency */
  43. OI_STATUS_OUT_OF_MEMORY = 106, /**< generally, OI_Malloc failed */
  44. OI_ILLEGAL_REENTRANT_CALL = 107, /**< violation of non-reentrant module policy */
  45. OI_STATUS_INITIALIZATION_FAILED = 108, /**< module initialization failed */
  46. OI_STATUS_INITIALIZATION_PENDING = 109, /**< inititialization not yet complete */
  47. OI_STATUS_NO_SCO_SUPPORT = 110, /**< SCO operation rejected; system not configured for SCO */
  48. OI_STATUS_OUT_OF_STATIC_MEMORY = 111, /**< static malloc failed */
  49. OI_TIMEOUT = 112, /**< generic timeout */
  50. OI_OS_ERROR = 113, /**< some operating system error */
  51. OI_FAIL = 114, /**< generic failure */
  52. OI_STRING_FORMAT_ERROR = 115, /**< error in VarString formatting string */
  53. OI_STATUS_PENDING = 116, /**< The operation is pending. */
  54. OI_STATUS_INVALID_COMMAND = 117, /**< The command was invalid. */
  55. OI_BUSY_FAIL = 118, /**< command rejected due to busy */
  56. OI_STATUS_ALREADY_REGISTERED = 119, /**< The registration has already been performed. */
  57. OI_STATUS_NOT_FOUND = 120, /**< The referenced resource was not found. */
  58. OI_STATUS_NOT_REGISTERED = 121, /**< not registered */
  59. OI_STATUS_NOT_CONNECTED = 122, /**< not connected */
  60. OI_CALLBACK_FUNCTION_REQUIRED = 123, /**< A callback function parameter was required. */
  61. OI_STATUS_MBUF_OVERFLOW = 124, /**< There is no room to add another buffer to an mbuf. */
  62. OI_STATUS_MBUF_UNDERFLOW = 125, /**< There was an attempt to pull too many bytes from an mbuf. */
  63. OI_STATUS_CONNECTION_EXISTS = 126, /**< connection exists */
  64. OI_STATUS_NOT_CONFIGURED = 127, /**< module not configured */
  65. OI_LOWER_STACK_ERROR = 128, /**< An error was reported by lower stack API. This is used for embedded platforms. */
  66. OI_STATUS_RESET_IN_PROGRESS = 129, /**< Request failed/rejected because we're busy resetting. */
  67. OI_STATUS_ACCESS_DENIED = 130, /**< Generic access denied error. */
  68. OI_STATUS_DATA_ERROR = 131, /**< Generic data error. */
  69. OI_STATUS_INVALID_ROLE = 132, /**< The requested role was invalid. */
  70. OI_STATUS_ALREADY_CONNECTED = 133, /**< The requested connection is already established. */
  71. OI_STATUS_PARSE_ERROR = 134, /**< Parse error */
  72. OI_STATUS_END_OF_FILE = 135, /**< End of file */
  73. OI_STATUS_READ_ERROR = 136, /**< Generic read error */
  74. OI_STATUS_WRITE_ERROR = 137, /**< Generic write error */
  75. OI_STATUS_NEGOTIATION_FAILURE = 138, /**< Error in negotiation */
  76. OI_STATUS_READ_IN_PROGRESS = 139, /**< A read is already in progress */
  77. OI_STATUS_ALREADY_INITIALIZED = 140, /**< Initialization has already been done */
  78. OI_STATUS_STILL_CONNECTED = 141, /**< The service cannot be shutdown because there are still active connections. */
  79. OI_STATUS_MTU_EXCEEDED = 142, /**< The packet is too big */
  80. OI_STATUS_LINK_TERMINATED = 143, /**< The link was terminated */
  81. OI_STATUS_PIN_CODE_TOO_LONG = 144, /**< Application gave us a pin code that is too long */
  82. OI_STATUS_STILL_REGISTERED = 145, /**< The service cannot be shutdown because there are still active registrations. */
  83. OI_STATUS_SPEC_VIOLATION = 146, /**< Some application behavior contrary to BT specifications */
  84. OI_STATUS_PSM_ALREADY_REGISTERED = 402, /**< L2CAP: The specified PSM has already been registered. */
  85. OI_STATUS_INVALID_CID = 403, /**< L2CAP: CID is invalid or no longer valid (connection terminated) */
  86. OI_STATUS_CID_NOT_FOUND = 404, /**< L2CAP: CID does not represent a current connection */
  87. OI_STATUS_CHANNEL_NOT_FOUND = 406, /**< L2CAP: CID does not represent a current connection */
  88. OI_STATUS_PSM_NOT_FOUND = 407, /**< L2CAP: PSM not found */
  89. OI_STATUS_INVALID_STATE = 408, /**< L2CAP: invalid state */
  90. OI_STATUS_WRITE_IN_PROGRESS = 410, /**< L2CAP: write in progress */
  91. OI_STATUS_INVALID_PACKET = 411, /**< L2CAP: invalid packet */
  92. OI_STATUS_SEND_COMPLETE = 412, /**< L2CAP: send is complete */
  93. OI_STATUS_INVALID_HANDLE = 414, /**< L2CAP: handle is invalid */
  94. OI_STATUS_GROUP_FULL = 418, /**< L2CAP: No more members can be added to the specified group. */
  95. OI_STATUS_DEVICE_ALREADY_IN_GROUP = 423, /**< L2CAP: The device already exists in the group. */
  96. OI_STATUS_DUPLICATE_GROUP = 425, /**< L2CAP: attempt to add more than one group */
  97. OI_STATUS_EMPTY_GROUP = 426, /**< L2CAP: group is empty */
  98. OI_STATUS_PACKET_NOT_FOUND = 427, /**< L2CAP: packet not found */
  99. OI_STATUS_BUFFER_TOO_SMALL = 428, /**< L2CAP: The buffer size is too small. */
  100. OI_STATUS_IDENTIFIER_NOT_FOUND = 429, /**< L2CAP: identifier not found */
  101. OI_L2CAP_DISCONNECT_LOWER_LAYER = 430, /**< L2CAP: The lower level forced a disconnect. */
  102. OI_L2CAP_DISCONNECT_REMOTE_REQUEST = 431, /**< L2CAP: The remote device requested a disconnect. */
  103. OI_L2CAP_GROUP_ADD_CONNECT_FAIL = 433, /**< L2CAP: Group add connect faiL */
  104. OI_L2CAP_GROUP_REMOVE_FAILURE = 434, /**< L2CAP: Group remove failure */
  105. OI_L2CAP_DATA_WRITE_ERROR_LINK_TERM = 435, /**< L2CAP: Data write error LINK_TERM */
  106. OI_L2CAP_DISCONNECT_LOCAL_REQUEST = 436, /**< L2CAP: Disconnect local request */
  107. OI_L2CAP_CONNECT_TIMEOUT = 437, /**< L2CAP: Connect timeout */
  108. OI_L2CAP_DISCONNECT_TIMEOUT = 439, /**< L2CAP: Disconnect timeout */
  109. OI_L2CAP_PING_TIMEOUT = 440, /**< L2CAP: Ping timeout */
  110. OI_L2CAP_GET_INFO_TIMEOUT = 441, /**< L2CAP: Get info timeout */
  111. OI_L2CAP_INVALID_ADDRESS = 444, /**< L2CAP: Invalid address */
  112. OI_L2CAP_CMD_REJECT_RCVD = 445, /**< L2CAP: remote sent us 'command reject' response */
  113. OI_L2CAP_CONNECT_BASE = 450, /**< L2CAP: Connect base */
  114. OI_L2CAP_CONNECT_PENDING = 451, /**< L2CAP: Connect pending */
  115. OI_L2CAP_CONNECT_REFUSED_INVALID_PSM = 452, /**< L2CAP: Connect refused invalid PSM */
  116. OI_L2CAP_CONNECT_REFUSED_SECURITY = 453, /**< L2CAP: Connect refused security */
  117. OI_L2CAP_CONNECT_REFUSED_NO_RESOURCES = 454, /**< L2CAP: Connect refused no resources */
  118. OI_L2CAP_CONFIG_BASE = 460, /**< L2CAP: Config base */
  119. OI_L2CAP_CONFIG_FAIL_INVALID_PARAMETERS = 461, /**< L2CAP: Config fail invalid parameters */
  120. OI_L2CAP_CONFIG_FAIL_NO_REASON = 462, /**< L2CAP: Config fail no reason */
  121. OI_L2CAP_CONFIG_FAIL_UNKNOWN_OPTIONS = 463, /**< L2CAP: Config fail unknown options */
  122. OI_L2CAP_GET_INFO_BASE = 470, /**< L2CAP: Get info base */
  123. OI_L2CAP_GET_INFO_NOT_SUPPORTED = 471, /**< L2CAP: Get info not supported */
  124. OI_L2CAP_MTU_EXCEEDED = 472, /**< L2CAP: The MTU of the channel was exceeded */
  125. OI_L2CAP_INVALID_PSM = 482, /**< L2CAP: Invalid PSM */
  126. OI_L2CAP_INVALID_MTU = 483, /**< L2CAP: Invalid MTU */
  127. OI_L2CAP_INVALID_FLUSHTO = 484, /**< L2CAP: Invalid flush timeout */
  128. OI_HCI_NO_SUCH_CONNECTION = 601, /**< HCI: caller specified a non-existent connection handle */
  129. OI_HCI_CB_LIST_FULL = 603, /**< HCI: callback list is full, cannot attempt to send command */
  130. OI_HCI_EVENT_UNDERRUN = 605, /**< HCI: parsing event packet, premature end-of-parameters */
  131. OI_HCI_UNKNOWN_EVENT_CODE = 607, /**< HCI: event received - event code is unknown */
  132. OI_HCI_BAD_EVENT_PARM_LEN = 608, /**< HCI: event - parameter length is incorrect */
  133. OI_HCI_CMD_QUEUE_FULL = 611, /**< HCI: command queue is full */
  134. OI_HCI_SHORT_EVENT = 612, /**< HCI: event received, missing event code and/or parm len */
  135. OI_HCI_TRANSMIT_NOT_READY = 613, /**< HCI: ACL/SCO transmit request failed - busy or no buffers available */
  136. OI_HCI_ORPHAN_SENT_EVENT = 614, /**< HCI: got spurious 'sent' event from transport layer */
  137. OI_HCI_CMD_TABLE_ERROR = 615, /**< HCI: inconsistency in the internal command table */
  138. OI_HCI_UNKNOWN_CMD_ID = 616, /**< HCI: HciApi Command - unknown command id */
  139. OI_HCI_UNEXPECTED_EVENT = 619, /**< HCI: event received which only occurs in response to our cmd */
  140. OI_HCI_EVENT_TABLE_ERROR = 620, /**< HCI: inconsistency in the internal event table */
  141. OI_HCI_EXPECTED_EVENT_TIMOUT = 621, /**< HCI: timed out waiting for an expected event */
  142. OI_HCI_NO_CMD_DESC_FOR_OPCODE = 622, /**< HCI: event opcode is not known */
  143. OI_HCI_INVALID_OPCODE_ERROR = 623, /**< HCI: command opcode is invalid */
  144. OI_HCI_FLOW_CONTROL_DISABLED = 624, /**< HCI: can not use host flow control APIs if disabled in configuration */
  145. OI_HCI_TX_COMPLETE = 625, /**< HCI: packet delivery to Host Controler complete */
  146. OI_HCI_TX_ERROR = 626, /**< HCI: failed to deliver packet to Host Controler */
  147. OI_HCI_DEVICE_NOT_INITIALIZED = 627, /**< HCI: commands from upper layers disallowed until device is up and running */
  148. OI_HCI_UNSUPPORTED_COMMAND = 628, /**< HCI: command requested is not supported by local device */
  149. OI_HCI_PASSTHROUGH_ERROR = 629, /**< HCI: Error processing passthrough command */
  150. OI_HCI_PASSTHROUGH_ALREADY_SET = 630, /**< HCI: Passthrough mode already enabled */
  151. OI_HCI_RESET_FAILURE = 631, /**< HCI: failed to reset the device/baseband */
  152. OI_HCI_TRANSPORT_RESET = 632, /**< HCI: some operation failed because of a reset in the transport */
  153. OI_HCIERR_HCIIFC_INIT_FAILURE = 633, /**< HCI: failed to initialize transport layer interface */
  154. OI_HCIERR_FIRST_ERROR_VALUE = 701, /**< marker for first HCI protocol error */
  155. OI_HCIERR_UNKNOWN_HCI_COMMAND = 701, /**< HCI: protocol error 0x01 */
  156. OI_HCIERR_NO_CONNECTION = 702, /**< HCI: protocol error 0x02 */
  157. OI_HCIERR_HARDWARE_FAILURE = 703, /**< HCI: protocol error 0x03 */
  158. OI_HCIERR_PAGE_TIMEOUT = 704, /**< HCI: protocol error 0x04 */
  159. OI_HCIERR_AUTHENTICATION_FAILURE = 705, /**< HCI: protocol error 0x05 */
  160. OI_HCIERR_KEY_MISSING = 706, /**< HCI: protocol error 0x06 */
  161. OI_HCIERR_MEMORY_FULL = 707, /**< HCI: protocol error 0x07 */
  162. OI_HCIERR_CONNECTION_TIMEOUT = 708, /**< HCI: protocol error 0x08 */
  163. OI_HCIERR_MAX_NUM_OF_CONNECTIONS = 709, /**< HCI: protocol error 0x09 */
  164. OI_HCIERR_MAX_NUM_OF_SCO_CONNECTIONS = 710, /**< HCI: protocol error 0x0A */
  165. OI_HCIERR_ACL_CONNECTION_ALREADY_EXISTS = 711, /**< HCI: protocol error 0x0B */
  166. OI_HCIERR_COMMAND_DISALLOWED = 712, /**< HCI: protocol error 0x0C */
  167. OI_HCIERR_HOST_REJECTED_RESOURCES = 713, /**< HCI: protocol error 0x0D */
  168. OI_HCIERR_HOST_REJECTED_SECURITY = 714, /**< HCI: protocol error 0x0E */
  169. OI_HCIERR_HOST_REJECTED_PERSONAL_DEVICE = 715, /**< HCI: protocol error 0x0F */
  170. OI_HCIERR_HOST_TIMEOUT = 716, /**< HCI: protocol error 0x10 */
  171. OI_HCIERR_UNSUPPORTED = 717, /**< HCI: protocol error 0x11 */
  172. OI_HCIERR_INVALID_PARAMETERS = 718, /**< HCI: protocol error 0x12 */
  173. OI_HCIERR_OTHER_END_USER_DISCONNECT = 719, /**< HCI: protocol error 0x13 */
  174. OI_HCIERR_OTHER_END_LOW_RESOURCES = 720, /**< HCI: protocol error 0x14 */
  175. OI_HCIERR_OTHER_END_POWERING_OFF = 721, /**< HCI: protocol error 0x15 */
  176. OI_HCIERR_CONNECTION_TERMINATED_LOCALLY = 722, /**< HCI: protocol error 0x16 */
  177. OI_HCIERR_REPEATED_ATTEMPTS = 723, /**< HCI: protocol error 0x17 */
  178. OI_HCIERR_PAIRING_NOT_ALLOWED = 724, /**< HCI: protocol error 0x18 */
  179. OI_HCIERR_UNKNOWN_LMP_PDU = 725, /**< HCI: protocol error 0x19 */
  180. OI_HCIERR_UNSUPPORTED_REMOTE_FEATURE = 726, /**< HCI: protocol error 0x1A */
  181. OI_HCIERR_SCO_OFFSET_REJECTED = 727, /**< HCI: protocol error 0x1B */
  182. OI_HCIERR_SCO_INTERVAL_REJECTED = 728, /**< HCI: protocol error 0x1C */
  183. OI_HCIERR_SCO_AIR_MODE_REJECTED = 729, /**< HCI: protocol error 0x1D */
  184. OI_HCIERR_INVALID_LMP_PARMS = 730, /**< HCI: protocol error 0x1E */
  185. OI_HCIERR_UNSPECIFIED_ERROR = 731, /**< HCI: protocol error 0x1F */
  186. OI_HCIERR_UNSUPPORTED_LMP_PARAMETERS = 732, /**< HCI: protocol error 0x20 */
  187. OI_HCIERR_ROLE_CHANGE_NOT_ALLOWED = 733, /**< HCI: protocol error 0x21 */
  188. OI_HCIERR_LMP_RESPONSE_TIMEOUT = 734, /**< HCI: protocol error 0x22 */
  189. OI_HCIERR_LMP_ERROR_TRANS_COLLISION = 735, /**< HCI: protocol error 0x23 */
  190. OI_HCIERR_LMP_PDU_NOT_ALLOWED = 736, /**< HCI: protocol error 0x24 */
  191. OI_HCIERR_ENCRYPTION_MODE_NOT_ACCEPTABLE = 737, /**< HCI: protocol error 0x25 */
  192. OI_HCIERR_UNIT_KEY_USED = 738, /**< HCI: protocol error 0x26 */
  193. OI_HCIERR_QOS_NOT_SUPPORTED = 739, /**< HCI: protocol error 0x27 */
  194. OI_HCIERR_INSTANT_PASSED = 740, /**< HCI: protocol error 0x28 */
  195. OI_HCIERR_UNIT_KEY_PAIRING_UNSUPPORTED = 741, /**< HCI: protocol error 0x29 */
  196. OI_HCIERR_DIFFERENT_TRANS_COLLISION = 742, /**< HCI: protocol error 0x2A */
  197. OI_HCIERR_RESERVED_2B = 743, /**< HCI: protocol error 0x2B */
  198. OI_HCIERR_QOS_UNACCEPTABLE_PARAMETER = 744, /**< HCI: protocol error 0x2C */
  199. OI_HCIERR_QOS_REJECTED = 745, /**< HCI: protocol error 0x2D */
  200. OI_HCIERR_CHANNEL_CLASSIFICATION_NS = 746, /**< HCI: protocol error 0x2E */
  201. OI_HCIERR_INSUFFICIENT_SECURITY = 747, /**< HCI: protocol error 0x2F */
  202. OI_HCIERR_PARM_OUT_OF_MANDATORY_RANGE = 748, /**< HCI: protocol error 0x30 */
  203. OI_HCIERR_RESERVED_31 = 749, /**< HCI: protocol error 0x31 */
  204. OI_HCIERR_ROLE_SWITCH_PENDING = 750, /**< HCI: protocol error 0x32 */
  205. OI_HCIERR_RESERVED_33 = 751, /**< HCI: protocol error 0x33 */
  206. OI_HCIERR_RESERVED_SLOT_VIOLATION = 752, /**< HCI: protocol error 0x34 */
  207. OI_HCIERR_ROLE_SWITCH_FAILED = 753, /**< HCI: protocol error 0x35 */
  208. OI_HCIERR_EIR_TOO_LARGE = 754, /**< HCI: protocol error 0x36 */
  209. OI_HCIERR_SSP_NOT_SUPPORTED_BY_HOST = 755, /**< HCI: protocol error 0x37 */
  210. OI_HCIERR_HOST_BUSY_PAIRING = 756, /**< HCI: protocol error 0x38 */
  211. OI_HCIERR_UNKNOWN_ERROR = 757, /**< HCI: unknown error code */
  212. OI_HCIERR_LAST_ERROR_VALUE = 757, /**< marker for last HCI protocol error */
  213. OI_SDP_SPEC_ERROR = 800, /**< SDP: Base error status for mapping OI_STATUS codes to SDP errors */
  214. OI_SDP_INVALID_SERVICE_RECORD_HANDLE = (OI_SDP_SPEC_ERROR + 2), /**< SDP: protocol error Invalid Service Record Handle */
  215. OI_SDP_INVALID_REQUEST_SYNTAX = (OI_SDP_SPEC_ERROR + 3), /**< SDP: protocol error Invalid Request Syntax */
  216. OI_SDP_INVALID_PDU_SIZE = (OI_SDP_SPEC_ERROR + 4), /**< SDP: protocol error Invalid PDU Size */
  217. OI_SDP_INVALID_CONTINUATION_STATE = (OI_SDP_SPEC_ERROR + 5), /**< SDP: protocol error Invalid Continuation State */
  218. OI_SDP_INSUFFICIENT_RESOURCES = (OI_SDP_SPEC_ERROR + 6), /**< SDP: protocol error Insufficient Resources */
  219. OI_SDP_ERROR = 807, /**< SDP: server returned an error code */
  220. OI_SDP_CORRUPT_DATA_ELEMENT = 808, /**< SDP: Invalid or corrupt data element representation */
  221. OI_SDP_SERVER_NOT_CONNECTED = 810, /**< SDP: Attempt to disconnect from an unconnected server */
  222. OI_SDP_ACCESS_DENIED = 811, /**< SDP: Server denied access to server */
  223. OI_SDP_ATTRIBUTES_OUT_OF_ORDER = 812, /**< SDP: Attributes in attribute list not in ascending order */
  224. OI_SDP_DEVICE_DOES_NOT_SUPPORT_SDP = 813, /**< SDP: Tried to connect to a device that does not support SDP */
  225. OI_SDP_NO_MORE_DATA = 815, /**< SDP: Server does not have more continuation data */
  226. OI_SDP_REQUEST_PARAMS_TOO_LONG = 816, /**< SDP: Parameters for a request exceed the L2CAP buffer size */
  227. OI_SDP_REQUEST_PENDING = 817, /**< SDP: Cannot make a request when another request is being processed */
  228. OI_SDP_SERVER_CONNECT_FAILED = 819, /**< SDP: Failed attempt to connect to an SDP server */
  229. OI_SDP_SERVER_TOO_MANY_CONNECTIONS = 821, /**< SDP: Exceeded maximum number of simultaneous server connections */
  230. OI_SDP_NO_MATCHING_SERVICE_RECORD = 823, /**< SDP: No service record matched the UUID list */
  231. OI_SDP_PARTIAL_RESPONSE = 824, /**< SDP: Internal use only */
  232. OI_SDP_ILLEGAL_ARGUMENT = 825, /**< SDP: Illegal argument passed to an SDP function */
  233. OI_SDP_ATTRIBUTE_NOT_FOUND = 826, /**< SDP: A requested attribute was not found in a service record */
  234. OI_SDP_DATABASE_OUT_OF_RESOURCES = 827, /**< SDP: server database is out of memory */
  235. OI_SDP_SHORT_PDU = 829, /**< SDP: Not enough bytes in the packet */
  236. OI_SDP_TRANSACTION_ID_MISMATCH = 830, /**< SDP: Transaction Id was not as expected */
  237. OI_SDP_UNEXPECTED_RESPONSE_PDU_ID = 831, /**< SDP: Did not expect this response PDU */
  238. OI_SDP_REQUEST_TIMEOUT = 832, /**< SDP: Did not get a response within the timeout period */
  239. OI_SDP_INVALID_RESPONSE_SYNTAX = 833, /**< SDP: Response is not correctly formatted */
  240. OI_SDP_CONNECTION_TIMEOUT = 834, /**< SDP: Connection attempt timed out at a lower layer */
  241. OI_SDP_RESPONSE_DATA_ERROR = 835, /**< SDP: Response to a service request appears to be corrupt */
  242. OI_SDP_TOO_MANY_ATTRIBUTE_BYTES = 836, /**< SDP: Response contained more bytes than requested. */
  243. OI_SDP_TOO_MANY_SERVICE_RECORDS = 837, /**< SDP: Response contained more service records than requested. */
  244. OI_SDP_INVALID_CONNECTION_ID = 838, /**< SDP: Invalid connection ID in an SDP request */
  245. OI_SDP_CANNOT_SET_ATTRIBUTE = 839, /**< SDP: Attempt to set a dynamic attribute value failed */
  246. OI_SDP_BADLY_FORMED_ATTRIBUTE_VALUE = 840, /**< SDP: An attribute value has the wrong type or structure */
  247. OI_SDP_NO_ATTRIBUTE_LIST_TO_REMOVE = 841, /**< SDP: Attempt to remove a non-existent attribute list from a service record */
  248. OI_SDP_ATTRIBUTE_LIST_ALREADY_ADDED = 842, /**< SDP: An attribute list has already been added to the service record */
  249. OI_SDP_DATA_ELEMENT_TRUNCATED = 843, /**< SDP: Data element truncated (too few bytes) */
  250. OI_RFCOMM_WRITE_IN_PROGRESS = 901, /**< RFCOMM: Write in progress */
  251. OI_RFCOMM_INVALID_BAUDRATE = 903, /**< RFCOMM: Invalid baudrate */
  252. OI_RFCOMM_INVALID_DATABIT = 904, /**< RFCOMM: Invalid databit */
  253. OI_RFCOMM_INVALID_STOPBIT = 905, /**< RFCOMM: Invalid stopbit */
  254. OI_RFCOMM_INVALID_PARITY = 906, /**< RFCOMM: Invalid parity */
  255. OI_RFCOMM_INVALID_PARITYTYPE = 907, /**< RFCOMM: Invalid paritytype */
  256. OI_RFCOMM_INVALID_FLOWCONTROL = 908, /**< RFCOMM: Invalid flowcontrol */
  257. OI_RFCOMM_SESSION_EXISTS = 909, /**< RFCOMM: Session exists */
  258. OI_RFCOMM_INVALID_CHANNEL = 910, /**< RFCOMM: Invalid channel */
  259. OI_RFCOMM_DLCI_EXISTS = 911, /**< RFCOMM: DLCI exists */
  260. OI_RFCOMM_LINK_NOT_FOUND = 912, /**< RFCOMM: Link not found */
  261. OI_RFCOMM_REMOTE_REJECT = 913, /**< RFCOMM: Remote reject */
  262. OI_RFCOMM_TEST_IN_PROGRESS = 915, /**< RFCOMM: Test in progress */
  263. OI_RFCOMM_SESSION_NOT_FOUND = 916, /**< RFCOMM: Session not found */
  264. OI_RFCOMM_INVALID_PACKET = 917, /**< RFCOMM: Invalid packet */
  265. OI_RFCOMM_FRAMESIZE_EXCEEDED = 918, /**< RFCOMM: Framesize exceeded */
  266. OI_RFCOMM_INVALID_DLCI = 920, /**< RFCOMM: Invalid dlci */
  267. OI_RFCOMM_SERVER_NOT_REGISTERED = 921, /**< RFCOMM: Server not registered */
  268. OI_RFCOMM_CREDIT_ERROR = 922, /**< RFCOMM: Credit error */
  269. OI_RFCOMM_NO_CHANNEL_NUMBER = 923, /**< RFCOMM: No channel number */
  270. OI_RFCOMM_QUERY_IN_PROGRESS = 924, /**< RFCOMM: Query in progress */
  271. OI_RFCOMM_SESSION_SHUTDOWN = 925, /**< RFCOMM: Session shutdown */
  272. OI_RFCOMM_LOCAL_DEVICE_DISCONNECTED = 926, /**< RFCOMM: Local device disconnected */
  273. OI_RFCOMM_REMOTE_DEVICE_DISCONNECTED = 927, /**< RFCOMM: Remote device disconnected */
  274. OI_RFCOMM_OUT_OF_SERVER_CHANNELS = 928, /**< RFCOMM: Out of server channels */
  275. OI_DISPATCH_INVALID_CB_HANDLE = 1001, /**< Dispatcher was handed an invalid callback handle */
  276. OI_DISPATCH_TABLE_OVERFLOW = 1002, /**< Dispatcher table is full */
  277. OI_TEST_UNKNOWN_TEST = 1101, /**< TEST: Unknown test */
  278. OI_TEST_FAIL = 1102, /**< TEST: Fail */
  279. OI_HCITRANS_CANNOT_CONNECT_TO_DEVICE = 1201, /**< TRANSPORT: Cannot connect to device */
  280. OI_HCITRANS_BUFFER_TOO_SMALL = 1203, /**< TRANSPORT: Buffer too small */
  281. OI_HCITRANS_NULL_DEVICE_HANDLE = 1204, /**< TRANSPORT: Null device handle */
  282. OI_HCITRANS_IO_ERROR = 1205, /**< TRANSPORT: IO error */
  283. OI_HCITRANS_DEVICE_NOT_READY = 1206, /**< TRANSPORT: Device not ready */
  284. OI_HCITRANS_FUNCTION_NOT_SUPPORTED = 1207, /**< TRANSPORT: Function not supporteD */
  285. OI_HCITRANS_ACCESS_DENIED = 1209, /**< TRANSPORT: win32 */
  286. OI_HCITRANS_ACL_DATA_ERROR = 1210, /**< TRANSPORT: ACL data error */
  287. OI_HCITRANS_SCO_DATA_ERROR = 1211, /**< TRANSPORT: SCO data error */
  288. OI_HCITRANS_EVENT_DATA_ERROR = 1212, /**< TRANSPORT: HCI event data error */
  289. OI_HCITRANS_INTERNAL_ERROR = 1214, /**< TRANSPORT: Internal error in the transport */
  290. OI_HCITRANS_LINK_NOT_ACTIVE = 1215, /**< TRANSPORT: Link to the device is not currently active */
  291. OI_HCITRANS_INITIALIZING = 1216, /**< TRANSPORT: Transport is initializing */
  292. OI_DEVMGR_NO_CONNECTION = 1301, /**< DEVMGR: No connection */
  293. OI_DEVMGR_HARDWARE_ERROR = 1305, /**< DEVMGR: error reported by HCI */
  294. OI_DEVMGR_PENDING_CONNECT_LIST_FULL = 1307, /**< DEVMGR: Pending connect list full */
  295. OI_DEVMGR_CONNECTION_LIST_FULL = 1309, /**< DEVMGR: Connection list full */
  296. OI_DEVMGR_NO_SUCH_CONNECTION = 1310, /**< DEVMGR: No such connection */
  297. OI_DEVMGR_INQUIRY_IN_PROGRESS = 1311, /**< DEVMGR: Inquiry in progress */
  298. OI_DEVMGR_PERIODIC_INQUIRY_ACTIVE = 1312, /**< DEVMGR: Periodic inquiry active */
  299. OI_DEVMGR_NO_INQUIRIES_ACTIVE = 1313, /**< DEVMGR: can not cancel/exit if not active */
  300. OI_DEVMGR_DUPLICATE_CONNECTION = 1314, /**< DEVMGR: internal error */
  301. OI_DEVMGR_DUPLICATE_EVENT_CALLBACK = 1316, /**< DEVMGR: attempt to register same callback twice */
  302. OI_DEVMGR_EVENT_CALLBACK_LIST_FULL = 1317, /**< DEVMGR: can not register event callback, list is full */
  303. OI_DEVMGR_EVENT_CALLBACK_NOT_FOUND = 1318, /**< DEVMGR: attempt to unregister callback failed */
  304. OI_DEVMGR_BUSY = 1319, /**< DEVMGR: some operations can only execute one at a time */
  305. OI_DEVMGR_ENUM_UNEXPECTED_INQ_COMPLETE = 1320, /**< DEVMGR: inquiry complete event in inappropriate enumeration state */
  306. OI_DEVMGR_ENUM_UNEXPECTED_INQ_RESULT = 1321, /**< DEVMGR: inquiry result event in inappropriate enumeration state */
  307. OI_DEVMGR_ENUM_DATABASE_FULL = 1322, /**< DEVMGR: device enumeration, database is full, couldn't add a new device */
  308. OI_DEVMGR_ENUM_INQUIRIES_OVERLAP = 1323, /**< DEVMGR: device enumeration, periodic inquiries occurring too close together */
  309. OI_DEVMGR_UNKNOWN_LINK_TYPE = 1324, /**< DEVMGR: HCI connect request with unkown link type */
  310. OI_DEVMGR_PARAM_IO_ACTIVE = 1325, /**< DEVMGR: request for parameter read/write while param read/write active */
  311. OI_DEVMGR_UNKNOWN_IAC_LAP = 1326, /**< DEVMGR: unrecognized IAC LAP */
  312. OI_DEVMGR_SCO_ALREADY_REGISTERED = 1327, /**< DEVMGR: only one application can use SCO */
  313. OI_DEVMGR_SCO_NOT_REGISTERED = 1328, /**< DEVMGR: SCO applications must register before using the API */
  314. OI_DEVMGR_SCO_WITHOUT_ACL = 1329, /**< DEVMGR: Got SCO connection but there is no underlying ACL connection */
  315. OI_DEVMGR_NO_SUPPORT = 1330, /**< DEVMGR: Request is not supported by the device */
  316. OI_DEVMGR_WRITE_POLICY_FAILED = 1331, /**< DEVMGR: connection attempt failed - unable to write link policy */
  317. OI_DEVMGR_NOT_IN_MASTER_MODE = 1332, /**< DEVMGR: OI_DEVMGR EndMasterMode without prior OI_DEVMGR_BeginMasterMode */
  318. OI_DEVMGR_POLICY_VIOLATION = 1333, /**< DEVMGR: low-power request is rejected - link policy does not allow it */
  319. OI_DEVMGR_BUSY_TIMEOUT = 1334, /**< DEVMGR: queued operation timed out while in the queue; \n
  320. timeout configurable via @ref OI_CONFIG_DEVMGR::connectQueueTimeoutSecs "connectQueueTimeoutSecs" */
  321. OI_DEVMGR_REENCRYPT_FAILED = 1335, /**< DEVMGR: failed to re-encrypt link after role switch */
  322. OI_DEVMGR_ROLE_POLICY_CONFLICT = 1336, /**< DEVMGR: requested role conflicts with current policy */
  323. OI_DEVMGR_BAD_INTERVAL = 1337, /**< DEVMGR: current linkTO outside range of requested min/max interval */
  324. OI_DEVMGR_INVALID_SCO_HANDLE = 1338, /**< DEVMGR: HCI SCO event, invalid handle */
  325. OI_DEVMGR_CONNECTION_OVERLAP = 1339, /**< DEVMGR: Connection failed due to race condition with remote side */
  326. OI_DEVMGR_ORPHAN_SUBRATE_COMPLETE = 1340, /**< DEVMGR: sniff subrate complete, but no callback */
  327. OI_DEVMGR_EIR_RESPONSE_2_LARGE = 1341, /**< DEVMGR: eir builder, response length would exceed spec max */
  328. OI_SECMGR_NO_POLICY = 1401, /**< SECMGR: no security policy has been established */
  329. OI_SECMGR_INTERNAL_ERROR = 1402, /**< SECMGR: internal inconsistency */
  330. OI_SECMGR_ORPHANED_CALLBACK = 1403, /**< SECMGR: we've been called back, but CB context is gone */
  331. OI_SECMGR_BUSY = 1404, /**< SECMGR: configure and access request cannot be concurrent */
  332. OI_SECMGR_DEVICE_NOT_TRUSTED = 1405, /**< SECMGR: l2cap access denied - device is not trusted */
  333. OI_SECMGR_DEVICE_ENCRYPT_FAIL = 1407, /**< SECMGR: l2cap access denied - failed to start encryption */
  334. OI_SECMGR_DISCONNECTED_FAIL = 1408, /**< SECMGR: l2cap access denied - disconnected */
  335. OI_SECMGR_ACCESS_PENDING = 1409, /**< SECMGR: l2cap access request is still pending */
  336. OI_SECMGR_PIN_CODE_TOO_SHORT = 1410, /**< SECMGR: Higher-layer process gave us a pin code that is too short */
  337. OI_SECMGR_UNKNOWN_ENCRYPT_VALUE = 1411, /**< SECMGR: got EncryptionChange event, unknown encryption enable value */
  338. OI_SECMGR_INVALID_POLICY = 1412, /**< SECMGR: the specified security policy is not valid for security mode */
  339. OI_SECMGR_AUTHORIZATION_FAILED = 1413, /**< SECMGR: device authorization failed */
  340. OI_SECMGR_ENCRYPTION_FAILED = 1414, /**< SECMGR: device encryption failed */
  341. OI_SECMGR_UNIT_KEY_UNSUPPORTED = 1415, /**< SECMGR: authentication failed due to non-support of unit keys */
  342. OI_SECMGR_NOT_REGISTERED = 1416, /**< SECMGR: required registrations have not yet occurred */
  343. OI_SECMGR_ILLEGAL_WRITE_SSP_MODE = 1417, /**< SECMGR: 2.1 HCI spec does not allow SSP mode to be disabled */
  344. OI_SECMGR_INVALID_SEC_LEVEL = 1418, /**< SECMGR: security level for a service is not a valid value */
  345. OI_SECMGR_INSUFFICIENT_LINK_KEY = 1419, /**< SECMGR: link key type is not sufficient to meet service requirements */
  346. OI_SECMGR_INVALID_KEY_TYPE = 1420, /**< SECMGR: link key type is not a valid value */
  347. OI_SECMGR_SSP_NOT_ENCRYPTED = 1421, /**< SECMGR: ssp required encryption on incoming link */
  348. OI_SECMGR_ORPHAN_EVENT = 1422, /**< SECMGR: some HCI security event unrelated to current processes */
  349. OI_SECMGR_NOT_BONDABLE = 1423, /**< SECMGR: not in bondable mode */
  350. OI_TCS_INVALID_ELEMENT_TYPE = 1602, /**< TCS: element type is invalid */
  351. OI_TCS_INVALID_PACKET = 1603, /**< TCS: packet is invalide */
  352. OI_TCS_CALL_IN_PROGRESS = 1604, /**< TCS: call is in progress */
  353. OI_TCS_NO_CALL_IN_PROGRESS = 1605, /**< TCS: no call in progress */
  354. OI_OBEX_CONTINUE = 1701, /**< OBEX: Continue processing OBEX request */
  355. OI_OBEX_COMMAND_ERROR = 1702, /**< OBEX: An unrecognized OBEX command opcode */
  356. OI_OBEX_CONNECTION_TIMEOUT = 1703, /**< OBEX: Timeout waiting for a response to a request */
  357. OI_OBEX_CONNECT_FAILED = 1704, /**< OBEX: An OBEX connection request did not succeed */
  358. OI_OBEX_DISCONNECT_FAILED = 1705, /**< OBEX: A disconnect failed probably because the connection did not exist */
  359. OI_OBEX_ERROR = 1706, /**< OBEX: Unspecified OBEX error */
  360. OI_OBEX_INCOMPLETE_PACKET = 1707, /**< OBEX: Packet too short or corrupt */
  361. OI_OBEX_LENGTH_REQUIRED = 1708, /**< OBEX: Length header required in OBEX command */
  362. OI_OBEX_NOT_CONNECTED = 1709, /**< OBEX: No connection to OBEX server */
  363. OI_OBEX_NO_MORE_CONNECTIONS = 1710, /**< OBEX: Reached max connections limit */
  364. OI_OBEX_OPERATION_IN_PROGRESS = 1711, /**< OBEX: Another operation is still in progress on a connection */
  365. OI_OBEX_PUT_RESPONSE_ERROR = 1712, /**< OBEX: An error in the response to a PUT command */
  366. OI_OBEX_GET_RESPONSE_ERROR = 1713, /**< OBEX: An error in the response to a GET command */
  367. OI_OBEX_REQUIRED_HEADER_NOT_FOUND = 1714, /**< OBEX: packet was missing a required header */
  368. OI_OBEX_SERVICE_UNAVAILABLE = 1715, /**< OBEX: Unown OBEX target or required service */
  369. OI_OBEX_TOO_MANY_HEADER_BYTES = 1716, /**< OBEX: Headers will not fit in single OBEX packet */
  370. OI_OBEX_UNKNOWN_COMMAND = 1717, /**< OBEX: Unrecognized OBEX command */
  371. OI_OBEX_UNSUPPORTED_VERSION = 1718, /**< OBEX: Version mismatch */
  372. OI_OBEX_CLIENT_ABORTED_COMMAND = 1719, /**< OBEX: server received abort command */
  373. OI_OBEX_BAD_PACKET = 1720, /**< OBEX: Any malformed OBEX packet */
  374. OI_OBEX_BAD_REQUEST = 1721, /**< OBEX: Maps to OBEX response of the same name */
  375. OI_OBEX_OBJECT_OVERFLOW = 1723, /**< OBEX: Too many bytes received. */
  376. OI_OBEX_NOT_FOUND = 1724, /**< OBEX: Maps to obex response of same name */
  377. OI_OBEX_ACCESS_DENIED = 1735, /**< OBEX: Object could not be read or written. */
  378. OI_OBEX_VALUE_NOT_ACCEPTABLE = 1736, /**< OBEX: Value in a command was not in the acceptable range. */
  379. OI_OBEX_PACKET_OVERFLOW = 1737, /**< OBEX: Buffer will not fit in a single OBEX packet. */
  380. OI_OBEX_NO_SUCH_FOLDER = 1738, /**< OBEX: Error returned by a setpath operation. */
  381. OI_OBEX_NAME_REQUIRED = 1739, /**< OBEX: Name must be non-null and non-empty. */
  382. OI_OBEX_PASSWORD_TOO_LONG = 1740, /**< OBEX: Password exceeds implementation imposed length limit. */
  383. OI_OBEX_PRECONDITION_FAILED = 1741, /**< OBEX: response Precondition Failed */
  384. OI_OBEX_UNAUTHORIZED = 1742, /**< OBEX: authentication was not successful. */
  385. OI_OBEX_NOT_IMPLEMENTED = 1743, /**< OBEX: Unimplemented feature. */
  386. OI_OBEX_INVALID_AUTH_DIGEST = 1744, /**< OBEX: An authentication digest was bad. */
  387. OI_OBEX_INVALID_OPERATION = 1745, /**< OBEX: Operation not allowed at this time. */
  388. OI_OBEX_DATABASE_FULL = 1746, /**< OBEX: Sync database full. */
  389. OI_OBEX_DATABASE_LOCKED = 1747, /**< OBEX: Sync database locked. */
  390. OI_OBEX_INTERNAL_SERVER_ERROR = 1748, /**< OBEX: response Internal Server Error */
  391. OI_OBEX_UNSUPPORTED_MEDIA_TYPE = 1749, /**< OBEX: response Unsupported Media Type */
  392. OI_OBEX_PARTIAL_CONTENT = 1750, /**< OBEX: response Partial Content */
  393. OI_OBEX_METHOD_NOT_ALLOWED = 1751, /**< OBEX: response Method Not Allowed */
  394. OI_OBEXSRV_INCOMPLETE_GET = 1752, /**< OBEX: Indicates to a GET handler that the request phase is still in progress */
  395. OI_OBEX_FOLDER_BROWSING_NOT_ALLOWED = 1753, /**< OBEX: Indicates that an FTP server does not allow folder browsing */
  396. OI_OBEX_SERVER_FORCED_DISCONNECT = 1754, /**< OBEX: connection was forcibly terminated by the server */
  397. OI_OBEX_OFS_ERROR = 1755, /**< OBEX: OPP object file system error occurred */
  398. OI_OBEX_FILEOP_ERROR = 1756, /**< OBEX: FTP/PBAP file operation system error occurred */
  399. OI_OBEX_USERID_TOO_LONG = 1757, /**< OBEX: User Id exceeds spec limited length limit. */
  400. OI_HANDSFREE_EVENT_REPORTING_DISABLED = 1801, /**< HANDSFREE: Event reporting disabled */
  401. OI_HANDSFREE_NOT_CONNECTED = 1802, /**< HANDSFREE: Not connected */
  402. OI_HANDSFREE_SERVICE_NOT_STARTED = 1803, /**< HANDSFREE: Cannot connect to handsfree AG if handsfree service not started */
  403. OI_HANDSFREE_AG_SERVICE_NOT_STARTED = 1804, /**< HANDSFREE: Cannot connect to handsfree device if handsfree AG service not started */
  404. OI_HANDSFREE_COMMAND_IN_PROGRESS = 1805, /**< HANDSFREE: Cannot accept a command at this time */
  405. OI_HANDSFREE_AUDIO_ALREADY_CONNECTED = 1806, /**< HANDSFREE: Audio is already connected */
  406. OI_HANDSFREE_AUDIO_NOT_CONNECTED = 1807, /**< HANDSFREE: Audio is not connected */
  407. OI_HANDSFREE_FEATURE_NOT_SUPPORTED = 1808, /**< HANDSFREE: Local or remote feature not supported for requested command */
  408. OI_HEADSET_SERVICE_NOT_STARTED = 1901, /**< HEADSET: Cannot connect to headset AG if headset service not started */
  409. OI_HEADSET_AG_SERVICE_NOT_STARTED = 1902, /**< HEADSET: Cannot connect to headset device if headset AG service not started */
  410. OI_HEADSET_COMMAND_IN_PROGRESS = 1903, /**< HEADSET: Cannot accept a command at this time */
  411. OI_BNEP_INVALID_MTU = 2001, /**< BNEP: The remote device cannot support the minimum BNEP MTU */
  412. OI_BNEP_SETUP_TIMEOUT = 2002, /**< BNEP: The setup request timed out. */
  413. OI_BNEP_SERVICE_NOT_REGISTERED = 2003, /**< BNEP: The requested service was not found. */
  414. OI_BNEP_INVALID_HANDLE = 2004, /**< BNEP: The specified connection handle is not valid. */
  415. OI_BNEP_RESPONSE_TIMEOUT = 2005, /**< BNEP: The timer for receiving a response has expired. */
  416. OI_BNEP_INVALID_CONNECTION = 2006, /**< BNEP: Invalid connection */
  417. OI_BNEP_INVALID_FILTER = 2007, /**< BNEP: The supplied filter was invalid. */
  418. OI_BNEP_CONNECTION_EXISTS = 2008, /**< BNEP: An attempt was made to create a duplicate connection. */
  419. OI_BNEP_NOT_INITIALIZED = 2009, /**< BNEP: Init has not been called */
  420. OI_BNEP_CONNECT_BASE = 2010, /**< BNEP: connection response codes */
  421. OI_BNEP_CONNECT_FAILED_INVALID_DEST_UUID = 2011, /**< BNEP: connect response code Invalid Dest UUID */
  422. OI_BNEP_CONNECT_FAILED_INVALID_SOURCE_UUID = 2012, /**< BNEP: connect response code Invalid Source UUID */
  423. OI_BNEP_CONNECT_FAILED_INVALID_UUID_SIZE = 2013, /**< BNEP: connect response code Invalid UUID Size */
  424. OI_BNEP_CONNECT_FAILED_NOT_ALLOWED = 2014, /**< BNEP: connect response code Not Allowed */
  425. OI_BNEP_FILTER_NET_BASE = 2020, /**< BNEP: filter response codes */
  426. OI_BNEP_FILTER_NET_UNSUPPORTED_REQUEST = 2021, /**< BNEP: filter response code Unsupported Request */
  427. OI_BNEP_FILTER_NET_FAILED_INVALID_PROTOCOL_TYPE = 2022, /**< BNEP: filter response code Invalid Protocol Type */
  428. OI_BNEP_FILTER_NET_FAILED_MAX_LIMIT_REACHED = 2023, /**< BNEP: filter response code Max Limit Reached */
  429. OI_BNEP_FILTER_NET_FAILED_SECURITY = 2024, /**< BNEP: filter response code Security */
  430. OI_BNEP_FILTER_MULTI_BASE = 2030, /**< BNEP: multicast response codes */
  431. OI_BNEP_FILTER_MULTI_UNSUPPORTED_REQUEST = 2031, /**< BNEP: multicast response code Unsupported Request */
  432. OI_BNEP_FILTER_MULTI_FAILED_INVALID_ADDRESS = 2032, /**< BNEP: multicast response code Invalid Address */
  433. OI_BNEP_FILTER_MULTI_FAILED_MAX_LIMIT_REACHED = 2033, /**< BNEP: multicast response code Max Limit Reached */
  434. OI_BNEP_FILTER_MULTI_FAILED_SECURITY = 2034, /**< BNEP: multicast response code Security */
  435. OI_BNEP_LOCAL_DEVICE_MUST_BE_MASTER = 2040, /**< BNEP: Device must be master of the piconet for this function */
  436. OI_BNEP_PACKET_FILTERED_OUT = 2041, /**< BNEP: Packet did not pass current filters */
  437. OI_NETIFC_UP_FAILED = 2101, /**< NETIFC: Could not bring up network interface */
  438. OI_NETIFC_COULD_NOT_CREATE_THREAD = 2102, /**< NETIFC: Network interface could not create a read thread */
  439. OI_NETIFC_INITIALIZATION_FAILED = 2103, /**< NETIFC: Error in network interface initialization */
  440. OI_NETIFC_INTERFACE_ALREADY_UP = 2104, /**< NETIFC: Network interface is already up */
  441. OI_NETIFC_INTERFACE_NOT_UP = 2105, /**< NETIFC: Network interface is not up */
  442. OI_NETIFC_PACKET_TOO_BIG = 2106, /**< NETIFC: The packet is too big */
  443. OI_PAN_ROLE_ALREADY_REGISTERED = 2201, /**< PAN: This PAN role was already registered */
  444. OI_PAN_ROLE_NOT_ALLOWED = 2202, /**< PAN: The PAN role is not currently allowed */
  445. OI_PAN_INCOMPATIBLE_ROLES = 2203, /**< PAN: Only certain local and remote role combinations are permitted */
  446. OI_PAN_INVALID_ROLE = 2204, /**< PAN: Role specified is not one the defined PAN roles */
  447. OI_PAN_CONNECTION_IN_PROGRESS = 2205, /**< PAN: A PAN connection is currently being established */
  448. OI_PAN_USER_ALREADY_CONNECTED = 2206, /**< PAN: PAN user role only allows a single connection */
  449. OI_PAN_DEVICE_CONNECTED = 2207, /**< PAN: A PAN connection already exists to specified device */
  450. OI_CODEC_SBC_NO_SYNCWORD = 2301, /**< CODEC: Couldn't find an SBC SYNCWORD */
  451. OI_CODEC_SBC_NOT_ENOUGH_HEADER_DATA = 2302, /**< CODEC: Not enough data provided to decode an SBC header */
  452. OI_CODEC_SBC_NOT_ENOUGH_BODY_DATA = 2303, /**< CODEC: Decoded the header, but not enough data to contain the rest of the frame */
  453. OI_CODEC_SBC_NOT_ENOUGH_AUDIO_DATA = 2304, /**< CODEC: Not enough audio data for this frame */
  454. OI_CODEC_SBC_CHECKSUM_MISMATCH = 2305, /**< CODEC: The frame header didn't match the checksum */
  455. OI_CODEC_SBC_PARTIAL_DECODE = 2306, /**< CODEC: Decoding was successful, but frame data still remains. Next call will provide audio without consuming input data. */
  456. OI_FIFOQ_QUEUE_NOT_ALIGNED = 2401, /**< FIFOQ: queue must be 32-bit aligned */
  457. OI_FIFOQ_INVALID_Q = 2402, /**< FIFOQ: queue parameter is not a valid queue */
  458. OI_FIFOQ_BUF_TOO_LARGE = 2403, /**< FIFOQ: attempt to queue a buffer which is too large */
  459. OI_FIFOQ_FULL = 2404, /**< FIFOQ: enqueue() failed, queue is full */
  460. OI_FIFOQ_NOT_ALLOCATED = 2405, /**< FIFOQ: Enqueue QBuf() failed, buffer not allocated */
  461. OI_FIFOQ_INVALID_DATA_PTR = 2406, /**< FIFOQ: Enqueue QBuf() failed, data pointer does not match */
  462. OI_HID_HOST_SERVICE_NOT_STARTED = 2601, /**< HID: Cannot connect to a HID device unless HID host is started */
  463. OI_HID_DEVICE_SERVICE_NOT_STARTED = 2602, /**< HID: Cannot connect to a HID host unless HID device is started */
  464. OI_AT_ERROR = 2701, /**< AT: ERROR response */
  465. OI_AT_NO_CARRIER = 2702, /**< AT: NO CARRIER response */
  466. OI_AT_BUSY = 2703, /**< AT: BUSY response */
  467. OI_AT_NO_ANSWER = 2704, /**< AT: NO ANSWER response */
  468. OI_AT_DELAYED = 2705, /**< AT: DELAYED response */
  469. OI_AT_BLACKLISTED = 2706, /**< AT: BLACKLISTED response */
  470. OI_AT_CME_ERROR = 2707, /**< AT: +CME ERROR response */
  471. OI_AT_CMS_ERROR = 2708, /**< AT: +CMS ERROR response */
  472. OI_BLST_CHARACTER_TIMEOUT = 2801, /**< BLST: Timeout expired while waiting for a character from the client. */
  473. OI_BLST_ACKNOWLDGE_TIMEOUT = 2802, /**< BLST: Timeout expired while waiting for event acknowledgment from the client */
  474. OI_BLST_TX_NOT_READY = 2803, /**< BLST: BLST is not ready to send a BHAPI message to the client. */
  475. OI_BLST_TX_BUSY = 2804, /**< BLST: BLST transmit buffer is in use. */
  476. OI_AVDTP_CONNECTION_SEQ_ERROR = 2901, /**< AVDTP: sequencing of signalling/media channel connections broken. */
  477. OI_AVDTP_OUT_OF_RESOURCES = 2902, /**< AVDTP: Tried to allocate too many endpoints or signalling channels. */
  478. OI_PBAP_REPOSITORY_NOT_SET = 3001, /**< PBAP: Phonebook repository must be set for operation to complete. */
  479. OI_PBAP_PHONEBOOK_NOT_SET = 3002, /**< PBAP: Phonebook be set for operation to complete. */
  480. OI_AADP_BAD_ENDPOINT = 3101, /**< AADP: Invalid local endpoint specified */
  481. OI_AADP_BAD_STATE = 3102, /**< AADP: AADP State is not correct for this operation. */
  482. OI_UNICODE_INVALID_SOURCE = 3200, /**< Unicode Conversion: Source string has invalid character encoding. */
  483. OI_UNICODE_SOURCE_EXHAUSTED = 3201, /**< Unicode Conversion: Incomplete Unicode character at end of source buffer. */
  484. OI_UNICODE_DESTINATION_EXHAUSTED = 3202, /**< Unicode Conversion: Destination buffer not large enough to hold resulting Unicode string. */
  485. OI_AVRCP_TOO_MANY_CONNECTIONS = 3300, /**< AVRCP: Exceeded maximum number of simultaneous AVCTP connections. */
  486. OI_AVRCP_NOT_IMPLEMENTED = 3301, /**< AVRCP: The target does not implement the command specified by the opcode and operand. */
  487. OI_AVRCP_REJECTED = 3302, /**< AVRCP: The target cannot respond because of invalid operands in command packet. */
  488. OI_AVRCP_INVALID_RESPONSE = 3303, /**< AVRCP: The controller received the response with invalid parameters */
  489. OI_AVRCP_RESPONSE_PACKET_OVERFLOW = 3304, /**< AVRCP: The response message does not fir in one AVRCP packet (512 bytes), has to be fragmented. */
  490. OI_AVRCP_RESPONSE_INVALID_PDU = 3305, /**< AVRCP: Command rejected: target received a PDU that it did not understand. */
  491. OI_AVRCP_RESPONSE_INVALID_PARAMETER = 3306, /**< AVRCP: Command rejected: target received a PDU with a parameter ID that it did not understand. */
  492. OI_AVRCP_RESPONSE_PARAMETER_NOT_FOUND = 3307, /**< AVRCP: Command rejected: specified parameter not found, sent if the parameter ID is understood, but content is wrong or corrupted.*/
  493. OI_AVRCP_RESPONSE_INTERNAL_ERROR = 3308, /**< AVRCP: Command rejected: target detected other error conditions. */
  494. OI_MAX_BM3_STATUS_VAL, /* Maximum BM3 status code */
  495. /* Status code values reserved for BM3 SDK platform-specific implementations */
  496. OI_STATUS_RESERVED_FOR_BCOT = 9000,
  497. /* Status code values reserved for BHAPI products */
  498. OI_STATUS_RESERVED_FOR_BHAPI = 9200,
  499. /* Status code values reserved for Soundabout products */
  500. OI_STATUS_RESERVED_FOR_SOUNDABOUT = 9400,
  501. /*
  502. * Status code values greater than or equal to this value are reserved for use by applications.
  503. * However, because of differences between compilers, and differences between 16-bit and 32-bit
  504. * platforms custom status codes should be in the 16-bit range, so status codes can range from 0
  505. * to 65534, inclusive (65535 is reserved)
  506. */
  507. OI_STATUS_RESERVED_FOR_APPS = 10000,
  508. OI_STATUS_NONE = 0xffff /**< Special status code to indicate that there is no status. (Only to be used for special cases involving OI_SLOG_ERROR() and OI_SLOG_WARNING().) */
  509. } OI_STATUS;
  510. /* Remeber to update the #define below when new reserved blocks are added to
  511. * the list above. */
  512. #define OI_NUM_RESERVED_STATUS_BLOCKS 4 /**< Number of status code blocks reserved, including user apps */
  513. /**
  514. * Test for success
  515. */
  516. #define OI_SUCCESS(x) ((x) == OI_OK)
  517. /*****************************************************************************/
  518. #ifdef __cplusplus
  519. }
  520. #endif
  521. /**@}*/
  522. #endif /* _OI_STATUS_H */