NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
hiddefs.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
19
/******************************************************************************
20
*
21
* This file contains HID protocol definitions
22
*
23
******************************************************************************/
24
25
#ifndef HIDDEFS_H
26
#define HIDDEFS_H
27
28
#include "sdp_api.h"
29
/*
30
** tHID_STATUS: HID result codes, returned by HID and device and host functions.
31
*/
32
enum
33
{
34
HID_SUCCESS,
35
HID_ERR_NOT_REGISTERED,
36
HID_ERR_ALREADY_REGISTERED,
37
HID_ERR_NO_RESOURCES,
38
HID_ERR_NO_CONNECTION,
39
HID_ERR_INVALID_PARAM,
40
HID_ERR_UNSUPPORTED,
41
HID_ERR_UNKNOWN_COMMAND,
42
HID_ERR_CONGESTED,
43
HID_ERR_CONN_IN_PROCESS,
44
HID_ERR_ALREADY_CONN,
45
HID_ERR_DISCONNECTING,
46
HID_ERR_SET_CONNABLE_FAIL,
47
/* Device specific error codes */
48
HID_ERR_HOST_UNKNOWN,
49
HID_ERR_L2CAP_FAILED,
50
HID_ERR_AUTH_FAILED,
51
HID_ERR_SDP_BUSY,
52
53
HID_ERR_INVALID = 0xFF
54
};
55
56
typedef
UINT8 tHID_STATUS;
57
58
#define HID_L2CAP_CONN_FAIL (0x0100)
/* Connection Attempt was made but failed */
59
#define HID_L2CAP_REQ_FAIL (0x0200)
/* L2CAP_ConnectReq API failed */
60
#define HID_L2CAP_CFG_FAIL (0x0400)
/* L2CAP Configuration was rejected by peer */
61
62
63
64
/* Define the HID transaction types
65
*/
66
#define HID_TRANS_HANDSHAKE (0)
67
#define HID_TRANS_CONTROL (1)
68
#define HID_TRANS_GET_REPORT (4)
69
#define HID_TRANS_SET_REPORT (5)
70
#define HID_TRANS_GET_PROTOCOL (6)
71
#define HID_TRANS_SET_PROTOCOL (7)
72
#define HID_TRANS_GET_IDLE (8)
73
#define HID_TRANS_SET_IDLE (9)
74
#define HID_TRANS_DATA (10)
75
#define HID_TRANS_DATAC (11)
76
77
#define HID_GET_TRANS_FROM_HDR(x) ((x >> 4) & 0x0f)
78
#define HID_GET_PARAM_FROM_HDR(x) (x & 0x0f)
79
#define HID_BUILD_HDR(t,p) (UINT8)((t << 4) | (p & 0x0f))
80
81
82
/* Parameters for Handshake
83
*/
84
#define HID_PAR_HANDSHAKE_RSP_SUCCESS (0)
85
#define HID_PAR_HANDSHAKE_RSP_NOT_READY (1)
86
#define HID_PAR_HANDSHAKE_RSP_ERR_INVALID_REP_ID (2)
87
#define HID_PAR_HANDSHAKE_RSP_ERR_UNSUPPORTED_REQ (3)
88
#define HID_PAR_HANDSHAKE_RSP_ERR_INVALID_PARAM (4)
89
#define HID_PAR_HANDSHAKE_RSP_ERR_UNKNOWN (14)
90
#define HID_PAR_HANDSHAKE_RSP_ERR_FATAL (15)
91
92
93
/* Parameters for Control
94
*/
95
#define HID_PAR_CONTROL_NOP (0)
96
#define HID_PAR_CONTROL_HARD_RESET (1)
97
#define HID_PAR_CONTROL_SOFT_RESET (2)
98
#define HID_PAR_CONTROL_SUSPEND (3)
99
#define HID_PAR_CONTROL_EXIT_SUSPEND (4)
100
#define HID_PAR_CONTROL_VIRTUAL_CABLE_UNPLUG (5)
101
102
103
/* Different report types in get, set, data
104
*/
105
#define HID_PAR_REP_TYPE_MASK (0x03)
106
#define HID_PAR_REP_TYPE_OTHER (0x00)
107
#define HID_PAR_REP_TYPE_INPUT (0x01)
108
#define HID_PAR_REP_TYPE_OUTPUT (0x02)
109
#define HID_PAR_REP_TYPE_FEATURE (0x03)
110
111
/* Parameters for Get Report
112
*/
113
114
/* Buffer size in two bytes after Report ID */
115
#define HID_PAR_GET_REP_BUFSIZE_FOLLOWS (0x08)
116
117
118
/* Parameters for Protocol Type
119
*/
120
#define HID_PAR_PROTOCOL_MASK (0x01)
121
#define HID_PAR_PROTOCOL_REPORT (0x01)
122
#define HID_PAR_PROTOCOL_BOOT_MODE (0x00)
123
124
#define HID_PAR_REP_TYPE_MASK (0x03)
125
126
/* Descriptor types in the SDP record
127
*/
128
#define HID_SDP_DESCRIPTOR_REPORT (0x22)
129
#define HID_SDP_DESCRIPTOR_PHYSICAL (0x23)
130
131
typedef
struct
desc_info
132
{
133
UINT16 dl_len;
134
UINT8 *dsc_list;
135
} tHID_DEV_DSCP_INFO;
136
137
#define HID_SSR_PARAM_INVALID 0xffff
138
139
typedef
struct
sdp_info
140
{
141
char
svc_name[HID_MAX_SVC_NAME_LEN];
/*Service Name */
142
char
svc_descr[HID_MAX_SVC_DESCR_LEN];
/*Service Description*/
143
char
prov_name[HID_MAX_PROV_NAME_LEN];
/*Provider Name.*/
144
UINT16 rel_num;
/*Release Number */
145
UINT16 hpars_ver;
/*HID Parser Version.*/
146
UINT16 ssr_max_latency;
/* HIDSSRHostMaxLatency value, if HID_SSR_PARAM_INVALID not used*/
147
UINT16 ssr_min_tout;
/* HIDSSRHostMinTimeout value, if HID_SSR_PARAM_INVALID not used* */
148
UINT8 sub_class;
/*Device Subclass.*/
149
UINT8 ctry_code;
/*Country Code.*/
150
UINT16 sup_timeout;
/* Supervisory Timeout */
151
152
tHID_DEV_DSCP_INFO dscp_info;
/* Descriptor list and Report list to be set in the SDP record.
153
This parameter is used if HID_DEV_USE_GLB_SDP_REC is set to FALSE.*/
154
tSDP_DISC_REC *p_sdp_layer_rec;
155
} tHID_DEV_SDP_INFO;
156
157
#endif
158
desc_info
Definition
hiddefs.h:132
sdp_info
Definition
hiddefs.h:140
include
lib
revolution
BTE
stack
include
hiddefs.h
Made with ❤️ by
CLF78
and
RootCubed
. Logos by
Chasical
and
B1
. Website generated by
Doxygen
1.13.2