nfa_snep_api.h revision e9df6ba5a8fcccf306a80b1670b423be8fe7746a
17ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/******************************************************************************
27ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *
37ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  Copyright (C) 2010-2012 Broadcom Corporation
47ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *
57ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  Licensed under the Apache License, Version 2.0 (the "License");
67ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  you may not use this file except in compliance with the License.
77ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  You may obtain a copy of the License at:
87ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *
97ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  http://www.apache.org/licenses/LICENSE-2.0
107ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *
117ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  Unless required by applicable law or agreed to in writing, software
127ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  distributed under the License is distributed on an "AS IS" BASIS,
137ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
147ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  See the License for the specific language governing permissions and
157ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  limitations under the License.
167ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *
177ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman ******************************************************************************/
187ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
197ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/******************************************************************************
207ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *
217ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  This is the public interface file for NFA SNEP, Broadcom's NFC
227ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *  application layer for mobile phones.
237ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman *
247ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman ******************************************************************************/
257ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#ifndef NFA_SNEP_API_H
267ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_API_H
277ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
287ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#include "nfa_api.h"
297ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
307ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*****************************************************************************
317ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**  Constants and data types
327ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*****************************************************************************/
337ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_VERSION                0x10    /* SNEP Version 1.0          */
347ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
357ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_REQ_CODE_CONTINUE      0x00    /* send remaining fragments         */
367ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_REQ_CODE_GET           0x01    /* return an NDEF message           */
377ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_REQ_CODE_PUT           0x02    /* accept an NDEF message           */
387ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_REQ_CODE_REJECT        0x7F    /* do not send remaining fragments  */
397ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
407ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define tNFA_SNEP_REQ_CODE  UINT8
417ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
427ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_CONTINUE     0x80    /* continue send remaining fragments    */
437ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_SUCCESS      0x81    /* the operation succeeded              */
447ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_NOT_FOUND    0xC0    /* resource not found                   */
457ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_EXCESS_DATA  0xC1    /* resource exceeds data size limit     */
467ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_BAD_REQ      0xC2    /* malformed request not understood     */
477ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_NOT_IMPLM    0xE0    /* unsupported functionality requested  */
487ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_UNSUPP_VER   0xE1    /* unsupported protocol version         */
497ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_RESP_CODE_REJECT       0xFF    /* do not send remaining fragments      */
507ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
517ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define tNFA_SNEP_RESP_CODE UINT8
527ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
537ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* NFA SNEP callback events */
547ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_REG_EVT                    0x00    /* Server/client Registeration Status   */
557ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_ACTIVATED_EVT              0x01    /* LLCP link has been activated, client only   */
567ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_DEACTIVATED_EVT            0x02    /* LLCP link has been deactivated, client only */
577ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_CONNECTED_EVT              0x03    /* Data link has been created           */
587ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_GET_REQ_EVT                0x04    /* GET request from client              */
597ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_PUT_REQ_EVT                0x05    /* PUT request from client              */
607ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_GET_RESP_EVT               0x06    /* GET response from server             */
617ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_PUT_RESP_EVT               0x07    /* PUT response from server             */
627ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_DISC_EVT                   0x08    /* Failed to connect or disconnected    */
637ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
647ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_ALLOC_BUFF_EVT	            0x09    /* Request to allocate a buffer for NDEF*/
657ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_GET_RESP_CMPL_EVT          0x0A    /* GET response sent to client          */
667ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
677ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_DEFAULT_SERVER_STARTED_EVT 0x0B    /* SNEP default server is started       */
687ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_DEFAULT_SERVER_STOPPED_EVT 0x0C    /* SNEP default server is stopped       */
697ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
707ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef UINT8 tNFA_SNEP_EVT;
717ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
727ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#define NFA_SNEP_ANY_SAP         LLCP_INVALID_SAP
737ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
747ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_REG_EVT */
757ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
767ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
777ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_STATUS         status;
787ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         reg_handle;         /* handle for registered server/client */
797ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    char                service_name[LLCP_MAX_SN_LEN + 1];      /* only for server */
807ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_REG;
817ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
827ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_ACTIVATED_EVT */
837ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
847ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
857ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         client_handle;      /* handle for registered client    */
867ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_ACTIVATED;
877ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
887ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_DEACTIVATED_EVT */
897ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef tNFA_SNEP_ACTIVATED tNFA_SNEP_DEACTIVATED;
907ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
917ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_CONNECTED_EVT */
927ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*
937ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** for server, new handle will be assigned for conn_handle
947ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** for client, handle used in NFA_SnepConnect () is returned in conn_handle
957ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*/
967ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
977ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
987ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         reg_handle;         /* server/client handle            */
997ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection */
1007ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_CONNECT;
1017ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1027ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_GET_REQ_EVT */
1037ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
1047ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1057ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection */
1067ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT32              acceptable_length;  /* acceptable length from client   */
1077ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT32              ndef_length;        /* NDEF message length             */
1087ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT8               *p_ndef;            /* NDEF message                    */
1097ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_GET_REQ;
1107ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1117ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_PUT_REQ_EVT */
1127ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
1137ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1147ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection */
1157ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT32              ndef_length;        /* NDEF message length             */
1167ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT8               *p_ndef;            /* NDEF message                    */
1177ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_PUT_REQ;
1187ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1197ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_GET_RESP_EVT */
1207ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
1217ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1227ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection */
1237ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_RESP_CODE resp_code;          /* response code from server       */
1247ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT32              ndef_length;        /* NDEF message length             */
1257ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT8               *p_ndef;            /* NDEF message                    */
1267ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_GET_RESP;
1277ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1287ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_PUT_RESP_EVT */
1297ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
1307ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1317ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection */
1327ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_RESP_CODE resp_code;          /* response code from server       */
1337ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_PUT_RESP;
1347ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1357ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_DISC_EVT */
1367ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
1377ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1387ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection */
1397ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                            /* client_handle if connection failed */
1407ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_DISC;
1417ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1427ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_ALLOC_BUFF_EVT */
1437ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
1447ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1457ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection                */
1467ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_REQ_CODE  req_code;           /* NFA_SNEP_REQ_CODE_GET or NFA_SNEP_REQ_CODE_PUT */
1477ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_RESP_CODE resp_code;          /* Response code if cannot allocate buffer        */
1487ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT32              ndef_length;        /* NDEF message length                            */
1497ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT8               *p_buff;            /* buffer for NDEF message                        */
1507ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_ALLOC;
1517ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1527ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Data for NFA_SNEP_GET_RESP_CMPL_EVT */
1537ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef struct
1547ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1557ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_HANDLE         conn_handle;        /* handle for data link connection */
1567ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    UINT8               *p_buff;            /* buffer for NDEF message         */
1577ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_GET_RESP_CMPL;
1587ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1597ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* Union of all SNEP callback structures */
1607ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef union
1617ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1627ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_REG           reg;            /* NFA_SNEP_REG_EVT             */
1637ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_ACTIVATED     activated;      /* NFA_SNEP_ACTIVATED_EVT       */
1647ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_DEACTIVATED   deactivated;    /* NFA_SNEP_DEACTIVATED_EVT     */
1657ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_CONNECT       connect;        /* NFA_SNEP_CONNECTED_EVT       */
1667ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_GET_REQ       get_req;        /* NFA_SNEP_GET_REQ_EVT         */
1677ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_PUT_REQ       put_req;        /* NFA_SNEP_PUT_REQ_EVT         */
1687ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_GET_RESP      get_resp;       /* NFA_SNEP_GET_RESP_EVT        */
1697ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_PUT_RESP      put_resp;       /* NFA_SNEP_PUT_RESP_EVT        */
1707ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_DISC          disc;           /* NFA_SNEP_DISC_EVT            */
1717ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_ALLOC         alloc;          /* NFA_SNEP_ALLOC_BUFF_EVT      */
1727ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman    tNFA_SNEP_GET_RESP_CMPL get_resp_cmpl;  /* NFA_SNEP_GET_RESP_CMPL_EVT   */
1737ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman} tNFA_SNEP_EVT_DATA;
1747ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1757ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/* NFA SNEP callback */
1767ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmantypedef void (tNFA_SNEP_CBACK) (tNFA_SNEP_EVT event, tNFA_SNEP_EVT_DATA *p_data);
1777ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1787ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*****************************************************************************
1797ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**  External Function Declarations
1807ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*****************************************************************************/
1817ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#ifdef __cplusplus
1827ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukmanextern "C"
1837ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman{
1847ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#endif
1857ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
1867ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
1877ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
188df40664a63a91a1ab4b40c7f2d356cf255071d56Edward O'Callaghan** Function         NFA_SnepStartDefaultServer
189df40664a63a91a1ab4b40c7f2d356cf255071d56Edward O'Callaghan**
1907ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called to listen to SAP, 0x04 as SNEP default
1917ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  server ("urn:nfc:sn:snep") on LLCP.
1927ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
1937ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_DEFAULT_SERVER_STARTED_EVT without data will be returned.
1947ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
1957ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Note:            If RF discovery is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT
1967ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  should happen before calling this function
1977ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
1987ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
1997ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
2007ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2017ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
2027ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepStartDefaultServer (tNFA_SNEP_CBACK *p_cback);
2037ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
2047ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
2057ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2067ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepStopDefaultServer
2077ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2087ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called to stop SNEP default server on LLCP.
2097ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2107ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_DEFAULT_SERVER_STOPPED_EVT without data will be returned.
2117ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2127ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Note:            If RF discovery is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT
2137ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  should happen before calling this function
2147ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2157ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
2167ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
2177ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2187ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
2197ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepStopDefaultServer (tNFA_SNEP_CBACK *p_cback);
2207ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
2217ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
2227ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2237ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepRegisterServer
2247ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2257ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called to listen to a SAP as SNEP server.
2267ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2277ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  If server_sap is set to NFA_SNEP_ANY_SAP, then NFA will allocate
2287ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  a SAP between LLCP_LOWER_BOUND_SDP_SAP and LLCP_UPPER_BOUND_SDP_SAP
2297ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
230df40664a63a91a1ab4b40c7f2d356cf255071d56Edward O'Callaghan**                  NFC Forum default SNEP server ("urn:nfc:sn:snep") may be launched
2317ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  by NFA_SnepStartDefaultServer ().
2327ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2337ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_REG_EVT will be returned with status, handle and service name.
2347ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2357ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Note:            If RF discovery is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT
2367ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  should happen before calling this function
2377ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2387ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
2397ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_INVALID_PARAM if p_service_name or p_cback is NULL
2407ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
2417ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2427ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
2437ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepRegisterServer (UINT8           server_sap,
2447ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                                   char            *p_service_name,
2457ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                                   tNFA_SNEP_CBACK *p_cback);
2467ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
2477ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
2487ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2497ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepRegisterClient
2507ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2517ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called to register SNEP client.
2527ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_REG_EVT will be returned with status, handle
2537ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  and zero-length service name.
2547ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2557ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
2567ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_INVALID_PARAM if p_cback is NULL
2577ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
2587ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2597ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
2607ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepRegisterClient (tNFA_SNEP_CBACK *p_cback);
2617ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
2627ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
2637ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2647ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepDeregister
2657ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2667ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called to stop listening as SNEP server
2677ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  or SNEP client. Application shall use reg_handle returned in
2687ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_REG_EVT.
2697ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2707ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Note:            If this function is called to de-register a SNEP server and RF
2717ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  discovery is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT
2727ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  should happen before calling this function
2737ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2747ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
2757ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_BAD_HANDLE if handle is not valid
2767ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
2777ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2787ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
2797ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepDeregister (tNFA_HANDLE reg_handle);
2807ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
2817ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
2827ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2837ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepConnect
2847ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2857ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called by client to create data link connection
2867ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  to SNEP server on peer device.
2877ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2887ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Client handle and service name of server to connect shall be provided.
2897ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  A conn_handle will be returned in NFA_SNEP_CONNECTED_EVT, if
2907ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  successfully connected. Otherwise NFA_SNEP_DISC_EVT will be returned.
2917ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2927ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
2937ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_BAD_HANDLE if handle is not valid
2947ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_INVALID_PARAM if p_service_name or p_cback is NULL
2957ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
2967ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
2977ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
2987ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepConnect (tNFA_HANDLE     client_handle,
2997ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                            char            *p_service_name);
3007ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
3017ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
3027ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3037ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepGet
3047ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3057ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called by client to send GET request.
3067ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3077ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Application shall allocate a buffer and put NDEF message with
3087ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  desired record type to get from server. NDEF message from server
3097ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  will be returned in the same buffer with NFA_SNEP_GET_RESP_EVT.
3107ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  The size of buffer will be used as "Acceptable Length".
3117ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3127ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_GET_RESP_EVT or NFA_SNEP_DISC_EVT will be returned
3137ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  through registered p_cback. Application may free the buffer
3147ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  after receiving these events.
3157ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3167ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3177ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
3187ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_BAD_HANDLE if handle is not valid
3197ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
3207ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3217ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
3227ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepGet (tNFA_HANDLE     conn_handle,
3237ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                        UINT32          buff_length,
3247ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                        UINT32          ndef_length,
3257ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                        UINT8           *p_ndef_buff);
3267ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
3277ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
3287ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3297ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepPut
3307ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3317ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called by client to send PUT request.
3327ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3337ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Application shall allocate a buffer and put desired NDEF message
3347ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  to send to server.
3357ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3367ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_PUT_RESP_EVT or NFA_SNEP_DISC_EVT will be returned
3377ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  through p_cback. Application may free the buffer after receiving
3387ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  these events.
3397ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3407ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
3417ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_BAD_HANDLE if handle is not valid
3427ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_INVALID_PARAM if p_service_name or p_cback is NULL
3437ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
3447ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3457ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
3467ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepPut (tNFA_HANDLE     conn_handle,
3477ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                        UINT32          ndef_length,
3487ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                        UINT8           *p_ndef_buff);
3497ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
3507ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
3517ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3527ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepGetResponse
3537ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3547ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called by server to send response of GET request.
3557ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3567ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  When server application receives NFA_SNEP_ALLOC_BUFF_EVT,
3577ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  it shall allocate a buffer for incoming NDEF message and
3587ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  pass the pointer within callback context. This buffer will be
3597ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  returned with NFA_SNEP_GET_REQ_EVT after receiving complete
3607ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NDEF message. If buffer is not allocated, NFA_SNEP_RESP_CODE_NOT_FOUND
3617ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  (Note:There is no proper response code for this case)
3627ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  or NFA_SNEP_RESP_CODE_REJECT will be sent to client.
3637ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3647ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Server application shall provide conn_handle which is received in
3657ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_GET_REQ_EVT.
3667ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3677ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Server application shall allocate a buffer and put NDEF message if
3687ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  response code is NFA_SNEP_RESP_CODE_SUCCESS. Otherwise, ndef_length
3697ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  shall be set to zero.
3707ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3717ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_GET_RESP_CMPL_EVT or NFA_SNEP_DISC_EVT will be returned
3727ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  through registered callback function. Application may free
3737ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  the buffer after receiving these events.
3747ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3757ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
3767ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_BAD_HANDLE if handle is not valid
3777ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
3787ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3797ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
3807ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepGetResponse (tNFA_HANDLE         conn_handle,
3817ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                                tNFA_SNEP_RESP_CODE resp_code,
3827ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                                UINT32              ndef_length,
3837ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                                UINT8               *p_ndef_buff);
3847ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
3857ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
3867ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3877ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepPutResponse
3887ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3897ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called by server to send response of PUT request.
3907ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
3917ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  When server application receives NFA_SNEP_ALLOC_BUFF_EVT,
3927ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  it shall allocate a buffer for incoming NDEF message and
3937ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  pass the pointer within callback context. This buffer will be
3947ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  returned with NFA_SNEP_PUT_REQ_EVT after receiving complete
3957ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NDEF message.  If buffer is not allocated, NFA_SNEP_RESP_CODE_REJECT
3967ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  will be sent to client or NFA will discard request and send
3977ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_RESP_CODE_SUCCESS (Note:There is no proper response code for
3987ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  this case).
3997ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4007ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Server application shall provide conn_handle which is received in
4017ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_PUT_REQ_EVT.
4027ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4037ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_DISC_EVT will be returned through registered callback
4047ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  function when client disconnects data link connection.
4057ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4067ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
4077ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_BAD_HANDLE if handle is not valid
4087ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
4097ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4107ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
4117ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepPutResponse (tNFA_HANDLE         conn_handle,
4127ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                                tNFA_SNEP_RESP_CODE resp_code);
4137ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
4147ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
4157ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4167ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepDisconnect
4177ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4187ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function is called to disconnect data link connection.
4197ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  discard any pending data if flush is set to TRUE
4207ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4217ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Client application shall provide conn_handle in NFA_SNEP_GET_RESP_EVT
4227ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  or NFA_SNEP_PUT_RESP_EVT.
4237ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4247ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  Server application shall provide conn_handle in NFA_SNEP_GET_REQ_EVT
4257ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  or NFA_SNEP_PUT_REQ_EVT.
4267ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4277ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_SNEP_DISC_EVT will be returned
4287ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4297ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          NFA_STATUS_OK if successfully initiated
4307ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_BAD_HANDLE if handle is not valid
4317ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  NFA_STATUS_FAILED otherwise
4327ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4337ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
4347ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern tNFA_STATUS NFA_SnepDisconnect (tNFA_HANDLE conn_handle,
4357ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman                                               BOOLEAN     flush);
4367ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
4377ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman/*******************************************************************************
4387ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4397ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Function         NFA_SnepSetTraceLevel
4407ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4417ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Description      This function sets the trace level for SNEP.  If called with
4427ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**                  a value of 0xFF, it simply returns the current trace level.
4437ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4447ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman** Returns          The new or current trace level
4457ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman**
4467ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman*******************************************************************************/
4477ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha BrukmanNFC_API extern UINT8 NFA_SnepSetTraceLevel (UINT8 new_level);
4487ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
4497ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#ifdef __cplusplus
4507ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman}
4517ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#endif
4527ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
4537ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman#endif /* NFA_P2P_API_H */
4547ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman
4557ae6ff442a26212a0cc4c1929b8b0a105dc988e4Misha Brukman