15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 2003-2012 Broadcom Corporation
45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  you may not use this file except in compliance with the License.
75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  You may obtain a copy of the License at:
85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  See the License for the specific language governing permissions and
155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  limitations under the License.
165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef OBX_API_H
195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_API_H
205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_target.h"
215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_types.h"
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "l2c_api.h"
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* 18 is 7/OBX_CONN_HDRS_OFFSET + 5/conn id, 2/ssn, 2/srm 2/srm_param */
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HDR_OFFSET              (18 + L2CAP_MIN_OFFSET)
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_TRIPLET             3
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MIN_MTU                 255 /* per IrOBEX spec */
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_MTU                 (OBX_LRG_DATA_POOL_SIZE - BT_HDR_SIZE - OBX_HDR_OFFSET)
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_CONN_ID_SIZE            4
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_PKT_LEN_SIZE            2
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_CONN_HDRS_OFFSET        7
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_HDRS_OFFSET        3
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_DISCON_HDRS_OFFSET      3
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_PUT_HDRS_OFFSET         3
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_GET_HDRS_OFFSET         3
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SETPATH_REQ_HDRS_OFFSET 5
405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_ABORT_HDRS_OFFSET       3
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_ACTION_HDRS_OFFSET      3
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RESPONSE_HDRS_OFFSET    3
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* this is not needed if OBX_HDR_OFFSET is 18+ */
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_CONN_HDR_EXTRA      8 /* 5/conn id, 2/ssn, 2/srm 2/srm_param - (5/setpath + 5/conn_id - 7/conn) */
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* offset for header functions to access fields */
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_CONNECT_MTU_OFFSET      5
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SETPATH_FLAG_OFFSET     3
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_NUM_AUTH_TRIPLET    3
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_UNICODE_SIZE            2 /* sizeof(UINT16) */
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_INVALID_HDR_LEN         0xFFFF
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MIN_NONCE_SIZE          4   /* fixed size per IrOBEX spec */
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_NONCE_SIZE              16  /* fixed size per IrOBEX spec */
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_DIGEST_SIZE             16  /* fixed size per IrOBEX spec */
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_AUTH_KEY_SIZE       16
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_AUTH_USER_SIZE      20
615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_ID_SIZE         16  /* fixed size per IrOBEX spec */
625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_INFO_SIZE       32  /* OBX_SESSION_ID_SIZE + 4(local nonce) + 4 (connection id) + 4 (timeout) + 2(mtu) + 1(state) + 1(srm)  */
635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_INFO_NONCE_IDX  16  /* The index to the (local nonce) in session info */
645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_INFO_ID_IDX     20  /* The index to the (connection id) in session info */
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_INFO_TO_IDX     24  /* The index to the (timeout) in session info */
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_INFO_MTU_IDX    28  /* The index to peer MTU in session info */
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_INFO_ST_IDX     30  /* The index to sr/cl state in session info */
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESSION_INFO_SRM_IDX    31  /* The index to srm in session info */
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TIMEOUT_SIZE            4
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* handle related definitions */
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_SHIFT              8
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_ENC_SESS_HANDLE(oh, os) (((os)<<OBX_SESS_SHIFT)|(oh))
745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HANDLE_MASK             0xFF
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_MASK               0x7F00
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_DEC_HANDLE(os)          ((os) & OBX_HANDLE_MASK)
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_DEC_SESS_IND(os)        ((os & OBX_SESS_MASK)>>OBX_SESS_SHIFT)
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Return values for API functions */
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SUCCESS,        /* Status is successful. */
835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_BAD_PARAMS,     /* Bad parameter(s). */
845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_NO_RESOURCES,   /* No resources (GKI buffers, control block) */
855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_BAD_HANDLE      /* The OBEX handle is not valid. */
865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tOBX_STATUS;
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tOBX_HANDLE;
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HANDLE_NULL             0
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PT_PUT,     /* Regular Put request */
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PT_DELETE,  /* Delete request - a Put request with NO Body or End-of-Body header. */
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PT_CREATE   /* Create-Empty request - a Put request with an empty End-of-Body header. */
995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8   tOBX_PUT_TYPE;
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SetPath Request Flags - the following definitions can be ORed if both flags are wanted */
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SPF_BACKUP      0x01    /* Backup a level before applying name(equivalent to ../) */
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SPF_NO_CREATE   0x02    /* Don't create directory if it does not exist, return an error instead. */
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8   tOBX_SETPATH_FLAG;
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Authentication Challenge Options */
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_AO_NONE         0x00    /* If this is used in OBX_StartServer and the authenticate
1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     * flag is TRUE, the optional Challenge Information (tag 0x01)
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     * will not be sent. */
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_AO_USR_ID       0x01    /* Set this bit to make the client respond with the user ID. */
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tOBX_AUTH_OPT;
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* CHARSET definition for Authentication Challenge Realm */
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_ASCII       0x00    /* ASCII */
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_1      0x01    /* ISO-8859-1 */
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_2      0x02    /* ISO-8859-2 */
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_3      0x03    /* ISO-8859-3 */
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_4      0x04    /* ISO-8859-4 */
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_5      0x05    /* ISO-8859-5 */
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_6      0x06    /* ISO-8859-6 */
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_7      0x07    /* ISO-8859-7 */
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_8      0x08    /* ISO-8859-8 */
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_8859_9      0x09    /* ISO-8859-9 */
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RCS_UNICODE     0xFF    /* Unicode */
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tOBX_CHARSET;
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               ssn;        /* session sequence number */
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             final;      /* TRUE, if this is the final packet of this PUT transaction. */
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_PUT_TYPE       type;       /* The type of PUT request. */
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_PUT_EVT;
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               ssn;        /* session sequence number */
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             final;      /* TRUE, if this is the final packet of this GET transaction. */
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_GET_EVT;
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               ssn;        /* session sequence number */
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             peer_addr;  /* The peer Bluetooth Address. */
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16              mtu;        /* The peer MTU. This element is associated with OBX_CONNECT_REQ_EVT and OBX_CONNECT_RSP_EVT. */
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_HANDLE         handle;     /* the OBX handle returned by OBX_StartServer(), OBX_CreateSession() and OBX_ConnectReq() */
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             no_rsp;     /* TRUE, when the event is generated as a part of RESUME SESSION */
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_CONN_EVT;
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Session Opcode Definitions: */
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_OP_CREATE              0x00 /* Create Session */
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_OP_CLOSE               0x01 /* Close Session */
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_OP_SUSPEND             0x02 /* Suspend Session */
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_OP_RESUME              0x03 /* Resume Session */
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_OP_SET_TIME            0x04 /* Set Timeout */
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SESS_OP_TRANSPORT           0xFF /* transport dropped */
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8   tOBX_SESS_OP;
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Session States Definitions for external use: */
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESS_NONE,       /* 0x00    session is not engaged/closed */
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESS_ACTIVE,     /* 0x01    session is active. */
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESS_SUSPENDED,  /* 0x02    session is suspended. */
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESS_EXT_MAX
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tOBX_SESS_ST;
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               ssn;            /* session sequence number */
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_SESS_OP        sess_op;        /* the session op code */
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_SESS_ST        sess_st;        /* the session state */
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             peer_addr;      /* The peer Bluetooth Address. */
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               *p_sess_info;   /* The session ID and the local nonce for a reliable session, a reference to the location in OBEX control block or NULL */
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              timeout;        /* The number of seconds remaining in suspend. 0xffff if infinite. */
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              obj_offset;     /* The object offset for resume session. */
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               nssn;           /* tne next session sequence number the server expects */
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_SESS_EVT;
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_ACT_COPY        0x00    /* Copy object */
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_ACT_MOVE        0x01    /* Move/rename object */
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_ACT_PERMISSION  0x02    /* Set object permission */
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tOBX_ACTION;
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               ssn;        /* session sequence number */
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_ACTION         action;     /* The action opcode. */
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_ACT_EVT;
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               ssn;        /* session sequence number */
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_SETPATH_FLAG   flag;       /* The set path flags. */
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_SETPATH_EVT;
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* permission flags */
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_PERMISSION_READ         0x01
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_PERMISSION_WRITE        0x02
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_PERMISSION_DELETE       0x04
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_PERMISSION_MODIFY       0x80
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               ssn;        /* session sequence number */
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_CONN_EVT       conn;       /* This element is associated with OBX_CONNECT_REQ_EVT and OBX_CONNECT_RSP_EVT. */
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_SESS_EVT       sess;       /* This element is associated with OBX_SESSION_RSP_EVT and OBX_SESSION_REQ_EVT. */
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_PUT_EVT        put;        /* This element is associated with OBX_PUT_REQ_EVT. */
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_SETPATH_EVT    sp;         /* This element is associated with OBX_SETPATH_REQ_EVT. */
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_ACT_EVT        action;     /* This element is associated with OBX_ACTION_REQ_EVT */
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_GET_EVT        get;        /* This element is associated with OBX_GET_REQ_EVT. TRUE, if this is the final packet that contains the OBEX headers for this GET request. */
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_EVT_PARAM;
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_NULL_EVT,
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* server events */
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_CONNECT_REQ_EVT,    /* param = packet MTU */
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESSION_REQ_EVT,    /* A Crease Session or Resume Session request is received by the server. Call OBX_SessionRsp(). */
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_DISCONNECT_REQ_EVT,
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PUT_REQ_EVT,        /* could have param indicate delete or create? */
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_GET_REQ_EVT,
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SETPATH_REQ_EVT,    /* param = flags */
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ABORT_REQ_EVT,
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ACTION_REQ_EVT,     /* An Action request is received by the server. Call OBX_ActionRsp(). */
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* client events */
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_CONNECT_RSP_EVT,    /* param = packet MTU */
2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESSION_RSP_EVT,    /* A response for Create Session or Resume Session is received by the client. The client needs to remember the session id. The session id is to be used in calling OBX_ResumeSession, if the current session is terminated prematurely. */
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_DISCONNECT_RSP_EVT,
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PUT_RSP_EVT,
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_GET_RSP_EVT,
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SETPATH_RSP_EVT,
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ABORT_RSP_EVT,
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ACTION_RSP_EVT,     /* An Action response is received by the client. */
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* common events */
2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESSION_INFO_EVT,   /* the session information event to resume the session. */
2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_CLOSE_IND_EVT,      /* when transport goes down; p_pkt = NULL; no response needed */
2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_TIMEOUT_EVT,        /* param = tOBX_EVENT */
2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PASSWORD_EVT
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tOBX_EVENT;
2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* this is used by the protocol display function only*/
2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_NULL_DISP,
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* server events */
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_CONNECT_REQ_DISP,
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESSION_REQ_DISP,
2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_DISCONNECT_REQ_DISP,
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PUT_REQ_DISP,
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_GET_REQ_DISP,
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SETPATH_REQ_DISP,
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ABORT_REQ_DISP,
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ACTION_REQ_DISP,
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* client events */
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_CONNECT_RSP_DISP,
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SESSION_RSP_DISP,
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_DISCONNECT_RSP_DISP,
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PUT_RSP_DISP,
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_GET_RSP_DISP,
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_SETPATH_RSP_DISP,
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ABORT_RSP_DISP,
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_ACTION_RSP_DISP,
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* common events */
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_CLOSE_IND_DISP,
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_TIMEOUT_DISP,
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    OBX_PASSWORD_DISP
2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_DISP_IS_RECV    0x80
2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_DISP_TYPE_MASK  0x7F
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_EVT         OBX_PASSWORD_EVT
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_OFFSET_IND  OBX_ABORT_RSP_EVT /* This is used to access obx_hdr_start_offset */
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Define Miscellaneous Constants
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_VERSION                     0x10    /* Version 1.0 */
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_CONN_FLAGS                  0       /* Connect flags per IrOBEX spec */
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_SETPATH_CONST               0       /* SetPath Request constants per IrOBEX spec */
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_INVALID_CONN_ID             0xFFFFFFFF  /* invalid connection ID per IrOBEX spec */
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_INFINITE_TIMEOUT            0xFFFFFFFF
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Header Identifier Data Type Constants */
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TYPE_MASK                0xC0    /* This mask get the encoding (data type) of the header ID. */
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_ID_MASK                  0x3F    /* This mask gets the meaning of the header ID. */
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TYPE_UNIC                0x00    /* Null terminated Unicode text */
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TYPE_ARRAY               0x40    /* Unstructured octet array (byte sequence) */
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TYPE_BYTE                0x80    /* 8-bit integer */
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TYPE_INT                 0xC0    /* 32-bit integer */
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Define OBEX Header Identifiers
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_NULL                     0
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_COUNT                    0xC0
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_NAME                     0x01
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TYPE                     0x42
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_LENGTH                   0xC3
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TIME                     0x44
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_DESCRIPTION              0x05
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_TARGET                   0x46
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_HTTP                     0x47
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_BODY                     0x48
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_BODY_END                 0x49
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_WHO                      0x4A
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_CONN_ID                  0xCB
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_APP_PARMS                0x4C
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_CHALLENGE                0x4D
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_AUTH_RSP                 0x4E
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_CREATOR_ID               0xCF
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_WAN_UUID                 0x50
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_OBJ_CLASS                0x51
3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_SESSION_PARAM            0x52
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_SESSION_SN               0x93
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_ACTION_ID                0x94
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_DEST_NAME                0x15
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_PERMISSION               0xD6
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_SRM                      0x97
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_SRM_PARAM                0x98
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_LO_USER                  0x30
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HI_HI_USER                  0x3F
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Obex Header Values for the SRM header */
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HV_SRM_DISABLE  0x00    /* SRM header value - disable */
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HV_SRM_ENABLE   0x01    /* SRM header value - enable */
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HV_SRM_IND      0x02    /* SRM header value - indicate support */
3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Obex Header Values for the SRM Parameter header */
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HV_SRM_PARAM_MORE   0x00    /* SRM Param header value - request additional packet */
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HV_SRM_PARAM_WAIT   0x01    /* SRM Param header value - wait for next req/rsp */
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_HV_SRM_PARAM_COMBO  0x02    /* SRM Param header value - next and wait */
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TAG_SESS_PARAM_ADDR         0x00
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TAG_SESS_PARAM_NONCE        0x01
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TAG_SESS_PARAM_SESS_ID      0x02
3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TAG_SESS_PARAM_NSEQNUM      0x03
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TAG_SESS_PARAM_TOUT         0x04
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TAG_SESS_PARAM_SESS_OP      0x05
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_TAG_SESS_PARAM_OBJ_OFF      0x06
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_SESS_PARAM_TRIP         7   /* max number of TLV for session operations */
3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_LEN_SESS_PARAM_SESS_OP      1
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_LEN_SESS_PARAM_OBJ_OFF      4   /* this value varies, so it needs to be verified on the receiving side */
3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Define OBEX Request Codes
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_CONNECT                         0x00    /* need to set final bit */
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_DISCONNECT                      0x01    /* need to set final bit */
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_PUT                             0x02
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_GET                             0x03
3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_SETPATH                         0x05    /* need to set final bit */
3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_ACTION                          0x06
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_SESSION                         0x07    /* need to set final bit */
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REQ_ABORT                           0x7F    /* need to set final bit */
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_FINAL                               0x80
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* OBEX response code as defined in IrOBEX spec. version 1.2 */
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_DEFAULT                         0x00
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_FAILED                          0x08    /* OBEX failed - not from spec */
3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_CONTINUE                        0x10    /* Continue */
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_OK                              0x20    /* OK, Success */
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_CREATED                         0x21    /* Created */
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_ACCEPTED                        0x22    /* Accepted */
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_NON_AUTH_INFO                   0x23    /* Non-Authoritative Information */
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_NO_CONTENT                      0x24    /* No Content */
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_RESET_CONTENT                   0x25    /* Reset Content */
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_PART_CONTENT                    0x26    /* Partial Content */
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_MULTI_CHOICES                   0x30    /* Multiple Choices */
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_MVD_PERM                        0x31    /* Moved Permanently */
3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_MVD_TEMP                        0x32    /* Moved temporarily */
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_SEE_OTHER                       0x33    /* See Other */
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_NOT_MODIFIED                    0x34    /* Not modified */
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_USE_PROXY                       0x35    /* Use Proxy */
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_BAD_REQUEST                     0x40    /* Bad Request - server couldn't understand request */
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_UNAUTHORIZED                    0x41    /* Unauthorized */
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_PAYMENT_REQD                    0x42    /* Payment required */
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_FORBIDDEN                       0x43    /* Forbidden - operation is understood but refused */
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_NOT_FOUND                       0x44    /* Not Found */
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_NOT_ALLOWED                     0x45    /* Method not allowed */
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_NOT_ACCEPTABLE                  0x46    /* Not Acceptable */
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_PROXY_AUTH_REQD                 0x47    /* Proxy Authentication required */
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_REQUEST_TIMEOUT                 0x48    /* Request Time Out */
3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_CONFLICT                        0x49    /* Conflict */
3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_GONE                            0x4A    /* Gone */
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_LENGTH_REQD                     0x4B    /* Length Required */
3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_PRECONDTN_FAILED                0x4C    /* Precondition failed */
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_REQ_ENT_2_LARGE                 0x4D    /* Requested entity too large */
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_REQ_URL_2_LARGE                 0x4E    /* Request URL too large */
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_UNSUPTD_TYPE                    0x4F    /* Unsupported media type */
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_INTRNL_SRVR_ERR                 0x50    /* Internal Server Error */
3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_NOT_IMPLEMENTED                 0x51    /* Not Implemented */
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_BAD_GATEWAY                     0x52    /* Bad Gateway */
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_SERVICE_UNAVL                   0x53    /* Service Unavailable */
4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_GATEWAY_TIMEOUT                 0x54    /* Gateway Timeout */
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_HTTP_VER_NOT_SUPTD              0x55    /* HTTP version not supported */
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_DATABASE_FULL                   0x60    /* Database Full */
4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_RSP_DATABASE_LOCKED                 0x61    /* Database Locked */
4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_MAX_OK_RSP      OBX_RSP_PART_CONTENT
4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8   tOBX_RSP_CODE;
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* tags for authentication triplet */
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_NONCE_CHLNG_TAG         0
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_OPTIONS_CHLNG_TAG       1
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_REALM_CHLNG_TAG         2
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_DIGEST_RSP_TAG          0
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_USERID_RSP_TAG          1
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define OBX_NONCE_RSP_TAG           2
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   tag;
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   len;
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   *p_array;
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_TRIPLET;
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Server Callback type: */
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tOBX_SR_CBACK) (tOBX_HANDLE shandle, tOBX_EVENT event, tOBX_EVT_PARAM param, BT_HDR *p_pkt);
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Client Callback type: */
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tOBX_CL_CBACK) (tOBX_HANDLE handle, tOBX_EVENT event, UINT8 rsp_code, tOBX_EVT_PARAM param, BT_HDR *p_pkt);
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16  len;                        /* Length of target header. */
4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   target[OBX_MAX_TARGET_LEN]; /* The byte sequence that describes the target header. */
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_TARGET;
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_TARGET     *p_target;
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tOBX_SR_CBACK   *p_cback;
4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16          mtu;
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           scn;            /* The RFCOMM SCN number that this server listens for incoming requests. 0, if do not wish to listen to connection from RFCOMM. */
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         authenticate;
4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           auth_option;
4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           realm_charset;
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           *p_realm;
4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           realm_len;
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           max_sessions;
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         get_nonf;       /* report GET non-final request event. If FALSE, GET response is sent automatically */
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16          psm;            /* The L2CAP PSM number that this server listens for incoming requests. 0, if do not wish to listen to connection from L2CAP. */
4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32          nonce;          /* This is converted to UINT8[16] internally before adding to the OBEX header. This value is copied to the server control block and is increased after each use. 0, if only legacy OBEX (unreliable) session is desired. */
4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         srm;            /* TRUE, to support single response mode. */
4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           max_suspend;    /* Max number of suspended session. must be less than OBX_MAX_SUSPEND_SESSIONS. ignored, if nonce is 0 */
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tOBX_StartParams;
4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  External Function Declarations
4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus
4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C"
4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_Init
4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to initialize the control block for this
4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              layer. It must be called before accessing any other of its API
4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              functions.  It is typically called once during the start up of
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              the stack.
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      void.
4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern void OBX_Init(void);
4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         OBX_SetTraceLevel
4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function sets the debug trace level for OBX.
4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  If 0xff is passed, the current trace level is returned.
4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      level:  The level to set the OBX tracing to:
4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      0xff-returns the current setting.
4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      0-turns off tracing.
4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 1-Errors.
4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 2-Warnings.
4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 3-APIs.
4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 4-Events.
5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 5-Debug.
5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          The new trace level or current trace level if
5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the input parameter is 0xff.
5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT8 OBX_SetTraceLevel (UINT8 level);
5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_HandleToMtu
5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  Given an OBEX handle, return the associated peer MTU.
5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      MTU.
5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT16 OBX_HandleToMtu(tOBX_HANDLE handle);
5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Server API's: */
5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_StartServer
5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is to register a server entity to OBEX.
5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not have resources.
5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_StartServer(tOBX_StartParams *p_params, tOBX_HANDLE *p_handle);
5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_StopServer
5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is to stop this OBEX server from receiving any
5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              more incoming requests.
5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_StopServer(tOBX_HANDLE handle);
5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddSuspendedSession
5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is to add the session information for a previously
5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**				suspended reliable session to the server control block
5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_AddSuspendedSession(tOBX_HANDLE shandle, BD_ADDR peer_addr, UINT8 *p_sess_info,
5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                   UINT32 timeout, UINT8 ssn, UINT32 offset);
5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ConnectRsp
5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to send the response to a Connect
5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Request from an OBEX client.
5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_ConnectRsp(tOBX_HANDLE shandle, UINT8 rsp_code, BT_HDR *p_pkt);
5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_SessionRsp
5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to respond to a request to create a reliable session.
5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_SessionRsp(tOBX_HANDLE shandle, UINT8 rsp_code,
5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                          UINT8 ssn, UINT32 offset, BT_HDR *p_pkt);
5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_SetPathRsp
5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to send the response to a Set Path
5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Request from an OBEX client.
5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_SetPathRsp(tOBX_HANDLE shandle, UINT8 rsp_code, BT_HDR *p_pkt);
5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_PutRsp
6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to send the response to a Put
6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Request from an OBEX client.
6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_PutRsp(tOBX_HANDLE shandle, UINT8 rsp_code, BT_HDR *p_pkt);
6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_GetRsp
6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to send the response to a Get
6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Request from an OBEX client.
6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_GetRsp(tOBX_HANDLE shandle, UINT8 rsp_code, BT_HDR *p_pkt);
6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AbortRsp
6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to send the response to an Abort
6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Request from an OBEX client.
6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_AbortRsp(tOBX_HANDLE shandle, UINT8 rsp_code, BT_HDR *p_pkt);
6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ActionRsp
6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to respond to an Action command Request
6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              from an OBEX client.
6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_ActionRsp(tOBX_HANDLE shandle, UINT8 rsp_code, BT_HDR *p_pkt);
6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_DisconnectRsp
6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to send the response to a Disconnect
6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Request from an OBEX client.
6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              This function can also be used to force close the transport
6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to a connected client.
6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_DisconnectRsp(tOBX_HANDLE shandle, UINT8 rsp_code, BT_HDR *p_pkt);
6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_Password
6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to respond to an OBX_PASSWORD_EVT event.
6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not resources
6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_Password(tOBX_HANDLE shandle, UINT8 *p_password, UINT8 password_len,
6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                        UINT8 *p_userid, UINT8 userid_len);
6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_GetPeerAddr
6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to learn the Bluetooth address of the
6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              connected device.
6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      L2CAP channel ID.
6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT16 OBX_GetPeerAddr(tOBX_HANDLE shandle, BD_ADDR bd_addr);
6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_GetPortHandle
6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the RFCOMM port handle for the obex connection.
6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if no existing connection.
6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_GetPortHandle(tOBX_HANDLE handle, UINT16 *port_handle);
7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Client API's: */
7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ConnectReq
7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function registers a client entity to OBEX and sends a
7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              CONNECT request to the server specified by the API parameters.
7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not resources
7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_ConnectReq(BD_ADDR bd_addr, UINT8 scn, UINT16 mtu,
7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                          tOBX_CL_CBACK *p_cback, tOBX_HANDLE *p_handle, BT_HDR *p_pkt);
7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AllocSession
7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function registers a client entity to OBEX.
7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              If p_session_id is not NULL, it tries to find an suspended session
7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  with matching session_id.
7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              If scn is not 0, it allocates a control block for this new session.
7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Otherwise, it allocates a control block for the given PSM.
7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              The associated virtual PSM assigned by L2CAP is returned in p_psm
7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              The allocated OBEX handle is returned in p_handle.
7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not resources
7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_AllocSession (UINT8 *p_session_info, UINT8 scn, UINT16 *p_psm,
7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                              tOBX_CL_CBACK *p_cback, tOBX_HANDLE *p_handle);
7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_CreateSession
7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function registers a client entity to OBEX.
7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              It may send a CreateSession request and wait for CreateSession response.
7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              It sends a CONNECT request to the server specified by the API parameters.
7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not resources
7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_CreateSession (BD_ADDR bd_addr, UINT16 mtu, BOOLEAN srm, UINT32 nonce,
7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                              tOBX_HANDLE handle, BT_HDR *p_pkt);
7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ResumeSession
7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function registers a client entity to OBEX and resumes
7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              a previously interrupted reliable session.
7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not resources
7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_ResumeSession (BD_ADDR bd_addr, UINT8 ssn, UINT32 offset, tOBX_HANDLE handle);
7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_SessionReq
7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is used to Suspend, Resume, or Close a session.
7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              For Resume: this function registers a client entity to OBEX and resumes
7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              a previously interrupted reliable session.
7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not resources
7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_SessionReq (tOBX_HANDLE handle, tOBX_SESS_OP opcode, UINT32 timeout);
7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_SetPathReq
7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function sends a Set Path request to the connected server.
7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_SetPathReq(tOBX_HANDLE handle, UINT8 flags, BT_HDR *p_pkt);
7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_PutReq
7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function sends a Put request to the connected server.
7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_PutReq(tOBX_HANDLE handle, BOOLEAN final, BT_HDR *p_pkt);
8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_GetReq
8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function sends a Get request to the connected server.
8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_GetReq(tOBX_HANDLE handle, BOOLEAN final, BT_HDR *p_pkt);
8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AbortReq
8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function sends an Abort request to the connected server.
8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_AbortReq(tOBX_HANDLE handle, BT_HDR *p_pkt);
8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_DisconnectReq
8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function sends a Disconnect request to the connected server.
8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_DisconnectReq(tOBX_HANDLE handle, BT_HDR *p_pkt);
8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ActionReq
8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function sends a Action request to the connected server.
8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              The Name Header and DestName Header must be in p_pkt for
8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the Copy and Move Object action.
8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              The Name header and Permission Header must be in p_pkt for
8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the Set Object Permission action.
8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_BAD_HANDLE, if the handle is not valid.
8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_ActionReq(tOBX_HANDLE handle, tOBX_ACTION action_id, BT_HDR *p_pkt);
8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AuthResponse
8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to respond to an OBX_PASSWORD_EVT event.
8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_SUCCESS, if successful.
8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_NO_RESOURCES, if OBX does not resources
8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern tOBX_STATUS OBX_AuthResponse(tOBX_HANDLE handle,
8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                            UINT8 *p_password, UINT8 password_len,
8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                            UINT8 *p_userid, UINT8 userid_len,
8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                            BOOLEAN authenticate);
8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_HdrInit
8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to initialize an OBEX packet. This
8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              function takes a GKI buffer and sets the offset in BT_HDR as
8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX_HDR_OFFSET, the len as 0. The layer_specific is set to the
8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              length still available. This function compares the given
8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              (pkt_size - sizeof(BT_HDR)) with the peer MTU to get the lesser
8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              of the two and set the layer_specific to
8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              (lesser_size - OBEX_HDR_OFFSET).
8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              If composing a header for the CONNECT request (there is no
8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              client handle yet), use OBX_HANDLE_NULL as the handle.
8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      BT_HDR *.
8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BT_HDR * OBX_HdrInit(tOBX_HANDLE handle, UINT16 pkt_size);
8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddNameHdr
8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Name header
8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddNameHdr(BT_HDR *p_pkt, UINT16 *p_name, UINT16 len);
9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_CharToWchar
9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to convert ASCII to Unicode (UINT16).
9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      the length.
9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT16 OBX_CharToWchar (UINT16 *w_str, char* a_str, UINT16 w_size);
9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddAsciiNameHdr
9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Name header
9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddAsciiNameHdr(BT_HDR *p_pkt, char *p_name);
9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddTypeHdr
9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Type header
9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddTypeHdr(BT_HDR *p_pkt, char *p_type);
9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddLengthHdr
9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Length header to an OBEX
9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              packet. The Length header describes the total length in bytes of
9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              the object.
9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddLengthHdr(BT_HDR *p_pkt, UINT32 len);
9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddTimeHdr
9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Time header
9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddTimeHdr(BT_HDR *p_pkt, char *p_time);
9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddDescrHdr
9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Description header
9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddDescrHdr(BT_HDR *p_pkt, UINT16 *p_descr, UINT16 len);
9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddAsciiDescrHdr
9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Description header
9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddAsciiDescrHdr(BT_HDR *p_pkt, char *p_descr);
9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddTargetHdr
9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Target header to an OBEX
9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              packet. This header is most commonly used in Connect packets.
10005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              NOTE: The target header must be the first header in an OBEX message.
10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
10045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
10055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
10075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddTargetHdr(BT_HDR *p_pkt, UINT8 *p_target, UINT16 len);
10085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddHttpHdr
10125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX HTTP header
10145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
10185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
10205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddHttpHdr(BT_HDR *p_pkt, UINT8 *p_http, UINT16 len);
10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddBodyHdr
10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX body header
10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
10285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              NOTE: The body header must be the last header in an OBEX message.
10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
10325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
10335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddBodyHdr(BT_HDR *p_pkt, UINT8 *p_body, UINT16 len, BOOLEAN end);
10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Alternate Body header functions: for non-blocking scenario */
10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddBodyStart
10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the address to the beginning of
10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              the byte sequence for an OBEX body header in an OBEX packet.
10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      The address to add body content.
10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
10485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT8 *OBX_AddBodyStart(BT_HDR *p_pkt, UINT16 *p_len);
10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
10515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddBodyEnd
10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add the HI and the length of HV of an
10555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX body header to an OBEX packet. If end is TRUE, HI is
10565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_HI_BODY_END. If FALSE, HI is OBX_HI_BODY. It is assumed that
10575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              the actual value of the body has been copied into the OBEX packet.
10585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      void
10605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
10625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern void OBX_AddBodyEnd(BT_HDR *p_pkt, UINT8 *p, UINT16 len, BOOLEAN end);
10635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddWhoHdr
10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Who header to an OBEX
10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              packet.
10705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Note:        Who header is typically used in an OBEX CONNECT response packet
10725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to indicate the UUID of the service that has accepted the
10735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              directed connection. If the server calls OBX_StartServer() with
10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              specified target header, this OBEX implementation automatically
10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              adds this WHO header to the CONNECT response packet. If
10765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBX_StartServer() is called with target header length as 0, the
10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX API user is responsible to add the WHO header.
10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddWhoHdr(BT_HDR *p_pkt, UINT8 *p_who, UINT16 len);
10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
10865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddAppParamHdr
10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Application Parameter
10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              header to an OBEX packet. This header is used by the application
10915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              layer above OBEX to convey application specific information.
10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddAppParamHdr(BT_HDR *p_pkt, tOBX_TRIPLET *p_triplet, UINT8 num);
10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddDestNameHdr
11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX DestName header
11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
11085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddDestNameHdr(BT_HDR *p_pkt, UINT16 *p_dest, UINT16 len);
11115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddAsciiDestNameHdr
11155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX DestName header
11175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
11185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
11205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
11215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddAsciiDestNameHdr(BT_HDR *p_pkt, char *p_descr);
11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddPermissionHdr
11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Permission header to an OBEX
11305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              packet.
11315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              bit 0 is set for read permission
11325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              bit 1 is set for write permission
11335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              bit 2 is set for delete permission
11345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              bit 7 is set for modify permission
11355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddPermissionHdr(BT_HDR *p_pkt, UINT8 user, UINT8 group, UINT8 other);
11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_Add1ByteHdr
11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add a header with type as UINT8
11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_Add1ByteHdr(BT_HDR *p_pkt, UINT8 id, UINT8 data);
11545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_Add4ByteHdr
11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add a header with type as UINT32
11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
11645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_Add4ByteHdr(BT_HDR *p_pkt, UINT8 id, UINT32 data);
11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddByteStrStart
11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the address to the beginning of
11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              the byte sequence for an OBEX header in an OBEX packet.
11745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      The address to add the byte sequence.
11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT8 *OBX_AddByteStrStart(BT_HDR *p_pkt, UINT16 *p_len);
11795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddByteStrHdr
11835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add a header with type as byte sequence
11855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
11865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
11885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
11895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
11915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddByteStrHdr(BT_HDR *p_pkt, UINT8 id, UINT8 *p_data, UINT16 len);
11925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
11945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddUnicodeHdr
11965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add a header with type as Unicode string
11985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
11995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
12015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
12025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddUnicodeHdr(BT_HDR *p_pkt, UINT8 id, UINT16 *p_data, UINT16 len);
12055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
12075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddTriplet
12095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add a header with type as byte sequence
12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Note:        The byte sequence uses a Tag-Length-Value encoding scheme
12145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              These headers include: Application Parameters header
12155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                     Authenticate Challenge header
12165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                     Authenticate Response header
12175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
12195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
12205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddTriplet(BT_HDR *p_pkt, UINT8 id, tOBX_TRIPLET *p_triplet, UINT8 num);
12235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
12255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_CheckHdr
12275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to check if the given OBEX packet
12295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              contains the specified header.
12305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      NULL, if the header is not in the OBEX packet.
12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              The pointer to the specified header beginning from HI.
12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT8 * OBX_CheckHdr(BT_HDR *p_pkt, UINT8 id);
12365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
12385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadNumHdrs
12405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to check the number of headers in the
12425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet
12435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      number of headers.
12455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT8 OBX_ReadNumHdrs(BT_HDR *p_pkt, UINT8 *p_num_body);
12485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
12505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadHdrLen
12525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to check the length of the specified
12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              header in the given OBEX packet.
12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      OBX_INVALID_HDR_LEN, if the header is not in the OBEX packet.
12575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Otherwise the actual length of the header.
12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT16 OBX_ReadHdrLen(BT_HDR *p_pkt, UINT8 id);
12615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
12635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadNameHdr
12655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Name Header in the given
12675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet.
12685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
12705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
12715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadNameHdr(BT_HDR *p_pkt, UINT16 *p_name, UINT16 *p_len);
12745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
12765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_WcharToChar
12785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to convert Unicode (UINT16) to ASCII.
12805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      void.
12825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern void OBX_WcharToChar (char *a_str, UINT16* w_str, UINT16 a_size) ;
12855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
12875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadAsciiNameHdr
12895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Name Header in the given
12915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet. If Name header exists in the given OBEX packet,
12925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              it is converted to ASCII format and copied into p_name.
12935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
12955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
12965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
12985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadAsciiNameHdr(BT_HDR *p_pkt, char *p_name, UINT16 max_len);
12995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadTypeHdr
13035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Type Header in the given
13055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet.
13065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
13085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
13095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
13115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadTypeHdr(BT_HDR *p_pkt, UINT8 **p_type, UINT16 *p_len);
13125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadLengthHdr
13165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Length Header in the given
13185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet.
13195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
13215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
13225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
13245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadLengthHdr(BT_HDR *p_pkt, UINT32 *p_len);
13255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadTimeHdr
13295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Time Header in the given
13315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet.
13325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
13345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
13355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
13375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadTimeHdr(BT_HDR *p_pkt, UINT8 **p_time, UINT16 *p_len);
13385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadDescrHdr
13425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Description Header in the
13445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet.
13455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
13475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
13485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
13505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadDescrHdr(BT_HDR *p_pkt, UINT16 *p_descr, UINT16 *p_len);
13515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadDestNameHdr
13555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the DestName Header in the
13575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet.
13585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
13605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
13615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
13635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadDestNameHdr(BT_HDR *p_pkt, UINT16 *p_dest, UINT16 *p_len);
13645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadAsciiDescrHdr
13685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Description Header in the
13705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet. If Description header exists in the given
13715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet, it is converted to ASCII format and copied into
13725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              p_descr.
13735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
13755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
13765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
13785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadAsciiDescrHdr(BT_HDR *p_pkt, char *p_descr, UINT16 max_len);
13795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadAsciiDestNameHdr
13835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the DestName Header in the
13855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet. If DestName header exists in the given
13865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet, it is converted to ASCII format and copied into
13875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              p_descr.
13885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
13905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
13915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
13935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadAsciiDestNameHdr(BT_HDR *p_pkt, char *p_dest, UINT16 max_len);
13945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
13965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadTargetHdr
13985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Target Header in the
14005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet.
14015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
14035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
14045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadTargetHdr(BT_HDR *p_pkt, UINT8 **p_target, UINT16 *p_len, UINT8 next);
14075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
14095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadHttpHdr
14115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the HTTP Header in the
14135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet.
14145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
14165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
14175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadHttpHdr(BT_HDR *p_pkt, UINT8 **p_http, UINT16 *p_len, UINT8 next);
14205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
14225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadBodyHdr
14245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Body Header in the
14265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet.
14275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      1, if a single header is in the OBEX packet.
14295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              2, if a end of body header is in the OBEX packet.
14305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              0, (FALSE) otherwise.
14315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT8 OBX_ReadBodyHdr(BT_HDR *p_pkt, UINT8 **p_body, UINT16 *p_len, BOOLEAN *p_end);
14345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
14365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadWhoHdr
14385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Who Header in the
14405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet.
14415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
14435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
14445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadWhoHdr(BT_HDR *p_pkt, UINT8 **p_who, UINT16 *p_len);
14475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
14495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadAppParamHdr
14515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Application Parameter Header
14535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              in the given OBEX packet.
14545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
14565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
14575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadAppParamHdr(BT_HDR *p_pkt, UINT8 *p_tag, UINT8 **p_app_param, UINT8 *p_len, UINT8 next);
14605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
14625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadPermissionHdr
14645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Application Parameter Header
14665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              in the given OBEX packet.
14675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
14695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
14705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadPermissionHdr(BT_HDR *p_pkt, UINT8 *p_user, UINT8 *p_group, UINT8 *p_other);
14735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
14755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_Read1ByteHdr
14775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the UINT8 HV of the given HI
14795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              in the given OBEX packet.
14805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
14825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
14835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_Read1ByteHdr(BT_HDR *p_pkt, UINT8 id, UINT8 *p_data);
14865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
14885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_Read4ByteHdr
14905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the UINT32 HV of the given HI
14925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              in the given OBEX packet.
14935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
14955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
14965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
14985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_Read4ByteHdr(BT_HDR *p_pkt, UINT8 id, UINT32 *p_data);
14995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadByteStrHdr
15035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the byte sequence HV of the given
15055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              HI in the given OBEX packet.
15065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
15085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
15095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
15115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadByteStrHdr(BT_HDR *p_pkt, UINT8 id, UINT8 **p_data, UINT16 *p_len, UINT8 next);
15125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadUnicodeHdr
15165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Unicode HV of the given
15185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              HI in the given OBEX packet.
15195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
15215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
15225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
15245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadUnicodeHdr(BT_HDR *p_pkt, UINT8 id, UINT16 *p_data, UINT16 *p_len);
15255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadTriplet
15295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Triplet HV of the given
15315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              HI in the given OBEX packet.
15325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
15345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
15355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
15375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadTriplet(BT_HDR *p_pkt, UINT8 id, tOBX_TRIPLET *p_triplet, UINT8 *p_num);
15385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadActionIdHdr
15425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the HV of the Action ID header
15445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              in the given OBEX packet.
15455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
15475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
15485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
15505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadActionIdHdr(BT_HDR *p_pkt, UINT8 *p_data);
15515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadChallenge
15555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to read the Realm and options of the
15575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Authentication Challenge Header in the given OBEX packet.
15585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
15605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
15615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
15635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadChallenge(BT_HDR *p_pkt, tOBX_CHARSET *p_charset,
15645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                         UINT8 **p_realm, UINT8 *p_len,
15655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                         tOBX_AUTH_OPT *p_option);
15665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadAuthParams
15705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to read the User ID of the
15725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Authentication Response Header in the given OBEX packet.
15735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
15755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
15765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
15785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadAuthParams(BT_HDR *p_pkt, UINT8 **p_userid, UINT8 *p_len,
15795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                          BOOLEAN *is_challenged, tOBX_AUTH_OPT *p_option);
15805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         utfc_16_to_8
15855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Convert a UTF-16 array to a null-terminated UTF-8 string.
15875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Illegal characters are skipped.
15885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          Length of UTF-8 string in bytes.
15905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
15925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT16 utfc_16_to_8(UINT8 *p_utf8, UINT16 utf8_len, UINT16 *p_utf16, UINT16 utf16_len);
15935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
15955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         utfc_8_to_16
15975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Convert a null-terminated UTF-8 string to a UTF-16 array.
15995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Illegal characters are skipped.
16005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          Length of UTF-16 array.
16025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern UINT16 utfc_8_to_16(UINT16 *p_utf16, UINT16 utf16_len, UINT8 *p_utf8);
16055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
16075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddUtf8NameHdr
16095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Name header
16115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
16125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
16145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
16155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddUtf8NameHdr(BT_HDR *p_pkt, UINT8 *p_name);
16185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
16205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddUtf8DescrHdr
16225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX Description header
16245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
16255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
16275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
16285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddUtf8DescrHdr(BT_HDR *p_pkt, UINT8 *p_descr);
16315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
16335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_AddUtf8DestNameHdr
16355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to add an OBEX DestName header
16375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              to an OBEX packet.
16385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is added successfully.
16405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if the operation failed. p_pkt is not altered.
16415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_AddUtf8DestNameHdr(BT_HDR *p_pkt, UINT8 *p_dest);
16445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
16465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadUtf8NameHdr
16485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Name Header in the given
16505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet. If Name header exists in the given OBEX packet,
16515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              it is converted to UTF8 format and copied into p_name.
16525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
16545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
16555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadUtf8NameHdr(BT_HDR *p_pkt, UINT8 *p_name, UINT16 max_len);
16585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
16605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadUtf8DescrHdr
16625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the Description Header in the
16645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet. If Description header exists in the given
16655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              OBEX packet, it is converted to UTF8 format and copied into
16665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              p_descr.
16675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
16695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
16705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadUtf8DescrHdr(BT_HDR *p_pkt, UINT8 *p_descr, UINT16 max_len);
16735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
16755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_ReadUtf8DestNameHdr
16775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called to get the DestName Header in the
16795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              given OBEX packet.
16805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if the header is in the OBEX packet.
16825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, otherwise.
16835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_ReadUtf8DestNameHdr(BT_HDR *p_pkt, UINT8 *p_dest, UINT16 max_len);
16865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
16885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function     OBX_VerifyResponse
16905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description  This function is called by the client to verify the challenge
16925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              response.
16935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns      TRUE, if successful.
16955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              FALSE, if authentication failed
16965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
16975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
16985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectOBX_API extern BOOLEAN OBX_VerifyResponse(UINT32 nonce_u32, UINT8 *p_password, UINT8 password_len, UINT8 *p_response);
16995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
17005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus
17015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}
17025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
17035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
17045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* OBX_API_H */
1705