1b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu/****************************************************************************** 2b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * 3b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * Copyright (C) 2010-2012 Broadcom Corporation 4b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * 5b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * Licensed under the Apache License, Version 2.0 (the "License"); 6b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * you may not use this file except in compliance with the License. 7b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * You may obtain a copy of the License at: 8b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * 9b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * http://www.apache.org/licenses/LICENSE-2.0 10b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * 11b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * Unless required by applicable law or agreed to in writing, software 12b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * distributed under the License is distributed on an "AS IS" BASIS, 13b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * See the License for the specific language governing permissions and 15b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * limitations under the License. 16b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * 17b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu ******************************************************************************/ 18b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu 19b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu/****************************************************************************** 20b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * 21b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * This is the private interface file for the NFA system manager. 22b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu * 23b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu ******************************************************************************/ 2445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#ifndef NFA_SYS_INT_H 2545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define NFA_SYS_INT_H 2645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 2745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#include "nfa_sys_ptim.h" 2845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 2945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/***************************************************************************** 3045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Constants and data types 3145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*****************************************************************************/ 3245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 3345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 3445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* nfa_sys flags */ 3545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define NFA_SYS_FL_INITIALIZED 0x00000001 /* nfa_sys initialized */ 3645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 3745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/***************************************************************************** 3845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** state table 3945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*****************************************************************************/ 4045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 4145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* system manager control block */ 4245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chutypedef struct 4345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu{ 4445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu UINT32 flags; /* nfa_sys flags (must be first element of structure) */ 4545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu tNFA_SYS_REG *reg[NFA_ID_MAX]; /* registration structures */ 4645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu BOOLEAN is_reg[NFA_ID_MAX]; /* registration structures */ 4745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu tPTIM_CB ptim_cb; /* protocol timer list */ 4845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu tNFA_SYS_ENABLE_CBACK *p_enable_cback; 4945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu UINT16 enable_cplt_flags; 5045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu UINT16 enable_cplt_mask; 5145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 5245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu tNFA_SYS_PROC_NFCC_PWR_MODE_CMPL *p_proc_nfcc_pwr_mode_cmpl_cback; 5345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu UINT16 proc_nfcc_pwr_mode_cplt_flags; 5445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu UINT16 proc_nfcc_pwr_mode_cplt_mask; 5545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 5645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu BOOLEAN graceful_disable; /* TRUE if NFA_Disable () is called with TRUE */ 5745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu BOOLEAN timers_disabled; /* TRUE if sys timers disabled */ 5845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu UINT8 trace_level; /* Trace level */ 5945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu} tNFA_SYS_CB; 6045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 6145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 6245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 6345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/***************************************************************************** 6445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Global variables 6545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*****************************************************************************/ 6645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 6745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* system manager control block */ 6845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#if NFA_DYNAMIC_MEMORY == FALSE 6945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chuextern tNFA_SYS_CB nfa_sys_cb; 7045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#else 7145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chuextern tNFA_SYS_CB *nfa_sys_cb_ptr; 7245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define nfa_sys_cb (*nfa_sys_cb_ptr) 7345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif 7445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 7545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 7645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/* system manager configuration structure */ 7745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chuextern tNFA_SYS_CFG *p_nfa_sys_cfg; 7845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 7945faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuBOOLEAN nfa_sys_sm_execute (BT_HDR *p_msg); 8045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu 8145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif /* NFA_SYS_INT_H */ 82