1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
3e9629bad30a9f478b336ab46b8e6e02f7f87af46Evan Chu *  Copyright (C) 2009-2014 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 Near Field Communication (NFC) Card Emulation
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  mode related API function external definitions.
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_API_H
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_API_H
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
296fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#include <stdbool.h>
30a6eddd86a10fc3d7e72e589f874bffdfab6d6933Ruchi Kandoi#include "nfc_api.h"
31a6eddd86a10fc3d7e72e589f874bffdfab6d6933Ruchi Kandoi#include "nfc_types.h"
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "tags_defs.h"
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
346fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#define CE_T3T_FIRST_EVT 0x60
356fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#define CE_T4T_FIRST_EVT 0x80
36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
376fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoienum {
386fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T3T_NDEF_UPDATE_START_EVT = CE_T3T_FIRST_EVT,
396fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T3T_NDEF_UPDATE_CPLT_EVT,
406fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T3T_UPDATE_EVT,
416fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T3T_CHECK_EVT,
426fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T3T_RAW_FRAME_EVT,
436fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T3T_MAX_EVT,
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
456fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T4T_NDEF_UPDATE_START_EVT = CE_T4T_FIRST_EVT,
466fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T4T_NDEF_UPDATE_CPLT_EVT,
476fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T4T_NDEF_UPDATE_ABORT_EVT,
486fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T4T_RAW_FRAME_EVT,
496fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  CE_T4T_MAX_EVT
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project};
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
526fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#define CE_RAW_FRAME_EVT 0xFF
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
54512ee63c7cc8feb016863e507a5d33cd0f4242bfRuchi Kandoitypedef uint8_t tCE_EVENT;
55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
566fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoitypedef struct {
576fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  tNFC_STATUS status;
586fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  NFC_HDR* p_data;
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tCE_T2T_DATA;
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
616fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoitypedef struct {
626fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  tNFC_STATUS status;
636fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  uint8_t* p_data;
646fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  bool b_updated;
656fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  uint32_t length;
66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tCE_UPDATE_INFO;
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
686fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoitypedef struct {
696fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  tNFC_STATUS status;
706fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  uint8_t aid_handle;
716fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  NFC_HDR* p_data;
72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tCE_RAW_FRAME;
73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
746fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoitypedef union {
756fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  tNFC_STATUS status;
766fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  tCE_UPDATE_INFO update_info;
776fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi  tCE_RAW_FRAME raw_frame;
78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tCE_DATA;
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
806fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoitypedef void(tCE_CBACK)(tCE_EVENT event, tCE_DATA* p_data);
81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* T4T definitions */
836fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoitypedef uint8_t tCE_T4T_AID_HANDLE; /* Handle for AID registration  */
8446e6e28414b5e37ffad65353916520fc56ea3a86Ruchi Kandoi/* Invalid tCE_T4T_AID_HANDLE               */
8546e6e28414b5e37ffad65353916520fc56ea3a86Ruchi Kandoi#define CE_T4T_AID_HANDLE_INVALID 0xFF
8646e6e28414b5e37ffad65353916520fc56ea3a86Ruchi Kandoi/* reserved handle for wildcard aid */
8746e6e28414b5e37ffad65353916520fc56ea3a86Ruchi Kandoi#define CE_T4T_WILDCARD_AID_HANDLE (CE_T4T_MAX_REG_AID)
88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T3tSetLocalNDEFMsg
92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Initialise CE Type 3 Tag with mandatory NDEF message
94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
986fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_T3tSetLocalNDEFMsg(bool read_only, uint32_t size_max,
996fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                         uint32_t size_current, uint8_t* p_buf,
1006fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                         uint8_t* p_scratch_buf);
101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T3tSetLocalNDefParams
105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Sets T3T-specific NDEF parameters. (Optional - if not
107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  called, then CE will use default parameters)
108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1126fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_T3tSetLocalNDefParams(uint8_t nbr, uint8_t nbw);
113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T3tSendCheckRsp
117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Send CHECK response message
119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1236fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_T3tSendCheckRsp(uint8_t status1, uint8_t status2,
1246fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                      uint8_t num_blocks,
1256fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                      uint8_t* p_block_data);
126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T3tSendUpdateRsp
130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Send UPDATE response message
132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1366fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_T3tSendUpdateRsp(uint8_t status1, uint8_t status2);
137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T4tSetLocalNDEFMsg
141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Initialise CE Type 4 Tag with mandatory NDEF message
143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The following event may be returned
145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      CE_T4T_UPDATE_START_EVT for starting update
146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      CE_T4T_UPDATE_CPLT_EVT for complete update
147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      CE_T4T_UPDATE_ABORT_EVT for failure of update
148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      CE_T4T_RAW_FRAME_EVT for raw frame
149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  read_only:      TRUE if read only
151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  ndef_msg_max:   Max NDEF message size
152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  ndef_msg_len:   NDEF message size
153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_ndef_msg:     NDEF message (excluding NLEN)
154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_scratch_buf:  temp storage for update
155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1596fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_T4tSetLocalNDEFMsg(bool read_only, uint16_t ndef_msg_max,
1606fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                         uint16_t ndef_msg_len,
1616fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                         uint8_t* p_ndef_msg,
1626fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                         uint8_t* p_scratch_buf);
163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T4tRegisterAID
167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Register AID in CE T4T
169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  aid_len: length of AID (up to NFC_MAX_AID_LEN)
171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_aid:   AID
172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_cback: Raw frame will be forwarded with CE_RAW_FRAME_EVT
173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tCE_T4T_AID_HANDLE if successful,
175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  CE_T4T_AID_HANDLE_INVALID otherwisse
176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1786fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tCE_T4T_AID_HANDLE CE_T4tRegisterAID(uint8_t aid_len, uint8_t* p_aid,
1796fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                            tCE_CBACK* p_cback);
180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T4tDeregisterAID
184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Deregister AID in CE T4T
186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  aid_len: length of AID (up to NFC_MAX_AID_LEN)
188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_aid:   AID
189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1936fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern void CE_T4tDeregisterAID(tCE_T4T_AID_HANDLE aid_handle);
194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T4TTestSetCC
198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Set fields in Capability Container File for testing
200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
2046fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_T4TTestSetCC(uint16_t cc_len, uint8_t version,
2056fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                   uint16_t max_le, uint16_t max_lc);
206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_T4TTestSetNDEFCtrlTLV
210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Set fields in NDEF File Control TLV for testing
212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
2166fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_T4TTestSetNDEFCtrlTLV(uint8_t type, uint8_t length,
2176fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                            uint16_t file_id,
2186fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                            uint16_t max_file_size,
2196fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                            uint8_t read_access,
2206fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                            uint8_t write_access);
221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_SendRawFrame
225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function sends a raw frame to the peer device.
227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
2316fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_SendRawFrame(uint8_t* p_raw_data, uint16_t data_len);
232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_SetActivatedTagType
236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function selects the tag type for Reader/Writer mode.
238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
2426fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern tNFC_STATUS CE_SetActivatedTagType(tNFC_ACTIVATE_DEVT* p_activate_params,
2436fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                          uint16_t t3t_system_code,
2446fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi                                          tCE_CBACK* p_cback);
245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         CE_SetTraceLevel
249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function sets the trace level for Card Emulation mode.
251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  If called with a value of 0xFF,
252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  it simply returns the current trace level.
253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          The new or current trace level
255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
2576fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiextern uint8_t CE_SetTraceLevel(uint8_t new_level);
258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* CE_API_H */
260