1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Copyright (C) 2010-2012 Broadcom Corporation
4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  you may not use this file except in compliance with the License.
7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  You may obtain a copy of the License at:
8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  See the License for the specific language governing permissions and
15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  limitations under the License.
16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  This file contains the LLCP API definitions
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_API_H
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_API_H
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfc_target.h"
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "llcp_defs.h"
29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**  Constants
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_STATUS_SUCCESS         0       /* Successfully done                */
34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_STATUS_FAIL            1       /* Failed without specific reason   */
35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_STATUS_CONGESTED       2       /* Data link is congested           */
36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tLLCP_STATUS;
38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MIN_OFFSET             (NCI_MSG_OFFSET_SIZE + NCI_DATA_HDR_SIZE + LLCP_PDU_HEADER_SIZE + LLCP_SEQUENCE_SIZE)
40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_INVALID_SAP            0xFF    /* indication of failure to allocate data link resource */
42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**  Type Definitions
45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BOOLEAN is_initiator;       /* TRUE if we are POLL mode */
49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   max_payload_size;   /* 64, 128, 192 or 254 */
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   waiting_time;
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8  *p_gen_bytes;
52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   gen_bytes_len;
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_ACTIVATE_CONFIG;
54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16  miu;                        /* Local receiving MIU      */
58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   rw;                         /* Local receiving window   */
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    char    sn[LLCP_MAX_SN_LEN + 1];    /* Service name to connect  */
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_CONNECTION_PARAMS;
61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*********************************
63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**  Callback Functions Prototypes
64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**********************************/
65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Link Management Callback Events */
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_ACTIVATION_FAILED_EVT     0x00    /* Fail to activate link    */
69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_ACTIVATION_COMPLETE_EVT   0x01    /* LLCP Link is activated   */
70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_DEACTIVATED_EVT           0x02    /* LLCP Link is deactivated */
71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Link Management Callback Reasons */
73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_SUCCESS                   0x00    /* Success                                  */
75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_VERSION_FAILED            0x01    /* Failed to agree version                  */
76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_BAD_GEN_BYTES             0x02    /* Failed to parse received general bytes   */
77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_INTERNAL_ERROR            0x03    /* internal error                           */
78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_LOCAL_INITIATED           0x04    /* Link has been deactivated by local       */
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_REMOTE_INITIATED          0x05    /* Link has been deactivated by remote      */
80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_TIMEOUT                   0x06    /* Link has been deactivated by timeout     */
81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_FRAME_ERROR               0x07    /* Link has been deactivated by frame error */
82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_RF_TRANSMISSION_ERR       NFC_STATUS_RF_TRANSMISSION_ERR
83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_RF_PROTOCOL_ERR           NFC_STATUS_RF_PROTOCOL_ERR
84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_RF_TIMEOUT                NFC_STATUS_TIMEOUT
85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_RF_LINK_LOSS_ERR          NFC_STATUS_LINK_LOSS
86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (tLLCP_LINK_CBACK) (UINT8 event, UINT8 reason);
88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Minimum length of Gen Bytes for LLCP */
90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* In CE4 low power mode, NFCC can store up to 21 bytes */
91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MIN_GEN_BYTES                  20
92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Service Access Point (SAP) Callback Events */
94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_DATA_IND               0x00    /* Received data on SAP         */
96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_CONNECT_IND            0x01    /* Connection request from peer */
97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_CONNECT_RESP           0x02    /* Connection accepted by peer  */
98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_DISCONNECT_IND         0x03    /* Received disconnect request  */
99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_DISCONNECT_RESP        0x04    /* Received disconnect response */
100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_CONGEST                0x05    /* congested status is changed  */
101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_LINK_STATUS            0x06    /* Change of LLCP Link status   */
102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_EVT_TX_COMPLETE            0x07    /* tx queue is empty and all PDU is acked   */
103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_TYPE_LOGICAL_DATA_LINK      0x01
105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LINK_TYPE_DATA_LINK_CONNECTION   0x02
106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_DATA_IND        */
110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   remote_sap;         /* SAP of remote device         */
112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   link_type;          /* link type                    */
113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_DATA_IND;
114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_CONNECT_IND     */
118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   server_sap;         /* SAP of local server          */
119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   remote_sap;         /* SAP of remote device         */
121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16  miu;                /* MIU of peer device           */
122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   rw;                 /* RW of peer device            */
123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    char   *p_service_name;     /* Service name (only for SDP)  */
124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_CONNECT_IND;
125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_CONNECT_RESP    */
129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   remote_sap;         /* SAP of remote device         */
131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16  miu;                /* MIU of peer device           */
132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   rw;                 /* RW of peer device            */
133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_CONNECT_RESP;
134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_SAP_DISCONNECT_REASON_TIMEOUT  0x80
136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_DISCONNECT_IND  */
139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   remote_sap;         /* SAP of remote device         */
141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_DISCONNECT_IND;
142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_DISCONNECT_RESP */
146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   remote_sap;         /* SAP of remote device         */
148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   reason;             /* Reason of DM PDU if not timeout */
149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_DISCONNECT_RESP;
150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_CONGEST         */
154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   remote_sap;         /* SAP of remote device         */
156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BOOLEAN is_congested;       /* TRUE if congested            */
157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   link_type;          /* congested link type          */
158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_CONGEST;
159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_LINK_STATUS     */
163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BOOLEAN is_activated;       /* TRUE if LLCP link is activated  */
165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BOOLEAN is_initiator;       /* TRUE if local LLCP is initiator */
166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_LINK_STATUS;
167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* LLCP_SAP_EVT_TX_COMPLETE     */
171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   remote_sap;         /* SAP of remote device         */
173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_TX_COMPLETE;
174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   event;              /* event                        */
178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8   local_sap;          /* SAP of local device          */
179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_HEADER;
180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union
182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_HEADER            hdr;                /* common header                */
184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_DATA_IND          data_ind;           /* LLCP_SAP_EVT_DATA_IND        */
185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_CONNECT_IND       connect_ind;        /* LLCP_SAP_EVT_CONNECT_IND     */
186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_CONNECT_RESP      connect_resp;       /* LLCP_SAP_EVT_CONNECT_RESP    */
187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_DISCONNECT_IND    disconnect_ind;     /* LLCP_SAP_EVT_DISCONNECT_IND  */
188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_DISCONNECT_RESP   disconnect_resp;    /* LLCP_SAP_EVT_DISCONNECT_RESP */
189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_CONGEST           congest;            /* LLCP_SAP_EVT_CONGEST         */
190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_LINK_STATUS       link_status;        /* LLCP_SAP_EVT_LINK_STATUS     */
191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tLLCP_SAP_TX_COMPLETE       tx_complete;        /* LLCP_SAP_EVT_TX_COMPLETE     */
192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tLLCP_SAP_CBACK_DATA;
193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (tLLCP_APP_CBACK) (tLLCP_SAP_CBACK_DATA *p_data);
195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Service Discovery Callback */
197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (tLLCP_SDP_CBACK) (UINT8 tid, UINT8 remote_sap);
199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* LLCP DTA Callback - notify DTA responded SNL for connectionless echo service */
201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (tLLCP_DTA_CBACK) (void);
203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**  External Function Declarations
206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C"
209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_SetConfig
215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Set configuration parameters for LLCP
217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Local Link MIU
218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Option parameter
219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Waiting Time Index
220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Local Link Timeout
221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Inactivity Timeout as initiator role
222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Inactivity Timeout as target role
223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Delay SYMM response
224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Data link connection timeout
225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Delay timeout to send first PDU as initiator
226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          void
228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern void LLCP_SetConfig (UINT16 link_miu,
231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT8  opt,
232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT8  wt,
233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 link_timeout,
234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 inact_timeout_init,
235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 inact_timeout_target,
236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 symm_delay,
237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 data_link_timeout,
238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 delay_first_pdu_timeout);
239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_GetConfig
243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Get configuration parameters for LLCP
245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Local Link MIU
246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Option parameter
247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Response Waiting Time Index
248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Local Link Timeout
249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Inactivity Timeout as initiator role
250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Inactivity Timeout as target role
251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Delay SYMM response
252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Data link connection timeout
253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Delay timeout to send first PDU as initiator
254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          void
256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern void LLCP_GetConfig (UINT16 *p_link_miu,
259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT8  *p_opt,
260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT8  *p_wt,
261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 *p_link_timeout,
262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 *p_inact_timeout_init,
263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 *p_inact_timeout_target,
264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 *p_symm_delay,
265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 *p_data_link_timeout,
266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                     UINT16 *p_delay_first_pdu_timeout);
267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_GetDiscoveryConfig
271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Returns discovery config for LLCP MAC link activation
273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  This function is called to get general bytes for NFC_PMID_ATR_REQ_GEN_BYTES
274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  or NFC_PMID_ATR_RES_GEN_BYTES before starting discovery.
275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  wt:Waiting time 0 - 8, only for listen
277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_gen_bytes: pointer to store LLCP magic number and paramters
278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_gen_bytes_len: length of buffer for gen bytes as input
279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                   (NOTE:it must be bigger than LLCP_MIN_GEN_BYTES)
280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                   actual gen bytes size as output
281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Restrictions on the use of ISO 18092
283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  1. The DID features shall not be used.
284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  2. the NAD features shall not be used.
285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  3. Frame waiting time extentions (WTX) shall not be used.
286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          None
288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
290e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern void LLCP_GetDiscoveryConfig (UINT8 *p_wt,
291e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                              UINT8 *p_gen_bytes,
292e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                              UINT8 *p_gen_bytes_len);
293e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
294e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
295e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
296e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_ActivateLink
297e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
298e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function will activate LLCP link with LR, WT and Gen Bytes
299e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  in activation NTF from NFCC.
300e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
301e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_LINK_ACTIVATION_COMPLETE_EVT will be returned through
302e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  callback function if successful.
303e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Otherwise, LLCP_LINK_ACTIVATION_FAILED_EVT will be returned.
304e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
305e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
306e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
307e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
308e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_ActivateLink (tLLCP_ACTIVATE_CONFIG config,
309e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                tLLCP_LINK_CBACK     *p_link_cback);
310e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
311e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
312e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
313e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_DeactivateLink
314e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
315e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Deactivate LLCP link
316e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
317e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_LINK_DEACTIVATED_EVT will be returned through callback
318e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  when LLCP link is deactivated. Then NFC link may be deactivated.
319e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
320e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
321e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
322e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
323e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_DeactivateLink (void);
324e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
325e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
326e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
327e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_RegisterServer
328e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
329e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Register server and callback function
330e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
331e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  reg_sap : Well-Known SAP except LM and SDP (0x02 - 0x0F)
332e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                            Advertized by SDP (0x10 - 0x1F)
333e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                            LLCP_INVALID_SAP, LLCP will allocate between 0x10 and 0x1F
334e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  link_type : LLCP_LINK_TYPE_LOGICAL_DATA_LINK
335e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                              and/or LLCP_LINK_TYPE_DATA_LINK_CONNECTION
336e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_service_name : Null-terminated string up to LLCP_MAX_SN_LEN
337e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
338e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          SAP between 0x02 and 0x1F, if success
339e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_INVALID_SAP, otherwise
340e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
341e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
342e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern UINT8 LLCP_RegisterServer (UINT8           reg_sap,
343e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           UINT8           link_type,
344e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           char            *p_service_name,
345e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           tLLCP_APP_CBACK *p_sap_cback);
346e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
347e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
348e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
349e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_RegisterClient
350e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
351e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Register client and callback function
352e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
353e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  link_type : LLCP_LINK_TYPE_LOGICAL_DATA_LINK
354e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                              and/or LLCP_LINK_TYPE_DATA_LINK_CONNECTION
355e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
356e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          SAP between 0x20 and 0x3F, if success
357e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_INVALID_SAP, otherwise
358e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
359e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
360e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern UINT8 LLCP_RegisterClient (UINT8           link_type,
361e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           tLLCP_APP_CBACK *p_sap_cback);
362e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
363e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
364e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
365e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_Deregister
366e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
367e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Deregister server or client
368e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
369e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
370e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
371e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
372e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
373e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_Deregister (UINT8 sap);
374e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
375e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
376e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
377e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_IsLogicalLinkCongested
378e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
379e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Check if logical link is congested
380e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
381e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
382e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          TRUE if congested
383e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
384e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
385e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern BOOLEAN LLCP_IsLogicalLinkCongested (UINT8 local_sap,
386e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                     UINT8 num_pending_ui_pdu,
387e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                     UINT8 total_pending_ui_pdu,
388e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                     UINT8 total_pending_i_pdu);
389e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
390e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
391e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
392e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_SendUI
393e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
394e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Send connnectionless data to DSAP
395e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
396e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
397e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
398e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_STATUS_CONGESTED if logical link is congested
399e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_STATUS_FAIL, otherwise
400e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
401e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
402e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_SendUI (UINT8 ssap, UINT8 dsap, BT_HDR *p_buf);
403e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
404e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
405e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
406e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_ReadLogicalLinkData
407e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
408e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Read information of UI PDU for local SAP
409e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
410e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Remote SAP who sent UI PDU is returned.
411e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Information of UI PDU up to max_data_len is copied into p_data.
412e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Information of next UI PDU is not concatenated.
413e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Recommended max_data_len is link MIU of local device
414e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
415e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          TRUE if more information of UI PDU or more UI PDU in queue
416e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
417e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
418e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern BOOLEAN LLCP_ReadLogicalLinkData (UINT8  local_sap,
419e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT32 max_data_len,
420e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT8  *p_remote_sap,
421e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT32 *p_data_len,
422e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT8  *p_data);
423e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
424e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
425e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
426e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_FlushLogicalLinkRxData
427e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
428e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Discard received data in logical data link of local SAP
429e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
430e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
431e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          length of data flushed
432e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
433e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
434e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern UINT32 LLCP_FlushLogicalLinkRxData (UINT8 local_sap);
435e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
436e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
437e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
438e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_ConnectReq
439e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
440e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Create data link connection between registered SAP and DSAP
441e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  in peer LLCP,
442e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
443e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
444e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
445e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_STATUS_FAIL, otherwise
446e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
447e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
448e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_ConnectReq (UINT8 reg_sap, UINT8 dsap,
449e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                              tLLCP_CONNECTION_PARAMS *p_params);
450e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
451e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
452e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
453e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_ConnectCfm
454e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
455e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Accept connection request from peer LLCP
456e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
457e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
458e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
459e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_STATUS_FAIL, otherwise
460e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
461e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
462e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_ConnectCfm (UINT8 local_sap,
463e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                              UINT8 remote_sap,
464e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                              tLLCP_CONNECTION_PARAMS *p_params);
465e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
466e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
467e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
468e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_ConnectReject
469e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
470e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Reject connection request from peer LLCP
471e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
472e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  reason : LLCP_SAP_DM_REASON_APP_REJECTED
473e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                           LLCP_SAP_DM_REASON_PERM_REJECT_THIS
474e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                           LLCP_SAP_DM_REASON_PERM_REJECT_ANY
475e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                           LLCP_SAP_DM_REASON_TEMP_REJECT_THIS
476e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                           LLCP_SAP_DM_REASON_TEMP_REJECT_ANY
477e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
478e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
479e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_STATUS_FAIL, otherwise
480e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
481e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
482e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_ConnectReject (UINT8 local_sap,
483e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                 UINT8 remote_sap,
484e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                 UINT8 reason);
485e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
486e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
487e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
488e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_IsDataLinkCongested
489e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
490e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Check if data link is congested
491e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
492e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
493e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          TRUE if congested
494e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
495e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
496e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern BOOLEAN LLCP_IsDataLinkCongested (UINT8 local_sap,
497e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT8 remote_sap,
498e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT8 num_pending_i_pdu,
499e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT8 total_pending_ui_pdu,
500e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                  UINT8 total_pending_i_pdu);
501e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
502e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
503e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
504e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_SendData
505e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
506e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Send connection-oriented data
507e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
508e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
509e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
510e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  LLCP_STATUS_CONGESTED if data link is congested
511e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
512e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
513e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_SendData (UINT8  local_sap,
514e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            UINT8  remote_sap,
515e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            BT_HDR *p_buf);
516e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
517e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
518e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
519e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_ReadDataLinkData
520e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
521e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Read information of I PDU for data link connection
522e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
523e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Information of I PDU up to max_data_len is copied into p_data.
524e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Information of next I PDU is not concatenated.
525e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Recommended max_data_len is data link connection MIU of local
526e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                    end point
527e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
528e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          TRUE if more data in queue
529e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
530e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
531e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern BOOLEAN LLCP_ReadDataLinkData (UINT8  local_sap,
532e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                               UINT8  remote_sap,
533e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                               UINT32 max_data_len,
534e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                               UINT32 *p_data_len,
535e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                               UINT8  *p_data);
536e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
537e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
538e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
539e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_FlushDataLinkRxData
540e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
541e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Discard received data in data link connection
542e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
543e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
544e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          length of rx data flushed
545e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
546e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
547e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern UINT32 LLCP_FlushDataLinkRxData (UINT8  local_sap,
548e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                 UINT8  remote_sap);
549e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
550e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
551e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
552e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_DisconnectReq
553e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
554e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Disconnect data link
555e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  discard any pending data if flush is set to TRUE
556e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
557e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
558e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
559e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
560e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_DisconnectReq (UINT8   local_sap,
561e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                 UINT8   remote_sap,
562e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                 BOOLEAN flush);
563e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
564e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
565e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
566e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_SetTxCompleteNtf
567e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
568e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function is called to get LLCP_SAP_EVT_TX_COMPLETE
569e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  when Tx queue is empty and all PDU is acked.
570e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  This is one time event, so upper layer shall call this function
571e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  again to get next LLCP_SAP_EVT_TX_COMPLETE.
572e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
573e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
574e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
575e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
576e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_SetTxCompleteNtf (UINT8 local_sap,
577e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                    UINT8 remote_sap);
578e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
579e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
580e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
581e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_SetLocalBusyStatus
582e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
583e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Set local busy status
584e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
585e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
586e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
587e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
588e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
589e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_SetLocalBusyStatus (UINT8   local_sap,
590e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                      UINT8   remote_sap,
591e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                      BOOLEAN is_busy);
592e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
593e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
594e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
595e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_GetRemoteWKS
596e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
597e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Return well-known service bitmap of connected device
598e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
599e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
600e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          WKS bitmap if success
601e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
602e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
603e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern UINT16 LLCP_GetRemoteWKS (void);
604e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
605e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
606e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
607e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_GetRemoteLSC
608e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
609e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Return link service class of connected device
610e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
611e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
612e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          link service class
613e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
614e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
615e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern UINT8 LLCP_GetRemoteLSC (void);
616e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
617e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
618e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
619e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_GetLinkMIU
620e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
621e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Return local and remote link MIU
622e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
623e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
624e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          None
625e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
626e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
627e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern void LLCP_GetLinkMIU (UINT16 *p_local_link_miu, UINT16 *p_remote_link_miu);
628e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
629e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
630e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
631e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_DiscoverService
632e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
633e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Return SAP of service name in connected device through callback
634e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
635e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
636e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          LLCP_STATUS_SUCCESS if success
637e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
638e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
639e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern tLLCP_STATUS LLCP_DiscoverService (char            *p_name,
640e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                   tLLCP_SDP_CBACK *p_cback,
641e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                   UINT8           *p_tid);
642e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
643e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
644e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
645e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_SetTraceLevel
646e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
647e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function sets the trace level for LLCP.  If called with
648e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  a value of 0xFF, it simply returns the current trace level.
649e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
650e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          The new or current trace level
651e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
652e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
653e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern UINT8 LLCP_SetTraceLevel (UINT8 new_level);
654e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
655e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
656e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
657e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_RegisterDtaCback
658e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
659e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Register callback function for LLCP DTA testing
660e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
661e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
662e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          void
663e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
664e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
665e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern void LLCP_RegisterDtaCback (tLLCP_DTA_CBACK *p_dta_cback);
666e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
667e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#if (LLCP_TEST_INCLUDED == TRUE)
668e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
669e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
670e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         LLCP_SetTestParams
671e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
672e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Set test parameters for LLCP
673e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
674e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
675e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          void
676e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
677e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
678e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLLCP_API extern void LLCP_SetTestParams (UINT8 version, UINT16 wks);
679e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
680e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
681e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
682e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}
683e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
684e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
685e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif  /* LLCP_API_H */
686e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
687