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