NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
hidh_api.h
1/******************************************************************************
2 *
3 * Copyright (C) 2002-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#ifndef HIDH_API_H
19#define HIDH_API_H
20
21#include "hiddefs.h"
22#include "sdp_api.h"
23
24/*****************************************************************************
25** Constants
26*****************************************************************************/
27
28enum {
29 HID_SDP_NO_SERV_UUID = (SDP_ILLEGAL_PARAMETER+1),
30 HID_SDP_MANDATORY_MISSING
31};
32
33/* Attributes mask values to be used in HID_HostAddDev API */
34#define HID_VIRTUAL_CABLE 0x0001
35#define HID_NORMALLY_CONNECTABLE 0x0002
36#define HID_RECONN_INIT 0x0004
37#define HID_SDP_DISABLE 0x0008
38#define HID_BATTERY_POWER 0x0010
39#define HID_REMOTE_WAKE 0x0020
40#define HID_SUP_TOUT_AVLBL 0x0040
41#define HID_SSR_MAX_LATENCY 0x0080
42#define HID_SSR_MIN_TOUT 0x0100
43
44#define HID_SEC_REQUIRED 0x8000
45
46
47/*****************************************************************************
48** Type Definitions
49*****************************************************************************/
50
51typedef void (tHID_HOST_SDP_CALLBACK) (UINT16 result, UINT16 attr_mask,
52 tHID_DEV_SDP_INFO *sdp_rec );
53
54/* HID-HOST returns the events in the following table to the application via tHID_HOST_DEV_CALLBACK
55HID_HDEV_EVT_OPEN Connected to device with Interrupt and Control Channels in OPEN state.
56 Data = NA
57HID_HDEV_EVT_CLOSE Connection with device is closed. Data=reason code.
58HID_HDEV_EVT_RETRYING Lost connection is being re-connected.
59 Data=Retrial number
60HID_HDEV_EVT_IN_REPORT Device sent an input report Data=Report Type pdata= pointer to BT_HDR
61 (GKI buffer having report data.)
62HID_HDEV_EVT_HANDSHAKE Device sent SET_REPORT Data=Result-code pdata=NA.
63HID_HDEV_EVT_VC_UNPLUG Device sent Virtual Unplug Data=NA. pdata=NA.
64*/
65
66enum
67{
68 HID_HDEV_EVT_OPEN,
69 HID_HDEV_EVT_CLOSE,
70 HID_HDEV_EVT_RETRYING,
71 HID_HDEV_EVT_INTR_DATA,
72 HID_HDEV_EVT_INTR_DATC,
73 HID_HDEV_EVT_CTRL_DATA,
74 HID_HDEV_EVT_CTRL_DATC,
75 HID_HDEV_EVT_HANDSHAKE,
76 HID_HDEV_EVT_VC_UNPLUG
77};
78typedef void (tHID_HOST_DEV_CALLBACK) (UINT8 dev_handle,
79 UINT8 event, /* Event from HID-DEVICE. */
80 UINT32 data, /* Integer data corresponding to the event.*/
81 BT_HDR *p_buf ); /* Pointer data corresponding to the event. */
82
83
84/*****************************************************************************
85** External Function Declarations
86*****************************************************************************/
87#ifdef __cplusplus
88extern "C"
89{
90#endif
91
92/*******************************************************************************
93**
94** Function HID_HostGetSDPRecord
95**
96** Description This function reads the device SDP record.
97**
98** Returns tHID_STATUS
99**
100*******************************************************************************/
101HID_API extern tHID_STATUS HID_HostGetSDPRecord (BD_ADDR addr,
102 tSDP_DISCOVERY_DB *p_db,
103 UINT32 db_len,
104 tHID_HOST_SDP_CALLBACK *sdp_cback );
105
106/*******************************************************************************
107**
108** Function HID_HostRegister
109**
110** Description This function registers HID-Host with lower layers.
111**
112** Returns tHID_STATUS
113**
114*******************************************************************************/
115HID_API extern tHID_STATUS HID_HostRegister (tHID_HOST_DEV_CALLBACK *dev_cback);
116
117/*******************************************************************************
118**
119** Function HID_HostDeregister
120**
121** Description This function is called when the host is about power down.
122**
123** Returns tHID_STATUS
124**
125*******************************************************************************/
126HID_API extern tHID_STATUS HID_HostDeregister(void);
127
128/*******************************************************************************
129**
130** Function HID_HostAddDev
131**
132** Description This is called so HID-host may manage this device.
133**
134** Returns tHID_STATUS
135**
136*******************************************************************************/
137HID_API extern tHID_STATUS HID_HostAddDev (BD_ADDR addr, UINT16 attr_mask,
138 UINT8 *handle );
139
140/*******************************************************************************
141**
142** Function HID_HostRemoveDev
143**
144** Description This removes the device from list devices that host has to manage.
145**
146** Returns tHID_STATUS
147**
148*******************************************************************************/
149HID_API extern tHID_STATUS HID_HostRemoveDev (UINT8 dev_handle );
150
151/*******************************************************************************
152**
153** Function HID_HostOpenDev
154**
155** Description This function is called when the user wants to initiate a
156** connection attempt to a device.
157**
158** Returns void
159**
160*******************************************************************************/
161HID_API extern tHID_STATUS HID_HostOpenDev (UINT8 dev_handle );
162
163/*******************************************************************************
164**
165** Function HID_HostWriteDev
166**
167** Description This function is called when the host has a report to send.
168**
169** Returns void
170**
171*******************************************************************************/
172HID_API extern tHID_STATUS HID_HostWriteDev(UINT8 dev_handle, UINT8 t_type,
173 UINT8 param, UINT16 data,
174 UINT8 report_id, BT_HDR *pbuf);
175
176/*******************************************************************************
177**
178** Function HID_HostCloseDev
179**
180** Description This function disconnects the device.
181**
182** Returns void
183**
184*******************************************************************************/
185HID_API extern tHID_STATUS HID_HostCloseDev(UINT8 dev_handle );
186
187/*******************************************************************************
188** Function HID_HostInit
189**
190** Description This function initializes the control block and trace variable
191**
192** Returns void
193*******************************************************************************/
194HID_API extern void HID_HostInit(void);
195
196/*******************************************************************************
197** Function HID_HostSetSecurityLevel
198**
199** Description This function sets the security level for the devices which
200** are marked by application as requiring security
201**
202** Returns tHID_STATUS
203*******************************************************************************/
204HID_API extern tHID_STATUS HID_HostSetSecurityLevel( char serv_name[], UINT8 sec_lvl );
205
206/*******************************************************************************
207**
208** Function HID_HostSetTraceLevel
209**
210** Description This function sets the trace level for HID Host. If called with
211** a value of 0xFF, it simply reads the current trace level.
212**
213** Returns the new (current) trace level
214**
215*******************************************************************************/
216HID_API extern UINT8 HID_HostSetTraceLevel (UINT8 new_level);
217
218#ifdef __cplusplus
219}
220#endif
221
222#endif /* HIDH_API_H */