When re-connecting an already connected datagram socket be sure to clean
[dragonfly.git] / sys / bus / usb / rio500_usb.h
1 /*  ----------------------------------------------------------------------
2
3     Copyright (C) 2000  Cesar Miquel  (miquel@df.uba.ar)
4
5     Redistribution and use in source and binary forms, with or without
6     modification, are permitted under any licence of your choise which
7     meets the open source licence definiton
8     http://www.opensource.org/opd.html such as the GNU licence or the
9     BSD licence.
10
11     This program is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14     General Public License or the BSD license for more details.
15
16     ----------------------------------------------------------------------
17
18     Modified for FreeBSD by Iwasa Kazmi <kzmi@ca2.so-net.ne.jp>
19
20     ---------------------------------------------------------------------- */
21
22 /*
23  * $FreeBSD: src/sys/dev/usb/rio500_usb.h,v 1.1 2000/04/08 17:02:13 n_hibma Exp $
24  * $DragonFly: src/sys/bus/usb/rio500_usb.h,v 1.4 2004/02/11 15:17:26 joerg Exp $
25  */
26
27 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
28 #include <sys/ioccom.h>
29 #ifndef USB_VENDOR_DIAMOND
30 #define USB_VENDOR_DIAMOND 0x841
31 #endif
32 #ifndef USB_PRODUCT_DIAMOND_RIO500USB
33 #define USB_PRODUCT_DIAMOND_RIO500USB 0x1
34 #endif
35 #endif
36
37 struct RioCommand
38 {
39 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
40   u_int16_t  length;
41 #else
42   short length;
43 #endif
44   int   request;
45   int   requesttype;
46   int   value;
47   int   index;
48   void *buffer;
49   int  timeout;
50 };
51
52 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
53 #define RIO_SEND_COMMAND        _IOWR('U', 200, struct RioCommand)
54 #define RIO_RECV_COMMAND        _IOWR('U', 201, struct RioCommand)
55 #else
56 #define RIO_SEND_COMMAND                        0x1
57 #define RIO_RECV_COMMAND                        0x2
58 #endif
59
60 #define RIO_DIR_OUT                             0x0
61 #define RIO_DIR_IN                              0x1