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