blob: 8f5f006aaddc5d63e697e8f67a5f98f42f7e3fe7 [file] [log] [blame]
/******************************************************************************
*
* Copyright (C) 1999-2012 Broadcom Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/****************************************************************************/
/* NFCC global definitions */
/****************************************************************************/
#ifndef NFCC_EXT_H
#define NFCC_EXT_H
#include "bt_target.h"
#include "nci_cmsgs.h"
#include "nci_defs.h"
extern void nfcc_init (void);
extern void * nfcc_find_conn_cb_by_conn_id(UINT8 conn_id);
extern void nfcc_proc_nfcee_discover(void);
extern void nfcc_proc_nfcee_uicc_vse_test(UINT8 ee_handle, UINT8 mode);
extern void lm_process_nfc (BT_HDR *p_msg);
/*
** Definitions for events sent from NFCC to LMP
*/
#define NFCC_EVENT_START_DISCOVER 1 /* forward Start Discover cmd to peer NFCC */
#define NFCC_EVENT_DISCOVER_RESP 2 /* A response to a Discover cmd */
#define NFCC_EVENT_DATA 3 /* A response to a Discover cmd */
#define NFCC_EVENT_DISCOVER_SELECT 4 /* forward Start Discover cmd to peer NFCC */
#define NFCC_EVENT_DEACTIVATE 5 /* forward deactivate cmd to peer NFCC */
#define NFCC_MAX_DISCOVER_PARAMS 7
/* this does not work if more than 329 */
#define NFCC_MAX_PARAM_TLV_LEN 328
/* Discovery Type Masks - not in spec; for convenience/based on NCI_DISCOVERY_TYPE* */
#define NCI_DISCOVERY_MASK_POLL_A 0x0001
#define NCI_DISCOVERY_MASK_POLL_B 0x0002
#define NCI_DISCOVERY_MASK_POLL_F 0x0004
#define NCI_DISCOVERY_MASK_LISTEN_A 0x0100
#define NCI_DISCOVERY_MASK_LISTEN_B 0x0200
#define NCI_DISCOVERY_MASK_LISTEN_F 0x0400
#define NCI_DISCOVERY_MASK_MAX 0x070F
typedef UINT16 tNCI_DISCOVERY_MASK;
#define NFCC_NUM_NFCEE 3
/*
** Define a buffer that is used for data descriptors from HCID to LC
*/
typedef struct
{
BT_HDR hdr; /* Standard BT header */
tNCI_DISCOVERY_MASK mask; /* sender is looking for anything in this mask */
UINT8 num_params;
tNCI_DISCOVER_PARAMS params[NFCC_MAX_DISCOVER_PARAMS];
UINT8 param_tlv[NFCC_MAX_PARAM_TLV_LEN];
UINT16 param_tlv_len;
} tNFCC_START_DISCOVER;
typedef struct
{
BT_HDR hdr; /* Standard BT header */
tNCI_DISCOVERY_MASK mask; /* sender is looking for anything in this mask */
UINT8 num_params;
tNCI_DISCOVER_PARAMS params[NFCC_MAX_DISCOVER_PARAMS];
UINT8 param_tlv[NFCC_MAX_PARAM_TLV_LEN];
UINT16 param_tlv_len;
} tNFCC_DISCOVER_RESP;
typedef struct
{
BT_HDR hdr; /* Standard BT header */
UINT8 target_handle;
UINT8 protocol;
} tNFCC_DISCOVER_SELECT;
/********************************************************************************
**
** Structures used for NFCC Simulation to communicate with peer NFCC Simulation
*/
typedef union
{
BT_HDR hdr;
tNFCC_START_DISCOVER start_discover;
tNFCC_DISCOVER_RESP discover_resp;
tNFCC_DISCOVER_SELECT discover_select;
} tNFCC_TO_PEER;
#endif