1/******************************************************************************
2 *
3 *  Copyright (C) 2003-2014 Broadcom Corporation
4 *
5 *  Licensed under the Apache License, Version 2.0 (the "License");
6 *  you may not use this file except in compliance with the License.
7 *  You may obtain a copy of the License at:
8 *
9 *  http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *  See the License for the specific language governing permissions and
15 *  limitations under the License.
16 *
17 ******************************************************************************/
18
19
20/******************************************************************************
21 *
22 *  This is the interface file for non valtile memory call-in functions.
23 *
24 ******************************************************************************/
25#ifndef NFA_NV_CI_H
26#define NFA_NV_CI_H
27
28#include "nfa_nv_co.h"
29
30/*****************************************************************************
31**  Constants and data types
32*****************************************************************************/
33
34/* Read Ready Event */
35typedef struct
36{
37    BT_HDR            hdr;
38    tNFA_NV_CO_STATUS status;
39    int               fd;
40    UINT16            num_read;
41} tNFA_NV_CI_READ_EVT;
42
43/* Write Ready Event */
44typedef struct
45{
46    BT_HDR            hdr;
47    tNFA_NV_CO_STATUS status;
48    int               fd;
49} tNFA_NV_CI_WRITE_EVT;
50
51/*****************************************************************************
52**  Function Declarations
53*****************************************************************************/
54#ifdef __cplusplus
55extern "C"
56{
57#endif
58
59/*******************************************************************************
60**
61** Function         nfa_nv_ci_write
62**
63** Description      This function sends an event to NFAA indicating the phone
64**                  has written the number of bytes specified in the call-out
65**                  function, nfa_nv_co_write (), and is ready for more data.
66**                  This function is used to control the TX data flow.
67**                  Note: The data buffer is released by the stack aioer
68**                        calling this function.
69**
70** Parameters       status - NFA_NV_CO_OK, NFA_NV_CO_NOSPACE, or NFA_NV_CO_FAIL
71**                  evt - Used Internally by NFA -> MUST be same value passed
72**                       in call-out function.
73**
74** Returns          void
75**
76*******************************************************************************/
77NFC_API extern void nfa_nv_ci_write (tNFA_NV_CO_STATUS status);
78
79/*******************************************************************************
80**
81** Function         nfa_nv_ci_read
82**
83** Description      This function sends an event to NFA indicating the phone has
84**                  read in the requested amount of data specified in the
85**                  nfa_nv_co_read () call-out function.  It should only be called
86**                  when the requested number of bytes has been read.
87**
88** Parameters       num_bytes_read - number of bytes read into the buffer
89**                      specified in the read callout-function.
90**                  status - NFA_NV_CO_OK if full buffer of data,
91**                           NFA_NV_CO_EOF if the end of file has been reached,
92**                           NFA_NV_CO_FAIL if an error has occurred.
93**                  evt - Used Internally by NFA -> MUST be same value passed
94**                       in call-out function.
95**
96** Returns          void
97**
98*******************************************************************************/
99NFC_API extern void nfa_nv_ci_read (UINT16            num_bytes_read,
100                                    tNFA_NV_CO_STATUS status,
101                                    UINT8             block);
102
103
104#ifdef __cplusplus
105}
106#endif
107
108#endif /* BTA_FS_CI_H */
109
110