File: /usr/src/linux/drivers/usb/serial/visor.h

1     /*
2      * USB HandSpring Visor driver
3      *
4      *	Copyright (C) 1999 - 2001
5      *	    Greg Kroah-Hartman (greg@kroah.com)
6      *
7      *	This program is free software; you can redistribute it and/or modify
8      *	it under the terms of the GNU General Public License as published by
9      *	the Free Software Foundation; either version 2 of the License, or
10      *	(at your option) any later version.
11      *
12      * See Documentation/usb/usb-serial.txt for more information on using this driver
13      * 
14      */
15     
16     #ifndef __LINUX_USB_SERIAL_VISOR_H
17     #define __LINUX_USB_SERIAL_VISOR_H
18     
19     
20     #define HANDSPRING_VENDOR_ID		0x082d
21     #define HANDSPRING_VISOR_ID		0x0100
22     
23     #define PALM_VENDOR_ID			0x0830
24     #define PALM_M500_ID			0x0001
25     #define PALM_M505_ID			0x0002
26     
27     #define SONY_VENDOR_ID			0x054C
28     #define SONY_CLIE_3_5_ID		0x0038
29     #define SONY_CLIE_4_0_ID		0x0066
30     
31     /****************************************************************************
32      * Handspring Visor Vendor specific request codes (bRequest values)
33      * A big thank you to Handspring for providing the following information.
34      * If anyone wants the original file where these values and structures came
35      * from, send email to <greg@kroah.com>.
36      ****************************************************************************/
37     
38     /****************************************************************************
39      * VISOR_REQUEST_BYTES_AVAILABLE asks the visor for the number of bytes that
40      * are available to be transferred to the host for the specified endpoint.
41      * Currently this is not used, and always returns 0x0001
42      ****************************************************************************/
43     #define VISOR_REQUEST_BYTES_AVAILABLE		0x01
44     
45     /****************************************************************************
46      * VISOR_CLOSE_NOTIFICATION is set to the device to notify it that the host
47      * is now closing the pipe. An empty packet is sent in response.
48      ****************************************************************************/
49     #define VISOR_CLOSE_NOTIFICATION		0x02
50     
51     /****************************************************************************
52      * VISOR_GET_CONNECTION_INFORMATION is sent by the host during enumeration to
53      * get the endpoints used by the connection.
54      ****************************************************************************/
55     #define VISOR_GET_CONNECTION_INFORMATION	0x03
56     
57     
58     /****************************************************************************
59      * VISOR_GET_CONNECTION_INFORMATION returns data in the following format
60      ****************************************************************************/
61     struct visor_connection_info {
62     	__u16	num_ports;
63     	struct {
64     		__u8	port_function_id;
65     		__u8	port;
66     	} connections[2];
67     };
68     
69     
70     /* struct visor_connection_info.connection[x].port defines: */
71     #define VISOR_ENDPOINT_1		0x01
72     #define VISOR_ENDPOINT_2		0x02
73     
74     /* struct visor_connection_info.connection[x].port_function_id defines: */
75     #define VISOR_FUNCTION_GENERIC		0x00
76     #define VISOR_FUNCTION_DEBUGGER		0x01
77     #define VISOR_FUNCTION_HOTSYNC		0x02
78     #define VISOR_FUNCTION_CONSOLE		0x03
79     #define VISOR_FUNCTION_REMOTE_FILE_SYS	0x04
80     
81     
82     /****************************************************************************
83      * PALM_GET_SOME_UNKNOWN_INFORMATION is sent by the host during enumeration to
84      * get some information from the M series devices, that is currently unknown.
85      ****************************************************************************/
86     #define PALM_GET_SOME_UNKNOWN_INFORMATION	0x04
87     
88     #endif
89     
90