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