4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 #ifndef _SYS_USB_USBA_USBA_IMPL_H
27 #define _SYS_USB_USBA_USBA_IMPL_H
28
29
30 #include <sys/usb/usba.h>
31 #include <sys/usb/usba/hcdi.h>
32 #include <sys/usb/usba/hubdi.h>
33 #include <sys/usb/usba/usba_private.h>
34 #include <sys/usb/usba/usba_types.h>
35 #include <sys/taskq.h>
36 #include <sys/disp.h>
37
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41
42
43 /*
248 * prototypes
249 */
250 void usba_usba_initialization();
251 void usba_usba_destroy();
252
253 void usba_usbai_register_initialization();
254 void usba_usbai_register_destroy();
255
256 void usba_usbai_initialization();
257 void usba_usbai_destroy();
258
259 void usba_hubdi_initialization();
260 void usba_hubdi_destroy();
261
262 void usba_devdb_initialization();
263 void usba_devdb_destroy();
264
265 int usba_hubdi_register(dev_info_t *, uint_t);
266 int usba_hubdi_unregister(dev_info_t *);
267
268 void usba_whcdi_initialization();
269 void usba_whcdi_destroy();
270
271 int usba_is_root_hub(dev_info_t *dip);
272 int usba_is_wa(dev_info_t *dip);
273 int usba_is_hwa(dev_info_t *dip);
274
275 usba_device_t *usba_alloc_usba_device(dev_info_t *);
276 void usba_free_wireless_data(usba_wireless_data_t *wireless_data);
277 void usba_free_usba_device(usba_device_t *usba_device_t);
278 void usba_clear_data_toggle(usba_device_t *usba_device);
279
280 void usba_start_next_req(usba_pipe_handle_data_t *ph);
281
282 int usba_pipe_check_handle(usba_pipe_handle_data_t *);
283 int usba_drain_cbs(usba_pipe_handle_data_t *, usb_cb_flags_t,
284 usb_cr_t);
285 int usba_pipe_setup_func_call(dev_info_t *,
286 int (*sync_func)(dev_info_t *,
287 usba_ph_impl_t *, usba_pipe_async_req_t *,
288 usb_flags_t),
289 usba_ph_impl_t *,
290 usb_opaque_t,
291 usb_flags_t,
292 void (*cb)(usb_pipe_handle_t, usb_opaque_t,
293 int, usb_cb_flags_t),
294 usb_opaque_t);
295
296
|
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 *
25 * Copyright 2014 Garrett D'Amore <garrett@damore.org>
26 */
27
28 #ifndef _SYS_USB_USBA_USBA_IMPL_H
29 #define _SYS_USB_USBA_USBA_IMPL_H
30
31
32 #include <sys/usb/usba.h>
33 #include <sys/usb/usba/hcdi.h>
34 #include <sys/usb/usba/hubdi.h>
35 #include <sys/usb/usba/usba_private.h>
36 #include <sys/usb/usba/usba_types.h>
37 #include <sys/taskq.h>
38 #include <sys/disp.h>
39
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43
44
45 /*
250 * prototypes
251 */
252 void usba_usba_initialization();
253 void usba_usba_destroy();
254
255 void usba_usbai_register_initialization();
256 void usba_usbai_register_destroy();
257
258 void usba_usbai_initialization();
259 void usba_usbai_destroy();
260
261 void usba_hubdi_initialization();
262 void usba_hubdi_destroy();
263
264 void usba_devdb_initialization();
265 void usba_devdb_destroy();
266
267 int usba_hubdi_register(dev_info_t *, uint_t);
268 int usba_hubdi_unregister(dev_info_t *);
269
270 int usba_is_root_hub(dev_info_t *dip);
271
272 usba_device_t *usba_alloc_usba_device(dev_info_t *);
273 void usba_free_usba_device(usba_device_t *usba_device_t);
274 void usba_clear_data_toggle(usba_device_t *usba_device);
275
276 void usba_start_next_req(usba_pipe_handle_data_t *ph);
277
278 int usba_pipe_check_handle(usba_pipe_handle_data_t *);
279 int usba_drain_cbs(usba_pipe_handle_data_t *, usb_cb_flags_t,
280 usb_cr_t);
281 int usba_pipe_setup_func_call(dev_info_t *,
282 int (*sync_func)(dev_info_t *,
283 usba_ph_impl_t *, usba_pipe_async_req_t *,
284 usb_flags_t),
285 usba_ph_impl_t *,
286 usb_opaque_t,
287 usb_flags_t,
288 void (*cb)(usb_pipe_handle_t, usb_opaque_t,
289 int, usb_cb_flags_t),
290 usb_opaque_t);
291
292
|