NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
hidd_api.h
1/******************************************************************************
2 *
3 * Copyright (C) 2016 The Android Open Source Project
4 * Copyright (C) 2002-2012 Broadcom Corporation
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at:
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 ******************************************************************************/
19#ifndef HIDD_API_H
20#define HIDD_API_H
21
22#include "hiddefs.h"
23#include "sdp_api.h"
24
25/*****************************************************************************
26 * Type Definitions
27 ****************************************************************************/
28
29enum { HID_CHANNEL_INTR, HID_CHANNEL_CTRL };
30
31/*
32 HID_DHOST_EVT_OPEN - connected to host device (CTRL and INTR), data = n/a
33 HID_DHOST_EVT_CLOSE - disconnected from host device, data=reason
34 HID_DHOST_EVT_GET_REPORT - got GET_REPORT from host
35 HID_DHOST_EVT_SET_REPORT - got SET_REPORT from host
36 HID_DHOST_EVT_SET_PROTOCOL - got SET_PROTOCOL from host
37*/
38
39enum {
40 HID_DHOST_EVT_OPEN,
41 HID_DHOST_EVT_CLOSE,
42 HID_DHOST_EVT_GET_REPORT,
43 HID_DHOST_EVT_SET_REPORT,
44 HID_DHOST_EVT_SET_PROTOCOL,
45 HID_DHOST_EVT_INTR_DATA,
46 HID_DHOST_EVT_VC_UNPLUG,
47 HID_DHOST_EVT_SUSPEND,
48 HID_DHOST_EVT_EXIT_SUSPEND,
49};
50typedef void(tHID_DEV_HOST_CALLBACK)(BD_ADDR bd_addr, UINT8 event,
51 UINT32 data, BT_HDR* p_buf);
52
53/*****************************************************************************
54 * External Function Declarations
55 ****************************************************************************/
56#ifdef __cplusplus
57extern "C" {
58#endif
59
60/*******************************************************************************
61 *
62 * Function HID_DevInit
63 *
64 * Description Initializes control block
65 *
66 * Returns void
67 *
68 ******************************************************************************/
69extern void HID_DevInit(void);
70
71/*******************************************************************************
72 *
73 * Function HID_DevRegister
74 *
75 * Description Registers HID device with lower layers
76 *
77 * Returns tHID_STATUS
78 *
79 ******************************************************************************/
80extern tHID_STATUS HID_DevRegister(tHID_DEV_HOST_CALLBACK* host_cback);
81
82/*******************************************************************************
83 *
84 * Function HID_DevDeregister
85 *
86 * Description Deregisters HID device with lower layers
87 *
88 * Returns tHID_STATUS
89 *
90 ******************************************************************************/
91extern tHID_STATUS HID_DevDeregister(void);
92
93/*******************************************************************************
94 *
95 * Function HID_DevSetSecurityLevel
96 *
97 * Description Sets security level for HID device connections
98 *
99 * Returns tHID_STATUS
100 *
101 ******************************************************************************/
102extern tHID_STATUS HID_DevSetSecurityLevel(UINT8 sec_lvl);
103
104/*******************************************************************************
105 *
106 * Function HID_DevAddRecord
107 *
108 * Description Creates SDP record for HID device
109 *
110 * Returns tHID_STATUS
111 *
112 ******************************************************************************/
113extern tHID_STATUS HID_DevAddRecord(UINT32 handle, char* p_name,
114 char* p_description, char* p_provider,
115 UINT16 subclass, UINT16 desc_len,
116 UINT8* p_desc_data);
117
118/*******************************************************************************
119 *
120 * Function HID_DevSendReport
121 *
122 * Description Sends report
123 *
124 * Returns tHID_STATUS
125 *
126 ******************************************************************************/
127extern tHID_STATUS HID_DevSendReport(UINT8 channel, UINT8 type, UINT8 id,
128 UINT16 len, UINT8* p_data);
129
130/*******************************************************************************
131 *
132 * Function HID_DevVirtualCableUnplug
133 *
134 * Description Sends Virtual Cable Unplug
135 *
136 * Returns tHID_STATUS
137 *
138 ******************************************************************************/
139extern tHID_STATUS HID_DevVirtualCableUnplug(void);
140
141/*******************************************************************************
142 *
143 * Function HID_DevPlugDevice
144 *
145 * Description Establishes virtual cable to given host
146 *
147 * Returns tHID_STATUS
148 *
149 ******************************************************************************/
150extern tHID_STATUS HID_DevPlugDevice(BD_ADDR addr);
151
152/*******************************************************************************
153 *
154 * Function HID_DevUnplugDevice
155 *
156 * Description Unplugs virtual cable from given host
157 *
158 * Returns tHID_STATUS
159 *
160 ******************************************************************************/
161extern tHID_STATUS HID_DevUnplugDevice(BD_ADDR addr);
162
163/*******************************************************************************
164 *
165 * Function HID_DevConnect
166 *
167 * Description Connects to device
168 *
169 * Returns tHID_STATUS
170 *
171 ******************************************************************************/
172extern tHID_STATUS HID_DevConnect(void);
173
174/*******************************************************************************
175 *
176 * Function HID_DevDisconnect
177 *
178 * Description Disconnects from device
179 *
180 * Returns tHID_STATUS
181 *
182 ******************************************************************************/
183extern tHID_STATUS HID_DevDisconnect(void);
184
185/*******************************************************************************
186 *
187 * Function HID_DevSetIncomingPolicy
188 *
189 * Description Sets policy for incoming connections (allowed/disallowed)
190 *
191 * Returns tHID_STATUS
192 *
193 ******************************************************************************/
194extern tHID_STATUS HID_DevSetIncomingPolicy(BOOLEAN allow);
195
196/*******************************************************************************
197 *
198 * Function HID_DevReportError
199 *
200 * Description Reports error for Set Report via HANDSHAKE
201 *
202 * Returns tHID_STATUS
203 *
204 ******************************************************************************/
205extern tHID_STATUS HID_DevReportError(UINT8 error);
206
207/*******************************************************************************
208 *
209 * Function HID_DevGetDevice
210 *
211 * Description Returns the BD Address of virtually cabled device
212 *
213 * Returns tHID_STATUS
214 *
215 ******************************************************************************/
216extern tHID_STATUS HID_DevGetDevice(BD_ADDR* addr);
217
218/*******************************************************************************
219 *
220 * Function HID_DevSetIncomingQos
221 *
222 * Description Sets Incoming QoS values for Interrupt L2CAP Channel
223 *
224 * Returns tHID_STATUS
225 *
226 ******************************************************************************/
227extern tHID_STATUS HID_DevSetIncomingQos(
228 UINT8 service_type, UINT32 token_rate, UINT32 token_bucket_size,
229 UINT32 peak_bandwidth, UINT32 latency, UINT32 delay_variation);
230
231/*******************************************************************************
232 *
233 * Function HID_DevSetOutgoingQos
234 *
235 * Description Sets Outgoing QoS values for Interrupt L2CAP Channel
236 *
237 * Returns tHID_STATUS
238 *
239 ******************************************************************************/
240extern tHID_STATUS HID_DevSetOutgoingQos(
241 UINT8 service_type, UINT32 token_rate, UINT32 token_bucket_size,
242 UINT32 peak_bandwidth, UINT32 latency, UINT32 delay_variation);
243
244/*******************************************************************************
245 *
246 * Function HID_DevSetTraceLevel
247 *
248 * Description This function sets the trace level for HID Dev. If called
249 * with a value of 0xFF, it simply reads the current trace level.
250 *
251 * Returns the new (current) trace level
252 *
253 ******************************************************************************/
254extern UINT8 HID_DevSetTraceLevel(UINT8 new_level);
255
256#ifdef __cplusplus
257}
258#endif
259
260#endif /* HIDD_API_H */