usb4bsd: Bring in FreeBSD's libusbhid, usbhidctl and USB kernel code.
[dragonfly.git] / sys / bus / u4b / storage / rio500_usb.h
1 /*-
2     ----------------------------------------------------------------------
3
4     Copyright (C) 2000  Cesar Miquel  (miquel@df.uba.ar)
5
6     Redistribution and use in source and binary forms, with or without
7     modification, are permitted under any licence of your choise which
8     meets the open source licence definiton
9     http://www.opensource.org/opd.html such as the GNU licence or the
10     BSD licence.
11
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15     General Public License or the BSD license for more details.
16
17     ----------------------------------------------------------------------
18
19     Modified for FreeBSD by Iwasa Kazmi <kzmi@ca2.so-net.ne.jp>
20
21     ---------------------------------------------------------------------- */
22
23 /*  $FreeBSD$ */
24
25 #include <sys/ioccom.h>
26 #ifndef USB_VENDOR_DIAMOND
27 #define USB_VENDOR_DIAMOND 0x841
28 #endif
29 #ifndef USB_PRODUCT_DIAMOND_RIO500USB
30 #define USB_PRODUCT_DIAMOND_RIO500USB 0x1
31 #endif
32
33 struct RioCommand
34 {
35   uint16_t  length;
36   int   request;
37   int   requesttype;
38   int   value;
39   int   index;
40   void *buffer;
41   int  timeout;
42 };
43
44 #define RIO_SEND_COMMAND        _IOWR('U', 200, struct RioCommand)
45 #define RIO_RECV_COMMAND        _IOWR('U', 201, struct RioCommand)
46
47 #define RIO_DIR_OUT                             0x0
48 #define RIO_DIR_IN                              0x1