added lsusb and some more config stuff. except of some (simple) setter
[ppcskel.git] / usb / core / usb.h
index 9dd062064804ed619de06304989fd11ca3825015..cf7dc315fbfdbf3eae9f6b829f89116e8cae2155 100644 (file)
 /******************* Device Operations **********************/
 
 // use an own usb device
-usb_device * usb_open(u32 vendor_id, u32 product_id);
-usb_device * usb_open_class(u8 class);
+struct usb_device *usb_open(u32 vendor_id, u32 product_id);
+struct usb_device *usb_open_class(u8 class);
 
-s8 usb_close(usb_device *dev);
-
-
-s8 usb_get_device_descriptor(usb_device *dev, u8 *buf, u8 buflen);
-s8 usb_set_address(usb_device *dev, u8 address);
-s8 usb_set_configuration(usb_device *dev, u8 configuration);
-s8 usb_set_altinterface(usb_device *dev, u8 alternate);
+s8 usb_close(struct usb_device *dev);
 
 
 /**
@@ -61,31 +55,37 @@ s8 usb_set_altinterface(usb_device *dev, u8 alternate);
  * it is connected to. Returns 0 on success or < 0 on error.
  */
 
-s8 usb_reset(usb_device *dev);
+s8 usb_reset(struct usb_device *dev);
 
 
 /******************* Control Transfer **********************/
-s8 usb_control_msg(usb_device *dev, u8 requesttype, u8 request, u16 value, u16 index, u16 length, u8 *buf, u16 timeout);
-s8 usb_get_string(usb_device *dev, u8 index, u8 langid, u8 *buf, u8 buflen);
-char *usb_get_string_simple(usb_device *dev, u8 index, u8 *buf, u8 size);
-s8 usb_get_dev_desc_simple(usb_device *dev, u8 *buf, u8 size);
-s8 usb_get_configuration(usb_device *dev, u8 index, u8 *buf, u8 size);
-s8 usb_get_dev_desc(usb_device *dev, u8 *buf, u8 size);
-s8 usb_get_descriptor(usb_device *dev, u8 type, u8 index, u8 *buf, u8 size);
+s8 usb_control_msg(struct usb_device *dev, u8 requesttype, u8 request, u16 value, u16 index, u16 length, u8 *buf, u16 timeout);
+s8 usb_get_descriptor(struct usb_device *dev, u8 type, u8 index, u8 *buf, u8 size);
+s8 usb_get_desc_dev_simple(struct usb_device *dev);
+s8 usb_get_desc_dev(struct usb_device *dev);
+s8 usb_get_desc_configuration(struct usb_device *dev, u8 index, struct usb_conf *conf);
+s8 usb_get_desc_config_ext(struct usb_device *dev, u8 index, struct usb_conf *conf);
+
+char *usb_get_string_simple(struct usb_device *dev, u8 index);
+s8 usb_get_string(struct usb_device *dev, u8 index, u8 langid);
+
+s8 usb_set_address(struct usb_device *dev, u8 address);
+s8 usb_set_configuration(struct usb_device *dev, u8 configuration);
+s8 usb_set_altinterface(struct usb_device *dev, u8 alternate);
 
 
 /******************* Bulk Transfer **********************/
-s8 usb_bulk_write(usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
-s8 usb_bulk_read(usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
+s8 usb_bulk_write(struct usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
+s8 usb_bulk_read(struct usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
 
 
 /******************* Interrupt Transfer **********************/
-s8 usb_u8errupt_write(usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
-s8 usb_u8errupt_read(usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
+s8 usb_u8errupt_write(struct usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
+s8 usb_u8errupt_read(struct usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
 
 
 /******************* Isochron Transfer **********************/
-s8 usb_isochron_write(usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
-s8 usb_isochron_read(usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
+s8 usb_isochron_write(struct usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
+s8 usb_isochron_read(struct usb_device *dev, u8 ep, u8 *buf, u8 size, u8 timeout);
 
 #endif //_USB_H_