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