1b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org/****************************************************************************** 2b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * 3b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * Copyright (C) 2003-2014 Broadcom Corporation 4b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * 5b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * Licensed under the Apache License, Version 2.0 (the "License"); 6b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * you may not use this file except in compliance with the License. 7e4fafb146e85cdfcf9d5418597b6818aa0754adatfarina@chromium.org * You may obtain a copy of the License at: 8b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * 98f6884aab8aecd7657cf3f9cdbc682f0deca29c5tfarina@chromium.org * http://www.apache.org/licenses/LICENSE-2.0 108f6884aab8aecd7657cf3f9cdbc682f0deca29c5tfarina@chromium.org * 118f6884aab8aecd7657cf3f9cdbc682f0deca29c5tfarina@chromium.org * Unless required by applicable law or agreed to in writing, software 12b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * distributed under the License is distributed on an "AS IS" BASIS, 13b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14deee496cd30070e52556dcb538c2e5eb39b66b81mike@reedtribe.org * See the License for the specific language governing permissions and 15deee496cd30070e52556dcb538c2e5eb39b66b81mike@reedtribe.org * limitations under the License. 16b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * 17a3264e53ee3f3c5d6a2c813df7e44b5b96d207f2commit-bot@chromium.org ******************************************************************************/ 18d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 19b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 20d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com/****************************************************************************** 21b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * 22b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * This is the interface file for the synchronization server call-out 23b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * functions. 24b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org * 25b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org ******************************************************************************/ 26b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#ifndef NFA_NV_CO_H 27deee496cd30070e52556dcb538c2e5eb39b66b81mike@reedtribe.org#define NFA_NV_CO_H 28b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 29b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#include <time.h> 30d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 31b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#include "nfa_api.h" 32b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 33b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org/***************************************************************************** 34b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Constants and Data Types 35b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org*****************************************************************************/ 36b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 37383a697692cf46951fd451f6f4c3d03634a6a1cbreed@google.com 38d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com/************************** 39b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Common Definitions 40b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org***************************/ 41b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 42b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org/* Status codes returned by call-out functions, or in call-in functions as status */ 43b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_OK 0x00 44b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_FAIL 0x01 /* Used to pass all other errors */ 45383a697692cf46951fd451f6f4c3d03634a6a1cbreed@google.com#define NFA_NV_CO_EACCES 0x02 46d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com#define NFA_NV_CO_ENOTEMPTY 0x03 47b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_EOF 0x04 48b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_EODIR 0x05 49b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_ENOSPACE 0x06 /* Returned in nfa_nv_ci_open if no room */ 50b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_EIS_DIR 0x07 51b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_RESUME 0x08 /* used in nfa_nv_ci_open, on resume */ 52b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define NFA_NV_CO_NONE 0x09 /* used in nfa_nv_ci_open, on resume (no file to resume) */ 53b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 54b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.orgtypedef UINT8 tNFA_NV_CO_STATUS; 55b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 56b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 57b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define DH_NV_BLOCK 0x01 58b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define HC_F3_NV_BLOCK 0x02 59b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define HC_F4_NV_BLOCK 0x03 60b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define HC_DH_NV_BLOCK 0x04 61b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org#define HC_F5_NV_BLOCK 0x05 62b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 63b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 64b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org/***************************************************************************** 65b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Function Declarations 66b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org*****************************************************************************/ 67b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org/************************** 68b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Common Functions 69b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org***************************/ 70b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 71b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org/******************************************************************************* 72b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 73b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Function nfa_nv_co_read 74b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 75b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Description This function is called by NFA to read in data from the 76b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** previously opened file. 77b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 78b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Parameters p_buf - buffer to read the data into. 79b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** nbytes - number of bytes to read into the buffer. 80b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 81b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Returns void 82b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 83b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Note: Upon completion of the request, nfa_nv_ci_read () is 84b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** called with the buffer of data, along with the number 85b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** of bytes read into the buffer, and a status. The 86b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** call-in function should only be called when ALL requested 87b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** bytes have been read, the end of file has been detected, 88b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** or an error has occurred. 89b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 90b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org*******************************************************************************/ 91b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.orgNFC_API extern void nfa_nv_co_read (UINT8 *p_buf, UINT16 nbytes, UINT8 block); 92b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 93b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org/******************************************************************************* 94b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 95b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Function nfa_nv_co_write 96b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 97b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Description This function is called by io to send file data to the 98b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** phone. 99b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 100b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Parameters p_buf - buffer to read the data from. 101b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** nbytes - number of bytes to write out to the file. 102b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 103b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Returns void 104b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 105b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** Note: Upon completion of the request, nfa_nv_ci_write () is 106b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** called with the file descriptor and the status. The 107b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** call-in function should only be called when ALL requested 108e4fafb146e85cdfcf9d5418597b6818aa0754adatfarina@chromium.org** bytes have been written, or an error has been detected, 109b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org** 110b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org*******************************************************************************/ 111b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.orgNFC_API extern void nfa_nv_co_write (const UINT8 *p_buf, UINT16 nbytes, UINT8 block); 112b6e161937bc890f0aa12ac5e27415d4d260ea6e0junov@chromium.org 113 114#endif /* NFA_NV_CO_H */ 115