patch-2.2.7 linux/drivers/usb/hub.h
Next file: linux/drivers/usb/inits.h
Previous file: linux/drivers/usb/hub.c
Back to the patch index
Back to the overall index
- Lines: 81
- Date:
Wed Apr 21 05:41:59 1999
- Orig file:
v2.2.6/linux/drivers/usb/hub.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.2.6/linux/drivers/usb/hub.h linux/drivers/usb/hub.h
@@ -0,0 +1,80 @@
+#ifndef __LINUX_HUB_H
+#define __LINUX_HUB_H
+
+#include <linux/list.h>
+
+/*
+ * Hub feature numbers
+ */
+#define C_HUB_LOCAL_POWER 0
+#define C_HUB_OVER_CURRENT 1
+
+/*
+ * Port feature numbers
+ */
+#define USB_PORT_FEAT_ENABLE 1
+#define USB_PORT_FEAT_SUSPEND 2
+#define USB_PORT_FEAT_OVER_CURRENT 3
+#define USB_PORT_FEAT_RESET 4
+#define USB_PORT_FEAT_POWER 8
+#define USB_PORT_FEAT_LOWSPEED 9
+#define USB_PORT_FEAT_C_CONNECTION 16
+#define USB_PORT_FEAT_C_ENABLE 17
+#define USB_PORT_FEAT_C_SUSPEND 18
+#define USB_PORT_FEAT_C_OVER_CURRENT 19
+#define USB_PORT_FEAT_C_RESET 20
+
+/* wPortStatus */
+#define USB_PORT_STAT_CONNECTION 0x0001
+#define USB_PORT_STAT_ENABLE 0x0002
+#define USB_PORT_STAT_SUSPEND 0x0004
+#define USB_PORT_STAT_OVERCURRENT 0x0008
+#define USB_PORT_STAT_RESET 0x0010
+#define USB_PORT_STAT_POWER 0x0100
+#define USB_PORT_STAT_LOW_SPEED 0x0200
+
+/* wPortChange */
+#define USB_PORT_STAT_C_CONNECTION 0x0001
+#define USB_PORT_STAT_C_ENABLE 0x0002
+#define USB_PORT_STAT_C_SUSPEND 0x0004
+#define USB_PORT_STAT_C_OVERCURRENT 0x0008
+#define USB_PORT_STAT_C_RESET 0x0010
+
+/* Characteristics */
+#define HUB_CHAR_LPSM 0x0003
+#define HUB_CHAR_COMPOUND 0x0004
+#define HUB_CHAR_OCPM 0x0018
+
+struct usb_device;
+
+typedef enum {
+ USB_PORT_UNPOWERED = 0, /* Default state */
+ USB_PORT_POWERED, /* When we've put power to it */
+ USB_PORT_ENABLED, /* When it's been enabled */
+ USB_PORT_DISABLED, /* If it's been disabled */
+ USB_PORT_ADMINDISABLED, /* Forced down */
+} usb_hub_port_state;
+
+struct usb_hub_port {
+ usb_hub_port_state cstate; /* Configuration state */
+
+ struct usb_device *child; /* Device attached to this port */
+
+ struct usb_hub *parent; /* Parent hub */
+};
+
+struct usb_hub {
+ /* Device structure */
+ struct usb_device *dev;
+
+ /* Temporary event list */
+ struct list_head event_list;
+
+ /* Number of ports on the hub */
+ int nports;
+
+ struct usb_hub_port ports[0]; /* Dynamically allocated */
+};
+
+#endif
+
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)