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