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 *  Callout functions for memory allocation/deallocatoin
22b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu *
23b58ba0e89a3767e6174c42d3e90540d1eae10f81Evan Chu ******************************************************************************/
2445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#ifndef NFA_MEM_CO_H
2545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#define NFA_MEM_CO_H
2645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
2745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#include "nfc_target.h"
2845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
2945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/*****************************************************************************
3045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**  Constants and data types
3145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*****************************************************************************/
3245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
3345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
3445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/*****************************************************************************
3545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**  External Function Declarations
3645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*****************************************************************************/
3745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#ifdef __cplusplus
3845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chuextern "C"
3945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu{
4045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif
4145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
4245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/*******************************************************************************
4345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
4445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Function         nfa_mem_co_alloc
4545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
4645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Description      allocate a buffer from platform's memory pool
4745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
4845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Returns:
4945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**                  pointer to buffer if successful
5045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**                  NULL otherwise
5145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
5245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*******************************************************************************/
5345faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuNFC_API extern void *nfa_mem_co_alloc (UINT32 num_bytes);
5445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
5545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
5645faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu/*******************************************************************************
5745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
5845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Function         nfa_mem_co_free
5945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
6045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Description      free buffer previously allocated using nfa_mem_co_alloc
6145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
6245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu** Returns:
6345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**                  Nothing
6445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu**
6545faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu*******************************************************************************/
6645faad0ff5deeb0c676356345d99398cc4ab695aEvan ChuNFC_API extern void nfa_mem_co_free (void *p_buf);
6745faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
6845faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
6945faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#ifdef __cplusplus
7045faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu}
7145faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif
7245faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
7345faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu#endif /* NFA_MEM_CO_H */
7445faad0ff5deeb0c676356345d99398cc4ab695aEvan Chu
75