1 /******************************************************************************
2  *
3  *  Copyright (C) 2009-2012 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  *  This is the implementation file for the HeaLth device profile (HL)
22  *  subsystem call-in functions.
23  *
24  ******************************************************************************/
25 
26 #include <stddef.h>
27 
28 #include "bta_api.h"
29 #include "bta_hl_api.h"
30 #include "bta_hl_ci.h"
31 #include "bta_hl_co.h"
32 #include "bta_hl_int.h"
33 #include "bta_sys.h"
34 #include "btm_api.h"
35 
36 /*******************************************************************************
37  *
38  * Function         bta_hl_ci_get_tx_data
39  *
40  * Description      This function is called in response to the
41  *                  bta_hl_co_get_tx_data call-out function.
42  *
43  * Parameters       mdl_handle -MDL handle
44  *                  status - BTA_MA_STATUS_OK if operation is successful
45  *                           BTA_MA_STATUS_FAIL if any errors have occurred.
46  *                  evt    - evt from the call-out function
47  *
48  * Returns          void
49  *
50  ******************************************************************************/
bta_hl_ci_get_tx_data(tBTA_HL_MDL_HANDLE mdl_handle,tBTA_HL_STATUS status,uint16_t evt)51 void bta_hl_ci_get_tx_data(tBTA_HL_MDL_HANDLE mdl_handle, tBTA_HL_STATUS status,
52                            uint16_t evt) {
53   tBTA_HL_CI_GET_PUT_DATA* p_evt =
54       (tBTA_HL_CI_GET_PUT_DATA*)osi_malloc(sizeof(tBTA_HL_CI_GET_PUT_DATA));
55 
56 #if (BTA_HL_DEBUG == TRUE)
57   APPL_TRACE_DEBUG("%s mdl_handle=%d status=%d evt=%d\n", __func__, mdl_handle,
58                    status, evt);
59 #endif
60 
61   p_evt->hdr.event = evt;
62   p_evt->mdl_handle = mdl_handle;
63   p_evt->status = status;
64 
65   bta_sys_sendmsg(p_evt);
66 }
67 
68 /*******************************************************************************
69  *
70  * Function         bta_hl_ci_put_rx_data
71  *
72  * Description      This function is called in response to the
73  *                  bta_hl_co_put_rx_data call-out function.
74  *
75  * Parameters       mdl_handle -MDL handle
76  *                  status - BTA_MA_STATUS_OK if operation is successful
77  *                           BTA_MA_STATUS_FAIL if any errors have occurred.
78  *                  evt    - evt from the call-out function
79  *
80  * Returns          void
81  *
82  ******************************************************************************/
bta_hl_ci_put_rx_data(tBTA_HL_MDL_HANDLE mdl_handle,tBTA_HL_STATUS status,uint16_t evt)83 extern void bta_hl_ci_put_rx_data(tBTA_HL_MDL_HANDLE mdl_handle,
84                                   tBTA_HL_STATUS status, uint16_t evt) {
85   tBTA_HL_CI_GET_PUT_DATA* p_evt =
86       (tBTA_HL_CI_GET_PUT_DATA*)osi_malloc(sizeof(tBTA_HL_CI_GET_PUT_DATA));
87 
88 #if (BTA_HL_DEBUG == TRUE)
89   APPL_TRACE_DEBUG("%s mdl_handle=%d status=%d evt=%d\n", __func__, mdl_handle,
90                    status, evt);
91 #endif
92 
93   p_evt->hdr.event = evt;
94   p_evt->mdl_handle = mdl_handle;
95   p_evt->status = status;
96 
97   bta_sys_sendmsg(p_evt);
98 }
99 
100 /*******************************************************************************
101  *
102  * Function         bta_hl_ci_get_echo_data
103  *
104  * Description      This function is called in response to the
105  *                  bta_hl_co_get_echo_data call-out function.
106  *
107  * Parameters       mcl_handle -MCL handle
108  *                  status - BTA_MA_STATUS_OK if operation is successful
109  *                           BTA_MA_STATUS_FAIL if any errors have occurred.
110  *                  evt    - evt from the call-out function
111  *
112  * Returns          void
113  *
114  ******************************************************************************/
bta_hl_ci_get_echo_data(tBTA_HL_MCL_HANDLE mcl_handle,tBTA_HL_STATUS status,uint16_t evt)115 extern void bta_hl_ci_get_echo_data(tBTA_HL_MCL_HANDLE mcl_handle,
116                                     tBTA_HL_STATUS status, uint16_t evt) {
117   tBTA_HL_CI_ECHO_DATA* p_evt =
118       (tBTA_HL_CI_ECHO_DATA*)osi_malloc(sizeof(tBTA_HL_CI_ECHO_DATA));
119 
120 #if (BTA_HL_DEBUG == TRUE)
121   APPL_TRACE_DEBUG("%s mcl_handle=%d status=%d evt=%d\n", __func__, mcl_handle,
122                    status, evt);
123 #endif
124 
125   p_evt->hdr.event = evt;
126   p_evt->mcl_handle = mcl_handle;
127   p_evt->status = status;
128 
129   bta_sys_sendmsg(p_evt);
130 }
131 
132 /*******************************************************************************
133  *
134  * Function         bta_hl_ci_put_echo_data
135  *
136  * Description      This function is called in response to the
137  *                  bta_hl_co_put_echo_data call-out function.
138  *
139  * Parameters       mcl_handle -MCL handle
140  *                  status - BTA_MA_STATUS_OK if operation is successful
141  *                           BTA_MA_STATUS_FAIL if any errors have occurred.
142  *                  evt    - evt from the call-out function
143  *
144  * Returns          void
145  *
146  ******************************************************************************/
bta_hl_ci_put_echo_data(tBTA_HL_MCL_HANDLE mcl_handle,tBTA_HL_STATUS status,uint16_t evt)147 extern void bta_hl_ci_put_echo_data(tBTA_HL_MCL_HANDLE mcl_handle,
148                                     tBTA_HL_STATUS status, uint16_t evt) {
149   tBTA_HL_CI_ECHO_DATA* p_evt =
150       (tBTA_HL_CI_ECHO_DATA*)osi_malloc(sizeof(tBTA_HL_CI_ECHO_DATA));
151 
152 #if (BTA_HL_DEBUG == TRUE)
153   APPL_TRACE_DEBUG("%s mcl_handle=%d status=%d evt=%d\n", __func__, mcl_handle,
154                    status, evt);
155 #endif
156 
157   p_evt->hdr.event = evt;
158   p_evt->mcl_handle = mcl_handle;
159   p_evt->status = status;
160 
161   bta_sys_sendmsg(p_evt);
162 }
163