/****************************************************************************** * * 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