struct_usb_device man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

STRUCT USB_DEVICE(9)	Host-Side Data Types and Macro	  STRUCT USB_DEVICE(9)

NAME
       struct_usb_device - kernel´s representation of a USB device

SYNOPSIS
       struct usb_device {
	 int devnum;
	 char devpath[16];
	 u32 route;
	 enum usb_device_state state;
	 enum usb_device_speed speed;
	 struct usb_tt * tt;
	 int ttport;
	 unsigned int toggle[2];
	 struct usb_device * parent;
	 struct usb_bus * bus;
	 struct usb_host_endpoint ep0;
	 struct device dev;
	 struct usb_device_descriptor descriptor;
	 struct usb_host_config * config;
	 struct usb_host_config * actconfig;
	 struct usb_host_endpoint * ep_in[16];
	 struct usb_host_endpoint * ep_out[16];
	 char ** rawdescriptors;
	 unsigned short bus_mA;
	 u8 portnum;
	 u8 level;
	 unsigned can_submit:1;
	 unsigned discon_suspended:1;
	 unsigned persist_enabled:1;
	 unsigned have_langid:1;
	 unsigned authorized:1;
	 unsigned authenticated:1;
	 unsigned wusb:1;
       #ifndef __GENKSYMS__
	 unsigned lpm_capable:1;
	 unsigned usb2_hw_lpm_capable:1;
	 unsigned usb2_hw_lpm_enabled:1;
       #endif
	 int string_langid;
	 char * product;
	 char * manufacturer;
	 char * serial;
	 struct list_head filelist;
       #ifdef CONFIG_USB_DEVICE_CLASS
	 struct device * usb_classdev;
       #endif
       #ifdef CONFIG_USB_DEVICEFS
	 struct dentry * usbfs_dentry;
       #endif
	 int maxchild;
	 struct usb_device * children[USB_MAXCHILDREN];
	 int pm_usage_cnt;
	 u32 quirks;
	 atomic_t urbnum;
	 unsigned long active_duration;
       #ifdef CONFIG_PM
	 struct delayed_work autosuspend;
	 struct work_struct autoresume;
	 struct mutex pm_mutex;
	 unsigned long last_busy;
	 int autosuspend_delay;
	 unsigned long connect_time;
	 unsigned auto_pm:1;
	 unsigned do_remote_wakeup:1;
	 unsigned reset_resume:1;
	 unsigned autosuspend_disabled:1;
	 unsigned autoresume_disabled:1;
	 unsigned skip_sys_resume:1;
       #endif
	 struct wusb_dev * wusb_dev;
	 int slot_id;
       #ifndef __GENKSYMS__
	 struct usb_host_bos * bos;
	 struct usb3_lpm_parameters u1_params;
	 struct usb3_lpm_parameters u2_params;
	 unsigned lpm_disable_count;
       #endif
       };

MEMBERS
       devnum
	   device number; address on a USB bus

       devpath[16]
	   device ID string for use in messages (e.g., /port/...)

       route
	   tree topology hex string for use with xHCI

       state
	   device state: configured, not attached, etc.

       speed
	   device speed: high/full/low (or error)

       tt
	   Transaction Translator info; used with low/full speed dev,
	   highspeed hub

       ttport
	   device port on that tt hub

       toggle[2]
	   one bit for each endpoint, with ([0] = IN, [1] = OUT) endpoints

       parent
	   our hub, unless we´re the root

       bus
	   bus we´re part of

       ep0
	   endpoint 0 data (default control pipe)

       dev
	   generic device interface

       descriptor
	   USB device descriptor

       config
	   all of the device´s configs

       actconfig
	   the active configuration

       ep_in[16]
	   array of IN endpoints

       ep_out[16]
	   array of OUT endpoints

       rawdescriptors
	   raw descriptors for each config

       bus_mA
	   Current available from the bus

       portnum
	   parent port number (origin 1)

       level
	   number of USB hub ancestors

       can_submit
	   URBs may be submitted

       discon_suspended
	   disconnected while suspended

       persist_enabled
	   USB_PERSIST enabled for this device

       have_langid
	   whether string_langid is valid

       authorized
	   policy has said we can use it; (user space) policy determines if we
	   authorize this device to be used or not. By default, wired USB
	   devices are authorized. WUSB devices are not, until we authorize
	   them from user space. FIXME -- complete doc

       authenticated
	   Crypto authentication passed

       wusb
	   device is Wireless USB

       lpm_capable
	   device supports LPM

       usb2_hw_lpm_capable
	   device can perform USB2 hardware LPM

       usb2_hw_lpm_enabled
	   USB2 hardware LPM enabled

       string_langid
	   language ID for strings

       product
	   iProduct string, if present (static)

       manufacturer
	   iManufacturer string, if present (static)

       serial
	   iSerialNumber string, if present (static)

       filelist
	   usbfs files that are open to this device

       usb_classdev
	   USB class device that was created for usbfs device access from
	   userspace

       usbfs_dentry
	   usbfs dentry entry for the device

       maxchild
	   number of ports if hub

       children[USB_MAXCHILDREN]
	   child devices - USB devices that are attached to this hub

       pm_usage_cnt
	   usage counter for autosuspend

       quirks
	   quirks of the whole device

       urbnum
	   number of URBs submitted for the whole device

       active_duration
	   total time device is not suspended

       autosuspend
	   for delayed autosuspends

       autoresume
	   for autoresumes requested while in_interrupt

       pm_mutex
	   protects PM operations

       last_busy
	   time of last use

       autosuspend_delay
	   in jiffies

       connect_time
	   time device was first connected

       auto_pm
	   autosuspend/resume in progress

       do_remote_wakeup
	   remote wakeup should be enabled

       reset_resume
	   needs reset instead of resume

       autosuspend_disabled
	   autosuspend disabled by the user

       autoresume_disabled
	   autoresume disabled by the user

       skip_sys_resume
	   skip the next system resume

       wusb_dev
	   if this is a Wireless USB device, link to the WUSB specific data
	   for the device.

       slot_id
	   Slot ID assigned by xHCI

       bos
	   USB device BOS descriptor set

       u1_params
	   exit latencies for USB3 U1 LPM state, and hub-initiated timeout.

       u2_params
	   exit latencies for USB3 U2 LPM state, and hub-initiated timeout.

       lpm_disable_count
	   Ref count used by usb_disable_lpm and usb_enable_lpm to keep track
	   of the number of functions that require USB 3.0 Link Power
	   Management to be disabled for this usb_device. This count should
	   only be manipulated by those functions, with the bandwidth_mutex is
	   held.

NOTES
       Usbcore drivers should not set usbdev->state directly. Instead use
       usb_set_device_state.

COPYRIGHT
Kernel Hackers Manual 2.6.	 November 2013		  STRUCT USB_DEVICE(9)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net