blob: e040b1bb2095faf6b43c690ff576547aba286671 [file] [log] [blame]
nxpandroidc7611652015-09-23 16:42:05 +05301/******************************************************************************
2 *
3 * Copyright (C) 2010-2014 Broadcom Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at:
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 ******************************************************************************/
18
nxpandroidc7611652015-09-23 16:42:05 +053019/******************************************************************************
20 *
21 * This is the private interface file for the NFA system manager.
22 *
23 ******************************************************************************/
24#ifndef NFA_SYS_INT_H
25#define NFA_SYS_INT_H
26
27#include "nfa_sys_ptim.h"
28
29/*****************************************************************************
30** Constants and data types
31*****************************************************************************/
32
nxpandroidc7611652015-09-23 16:42:05 +053033/* nfa_sys flags */
nxpandroid8f6d0532017-07-12 18:25:30 +053034#define NFA_SYS_FL_INITIALIZED 0x00000001 /* nfa_sys initialized */
nxpandroidc7611652015-09-23 16:42:05 +053035
36/*****************************************************************************
37** state table
38*****************************************************************************/
39
40/* system manager control block */
nxpandroid8f6d0532017-07-12 18:25:30 +053041typedef struct {
42 uint32_t flags; /* nfa_sys flags (must be first element of structure) */
43 tNFA_SYS_REG* reg[NFA_ID_MAX]; /* registration structures */
44 bool is_reg[NFA_ID_MAX]; /* registration structures */
45 tPTIM_CB ptim_cb; /* protocol timer list */
46 tNFA_SYS_ENABLE_CBACK* p_enable_cback;
47 uint16_t enable_cplt_flags;
48 uint16_t enable_cplt_mask;
nxpandroidc7611652015-09-23 16:42:05 +053049
nxpandroid8f6d0532017-07-12 18:25:30 +053050 tNFA_SYS_PROC_NFCC_PWR_MODE_CMPL* p_proc_nfcc_pwr_mode_cmpl_cback;
51 uint16_t proc_nfcc_pwr_mode_cplt_flags;
52 uint16_t proc_nfcc_pwr_mode_cplt_mask;
nxpandroidc7611652015-09-23 16:42:05 +053053
nxf24591c1cbeab2018-02-21 17:32:26 +053054 bool graceful_disable; /* TRUE if NFA_Disable () is called with TRUE */
55 bool timers_disabled; /* TRUE if sys timers disabled */
nxpandroidc7611652015-09-23 16:42:05 +053056} tNFA_SYS_CB;
57
nxpandroidc7611652015-09-23 16:42:05 +053058/*****************************************************************************
59** Global variables
60*****************************************************************************/
61
62/* system manager control block */
nxpandroidc7611652015-09-23 16:42:05 +053063extern tNFA_SYS_CB nfa_sys_cb;
nxpandroidc7611652015-09-23 16:42:05 +053064
65/* system manager configuration structure */
nxpandroid8f6d0532017-07-12 18:25:30 +053066extern tNFA_SYS_CFG* p_nfa_sys_cfg;
nxpandroidc7611652015-09-23 16:42:05 +053067
nxpandroidc7611652015-09-23 16:42:05 +053068#endif /* NFA_SYS_INT_H */