root/dev/usb/usbdi_util.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: usbdi_util.h,v 1.16 2007/06/12 16:26:37 mbalmer Exp $ */
    2 /*      $NetBSD: usbdi_util.h,v 1.28 2002/07/11 21:14:36 augustss Exp $ */
    3 /*      $FreeBSD: src/sys/dev/usb/usbdi_util.h,v 1.9 1999/11/17 22:33:50 n_hibma Exp $  */
    4 
    5 /*
    6  * Copyright (c) 1998 The NetBSD Foundation, Inc.
    7  * All rights reserved.
    8  *
    9  * This code is derived from software contributed to The NetBSD Foundation
   10  * by Lennart Augustsson (lennart@augustsson.net) at
   11  * Carlstedt Research & Technology.
   12  *
   13  * Redistribution and use in source and binary forms, with or without
   14  * modification, are permitted provided that the following conditions
   15  * are met:
   16  * 1. Redistributions of source code must retain the above copyright
   17  *    notice, this list of conditions and the following disclaimer.
   18  * 2. Redistributions in binary form must reproduce the above copyright
   19  *    notice, this list of conditions and the following disclaimer in the
   20  *    documentation and/or other materials provided with the distribution.
   21  * 3. All advertising materials mentioning features or use of this software
   22  *    must display the following acknowledgement:
   23  *        This product includes software developed by the NetBSD
   24  *        Foundation, Inc. and its contributors.
   25  * 4. Neither the name of The NetBSD Foundation nor the names of its
   26  *    contributors may be used to endorse or promote products derived
   27  *    from this software without specific prior written permission.
   28  *
   29  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   30  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   31  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   32  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   33  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   34  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   35  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   36  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   37  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   38  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   39  * POSSIBILITY OF SUCH DAMAGE.
   40  */
   41 
   42 usbd_status     usbd_get_desc(usbd_device_handle dev, int type,
   43                     int index, int len, void *desc);
   44 usbd_status     usbd_get_config_desc(usbd_device_handle, int,
   45                     usb_config_descriptor_t *);
   46 usbd_status     usbd_get_config_desc_full(usbd_device_handle, int, void *, int);
   47 usbd_status     usbd_get_device_desc(usbd_device_handle dev,
   48                     usb_device_descriptor_t *d);
   49 usbd_status     usbd_set_address(usbd_device_handle dev, int addr);
   50 usbd_status     usbd_get_port_status(usbd_device_handle,
   51                     int, usb_port_status_t *);
   52 usbd_status     usbd_set_hub_feature(usbd_device_handle dev, int);
   53 usbd_status     usbd_clear_hub_feature(usbd_device_handle, int);
   54 usbd_status     usbd_set_port_feature(usbd_device_handle dev, int, int);
   55 usbd_status     usbd_clear_port_feature(usbd_device_handle, int, int);
   56 usbd_status     usbd_get_device_status(usbd_device_handle, usb_status_t *);
   57 usbd_status     usbd_get_hub_status(usbd_device_handle, usb_hub_status_t *);
   58 usbd_status     usbd_get_protocol(usbd_interface_handle dev, u_int8_t *report);
   59 usbd_status     usbd_set_protocol(usbd_interface_handle dev, int report);
   60 usbd_status     usbd_get_report_descriptor(usbd_device_handle dev, int ifcno,
   61                     int size, void *d);
   62 struct usb_hid_descriptor *usbd_get_hid_descriptor(usbd_interface_handle ifc);
   63 usbd_status     usbd_set_report(usbd_interface_handle iface, int type, int id,
   64                     void *data,int len);
   65 usbd_status     usbd_set_report_async(usbd_interface_handle iface, int type,
   66                     int id, void *data, int len);
   67 usbd_status     usbd_get_report(usbd_interface_handle iface, int type, int id,
   68                     void *data, int len);
   69 usbd_status     usbd_set_idle(usbd_interface_handle iface, int duration,int id);
   70 usbd_status     usbd_read_report_desc(usbd_interface_handle ifc, void **descp,
   71                     int *sizep, int mem);
   72 usbd_status     usbd_get_config(usbd_device_handle dev, u_int8_t *conf);
   73 usbd_status     usbd_get_string_desc(usbd_device_handle dev, int sindex,
   74                     int langid,usb_string_descriptor_t *sdesc, int *sizep);
   75 void            usbd_delay_ms(usbd_device_handle, u_int);
   76 
   77 
   78 usbd_status     usbd_set_config_no(usbd_device_handle dev, int no, int msg);
   79 usbd_status     usbd_set_config_index(usbd_device_handle dev, int index,
   80                     int msg);
   81 
   82 usbd_status     usbd_bulk_transfer(usbd_xfer_handle xfer,
   83                     usbd_pipe_handle pipe, u_int16_t flags, u_int32_t timeout,
   84                     void *buf, u_int32_t *size, char *lbl);
   85 
   86 usbd_status     usbd_intr_transfer(usbd_xfer_handle xfer,
   87                     usbd_pipe_handle pipe, u_int16_t flags, u_int32_t timeout,
   88                     void *buf, u_int32_t *size, char *lbl);
   89 
   90 void usb_detach_wait(struct device *);
   91 void usb_detach_wakeup(struct device *);
   92 
   93 usb_descriptor_t *usb_find_desc(usbd_device_handle dev, int type);

/* [<][>][^][v][top][bottom][index][help] */