]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/UsbIo.h
Code Scrub for Protocol Definition
[mirror_edk2.git] / MdePkg / Include / Protocol / UsbIo.h
index 66131be38e38141ee1d1d3c91025aa8b903858a5..8f24f1a98c989f0e7e7749997be7cbe73f6ada41 100644 (file)
@@ -1,6 +1,10 @@
 /** @file\r
-  EFI Usb I/O Protocol\r
-\r
+  EFI Usb I/O Protocol as defined in UEFI specification.\r
+  This protocol is used by code, typically drivers, running in the EFI \r
+  boot services environment to access USB devices like USB keyboards, \r
+  mice and mass storage devices. In particular, functions for managing devices \r
+  on USB buses are defined here.\r
+  \r
   Copyright (c) 2006 - 2008, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -173,9 +177,9 @@ EFI_STATUS
                                 executed.\r
   @param  DataLength            Specifies the length, in bytes, of the data to be received from the\r
                                 USB device.\r
-  @param  Context               Data passed to the InterruptCallback function.\r
   @param  InterruptCallback     The Callback function. This function is called if the asynchronous\r
                                 interrupt transfer is completed.\r
+  @param  Context               Data passed to the InterruptCallback function.\r
 \r
   @retval EFI_SUCCESS           The asynchronous USB transfer request transfer has been successfully executed.\r
   @retval EFI_DEVICE_ERROR      The asynchronous USB transfer request failed.\r
@@ -262,8 +266,8 @@ EFI_STATUS
   @param  Data                  A pointer to the buffer of data that will be transmitted to USB\r
                                 device or received from USB device.\r
   @param  DataLength            The size, in bytes, of the data buffer specified by Data.\r
-  @param  Context               Data passed to the IsochronousCallback() function.\r
   @param  IsochronousCallback   The IsochronousCallback() function.\r
+  @param  Context               Data passed to the IsochronousCallback() function.\r
 \r
   @retval EFI_SUCCESS           The asynchronous isochronous transfer has been successfully submitted\r
                                 to the system.\r
@@ -419,9 +423,54 @@ EFI_STATUS
   OUT UINT16                        *TableSize\r
   );\r
 \r
-//\r
-//  Protocol Interface Structure\r
-//\r
+/**  \r
+  @par Protocol Description:\r
+  The EFI_USB_IO_PROTOCOL provides four basic transfers types described \r
+  in the USB 1.1 Specification. These include control transfer, interrupt \r
+  transfer, bulk transfer and isochronous transfer. The EFI_USB_IO_PROTOCOL \r
+  also provides some basic USB device/controller management and configuration \r
+  interfaces. A USB device driver uses the services of this protocol to manage USB devices.  \r
+\r
+  @param UsbControlTransfer \r
+  Accesses the USB Device through USB Control Transfer Pipe. \r
+\r
+  @param UsbBulkTransfer\r
+  Accesses the USB Device through USB Bulk Transfer Pipe. \r
+\r
+  @param UsbAsyncInterruptTransfer\r
+  Non-block USB interrupt transfer. \r
+\r
+  @param UsbSyncInterruptTransfer\r
+  Accesses the USB Device through USB Synchronous\r
+  Interrupt Transfer Pipe. \r
+\r
+  @param UsbIsochronousTransfer\r
+  Accesses the USB Device through USB Isochronous Transfer Pipe. \r
+\r
+  @param UsbAsyncIsochronousTransfer\r
+  Nonblock USB isochronous transfer. \r
+\r
+  @param UsbGetDeviceDescriptor\r
+  Retrieves the device descriptor of a USB device. \r
+\r
+  @param UsbGetConfigDescriptor\r
+  Retrieves the activated configuration descriptor of a USB device. \r
+\r
+  @param UsbGetInterfaceDescriptor\r
+  Retrieves the interface descriptor of a USB Controller. \r
+\r
+  @param UsbGetEndpointDescriptor\r
+  Retrieves the endpoint descriptor of a USB Controller. \r
+\r
+  @param UsbGetStringDescriptor\r
+  Retrieves the string descriptor inside a USB Device. \r
+\r
+  @param UsbGetSupportedLanguages\r
+  Retrieves the array of languages that the USB device supports. \r
+\r
+  @param UsbPortReset\r
+  Resets and reconfigures the USB controller. \r
+**/\r
 struct _EFI_USB_IO_PROTOCOL {\r
   //\r
   // IO transfer\r