]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Bus/Pci/Uhci/Dxe/uhci.h
Make EdkModulePkg pass Intel IPF compiler with /W4 /WX switches, solving warning...
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / Uhci / Dxe / uhci.h
index ab9a5b6a0e3c75af7af9537fc3b5195c25da2989..68571c5d8912e4a5688da6a99a9525ca187a9fe1 100644 (file)
@@ -59,7 +59,7 @@ Revision History
 //\r
 #define NORMAL_MEMORY_BLOCK_UNIT_IN_PAGES 1\r
 \r
-#define bit(a)                            1 << (a)\r
+#define bit(a)                            (1 << (a))\r
 \r
 //\r
 // ////////////////////////////////////////////////////////////////////////\r
@@ -285,6 +285,27 @@ typedef struct {
 extern EFI_DRIVER_BINDING_PROTOCOL  gUhciDriverBinding;\r
 extern EFI_COMPONENT_NAME_PROTOCOL  gUhciComponentName;\r
 \r
+//\r
+// EFI Component Name Functions\r
+//\r
+EFI_STATUS\r
+EFIAPI\r
+UhciComponentNameGetDriverName (\r
+  IN  EFI_COMPONENT_NAME_PROTOCOL     *This,\r
+  IN  CHAR8                           *Language,\r
+  OUT CHAR16                          **DriverName\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UhciComponentNameGetControllerName (\r
+  IN  EFI_COMPONENT_NAME_PROTOCOL     *This,\r
+  IN  EFI_HANDLE                      ControllerHandle,\r
+  IN  EFI_HANDLE                      ChildHandle, OPTIONAL\r
+  IN  CHAR8                           *Language,\r
+  OUT CHAR16                          **ControllerName\r
+  );\r
+\r
 EFI_STATUS\r
 WriteUHCCommandReg (\r
   IN EFI_PCI_IO_PROTOCOL     *PciIo,\r
@@ -2635,4 +2656,340 @@ Returns:
 --*/\r
 ;\r
 \r
+//\r
+// Prototypes\r
+// Driver model protocol interface\r
+//\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIDriverBindingSupported (\r
+  IN EFI_DRIVER_BINDING_PROTOCOL     *This,\r
+  IN EFI_HANDLE                      Controller,\r
+  IN EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIDriverBindingStart (\r
+  IN EFI_DRIVER_BINDING_PROTOCOL     *This,\r
+  IN EFI_HANDLE                      Controller,\r
+  IN EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIDriverBindingStop (\r
+  IN  EFI_DRIVER_BINDING_PROTOCOL     *This,\r
+  IN  EFI_HANDLE                      Controller,\r
+  IN  UINTN                           NumberOfChildren,\r
+  IN  EFI_HANDLE                      *ChildHandleBuffer\r
+  );\r
+\r
+//\r
+// UHCI interface functions\r
+//\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIReset (\r
+  IN  EFI_USB_HC_PROTOCOL     *This,\r
+  IN  UINT16                  Attributes\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIGetState (\r
+  IN  EFI_USB_HC_PROTOCOL     *This,\r
+  OUT EFI_USB_HC_STATE        *State\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCISetState (\r
+  IN  EFI_USB_HC_PROTOCOL     *This,\r
+  IN  EFI_USB_HC_STATE        State\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIControlTransfer (\r
+  IN       EFI_USB_HC_PROTOCOL        *This,\r
+  IN       UINT8                      DeviceAddress,\r
+  IN       BOOLEAN                    IsSlowDevice,\r
+  IN       UINT8                      MaximumPacketLength,\r
+  IN       EFI_USB_DEVICE_REQUEST     *Request,\r
+  IN       EFI_USB_DATA_DIRECTION     TransferDirection,\r
+  IN OUT   VOID                       *Data, OPTIONAL\r
+  IN OUT   UINTN                      *DataLength, OPTIONAL\r
+  IN       UINTN                      TimeOut,\r
+  OUT      UINT32                     *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIBulkTransfer (\r
+  IN       EFI_USB_HC_PROTOCOL     *This,\r
+  IN       UINT8                   DeviceAddress,\r
+  IN       UINT8                   EndPointAddress,\r
+  IN       UINT8                   MaximumPacketLength,\r
+  IN OUT   VOID                    *Data,\r
+  IN OUT   UINTN                   *DataLength,\r
+  IN OUT   UINT8                   *DataToggle,\r
+  IN       UINTN                   TimeOut,\r
+  OUT      UINT32                  *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIAsyncInterruptTransfer (\r
+  IN       EFI_USB_HC_PROTOCOL                * This,\r
+  IN       UINT8                              DeviceAddress,\r
+  IN       UINT8                              EndPointAddress,\r
+  IN       BOOLEAN                            IsSlowDevice,\r
+  IN       UINT8                              MaximumPacketLength,\r
+  IN       BOOLEAN                            IsNewTransfer,\r
+  IN OUT   UINT8                              *DataToggle,\r
+  IN       UINTN                              PollingInterval, OPTIONAL\r
+  IN       UINTN                              DataLength, OPTIONAL\r
+  IN       EFI_ASYNC_USB_TRANSFER_CALLBACK    CallBackFunction, OPTIONAL\r
+  IN       VOID                               *Context OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCISyncInterruptTransfer (\r
+  IN       EFI_USB_HC_PROTOCOL     *This,\r
+  IN       UINT8                   DeviceAddress,\r
+  IN       UINT8                   EndPointAddress,\r
+  IN       BOOLEAN                 IsSlowDevice,\r
+  IN       UINT8                   MaximumPacketLength,\r
+  IN OUT   VOID                    *Data,\r
+  IN OUT   UINTN                   *DataLength,\r
+  IN OUT   UINT8                   *DataToggle,\r
+  IN       UINTN                   TimeOut,\r
+  OUT      UINT32                  *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIIsochronousTransfer (\r
+  IN       EFI_USB_HC_PROTOCOL     *This,\r
+  IN       UINT8                   DeviceAddress,\r
+  IN       UINT8                   EndPointAddress,\r
+  IN       UINT8                   MaximumPacketLength,\r
+  IN OUT   VOID                    *Data,\r
+  IN       UINTN                   DataLength,\r
+  OUT      UINT32                  *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIAsyncIsochronousTransfer (\r
+  IN       EFI_USB_HC_PROTOCOL                 * This,\r
+  IN       UINT8                               DeviceAddress,\r
+  IN       UINT8                               EndPointAddress,\r
+  IN       UINT8                               MaximumPacketLength,\r
+  IN OUT   VOID                                *Data,\r
+  IN       UINTN                               DataLength,\r
+  IN       EFI_ASYNC_USB_TRANSFER_CALLBACK     IsochronousCallBack,\r
+  IN       VOID                                *Context OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIGetRootHubPortNumber (\r
+  IN  EFI_USB_HC_PROTOCOL     *This,\r
+  OUT UINT8                   *PortNumber\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIGetRootHubPortStatus (\r
+  IN  EFI_USB_HC_PROTOCOL     *This,\r
+  IN  UINT8                   PortNumber,\r
+  OUT EFI_USB_PORT_STATUS     *PortStatus\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCISetRootHubPortFeature (\r
+  IN  EFI_USB_HC_PROTOCOL     *This,\r
+  IN  UINT8                   PortNumber,\r
+  IN  EFI_USB_PORT_FEATURE    PortFeature\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCIClearRootHubPortFeature (\r
+  IN  EFI_USB_HC_PROTOCOL     *This,\r
+  IN  UINT8                   PortNumber,\r
+  IN  EFI_USB_PORT_FEATURE    PortFeature\r
+  );\r
+\r
+//\r
+// UEFI 2.0 Protocol\r
+//\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2GetCapability(\r
+  IN  EFI_USB2_HC_PROTOCOL  * This,\r
+  OUT UINT8                 *MaxSpeed,\r
+  OUT UINT8                 *PortNumber,\r
+  OUT UINT8                 *Is64BitCapable\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2Reset (\r
+  IN EFI_USB2_HC_PROTOCOL   * This,\r
+  IN UINT16                 Attributes\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2GetState (\r
+  IN  EFI_USB2_HC_PROTOCOL   * This,\r
+  OUT EFI_USB_HC_STATE       * State\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2SetState (\r
+  IN EFI_USB2_HC_PROTOCOL   * This,\r
+  IN EFI_USB_HC_STATE       State\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2ControlTransfer (\r
+  IN     EFI_USB2_HC_PROTOCOL      * This,\r
+  IN     UINT8                     DeviceAddress,\r
+  IN     UINT8                     DeviceSpeed,\r
+  IN     UINTN                     MaximumPacketLength,\r
+  IN     EFI_USB_DEVICE_REQUEST    * Request,\r
+  IN     EFI_USB_DATA_DIRECTION    TransferDirection,\r
+  IN OUT VOID                      *Data, OPTIONAL\r
+  IN OUT UINTN                     *DataLength, OPTIONAL\r
+  IN     UINTN                     TimeOut,\r
+  IN     EFI_USB2_HC_TRANSACTION_TRANSLATOR            *Translator,\r
+  OUT    UINT32                    *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2BulkTransfer (\r
+  IN     EFI_USB2_HC_PROTOCOL   * This,\r
+  IN     UINT8                  DeviceAddress,\r
+  IN     UINT8                  EndPointAddress,\r
+  IN     UINT8                  DeviceSpeed,\r
+  IN     UINTN                  MaximumPacketLength,\r
+  IN     UINT8                  DataBuffersNumber,\r
+  IN OUT VOID                   *Data[EFI_USB_MAX_BULK_BUFFER_NUM],\r
+  IN OUT UINTN                  *DataLength,\r
+  IN OUT UINT8                  *DataToggle,\r
+  IN     UINTN                  TimeOut,\r
+  IN     EFI_USB2_HC_TRANSACTION_TRANSLATOR            *Translator,\r
+  OUT    UINT32                 *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2AsyncInterruptTransfer (\r
+  IN     EFI_USB2_HC_PROTOCOL   * This,\r
+  IN     UINT8                  DeviceAddress,\r
+  IN     UINT8                  EndPointAddress,\r
+  IN     UINT8                  DeviceSpeed,\r
+  IN     UINTN                  MaximumPacketLength,\r
+  IN     BOOLEAN                IsNewTransfer,\r
+  IN OUT UINT8                  *DataToggle,\r
+  IN     UINTN                  PollingInterval, OPTIONAL\r
+  IN     UINTN                  DataLength, OPTIONAL\r
+  IN     EFI_USB2_HC_TRANSACTION_TRANSLATOR            *Translator,\r
+  IN     EFI_ASYNC_USB_TRANSFER_CALLBACK               CallBackFunction, OPTIONAL\r
+  IN     VOID                   *Context OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2SyncInterruptTransfer (\r
+  IN     EFI_USB2_HC_PROTOCOL   * This,\r
+  IN     UINT8                  DeviceAddress,\r
+  IN     UINT8                  EndPointAddress,\r
+  IN     UINT8                  DeviceSpeed,\r
+  IN     UINTN                  MaximumPacketLength,\r
+  IN OUT VOID                   *Data,\r
+  IN OUT UINTN                  *DataLength,\r
+  IN OUT UINT8                  *DataToggle,\r
+  IN     UINTN                  TimeOut,\r
+  IN     EFI_USB2_HC_TRANSACTION_TRANSLATOR           *Translator,\r
+  OUT    UINT32                 *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2IsochronousTransfer (\r
+  IN     EFI_USB2_HC_PROTOCOL   * This,\r
+  IN     UINT8                  DeviceAddress,\r
+  IN     UINT8                  EndPointAddress,\r
+  IN     UINT8                  DeviceSpeed,\r
+  IN     UINTN                  MaximumPacketLength,\r
+  IN     UINT8                  DataBuffersNumber,\r
+  IN OUT VOID                   *Data[EFI_USB_MAX_ISO_BUFFER_NUM],\r
+  IN     UINTN                  DataLength,\r
+  IN     EFI_USB2_HC_TRANSACTION_TRANSLATOR           *Translator,\r
+  OUT    UINT32                 *TransferResult\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2AsyncIsochronousTransfer (\r
+  IN     EFI_USB2_HC_PROTOCOL   * This,\r
+  IN     UINT8                  DeviceAddress,\r
+  IN     UINT8                  EndPointAddress,\r
+  IN     UINT8                  DeviceSpeed,\r
+  IN     UINTN                  MaximumPacketLength,\r
+  IN     UINT8                  DataBuffersNumber,\r
+  IN OUT VOID                   *Data[EFI_USB_MAX_ISO_BUFFER_NUM],\r
+  IN     UINTN                  DataLength,\r
+  IN     EFI_USB2_HC_TRANSACTION_TRANSLATOR           *Translator,\r
+  IN     EFI_ASYNC_USB_TRANSFER_CALLBACK              IsochronousCallBack,\r
+  IN     VOID                   *Context OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2GetRootHubPortStatus (\r
+  IN  EFI_USB2_HC_PROTOCOL   * This,\r
+  IN  UINT8                  PortNumber,\r
+  OUT EFI_USB_PORT_STATUS    * PortStatus\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2SetRootHubPortFeature (\r
+  IN EFI_USB2_HC_PROTOCOL    * This,\r
+  IN UINT8                   PortNumber,\r
+  IN EFI_USB_PORT_FEATURE    PortFeature\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UHCI2ClearRootHubPortFeature (\r
+  IN EFI_USB2_HC_PROTOCOL    * This,\r
+  IN UINT8                   PortNumber,\r
+  IN EFI_USB_PORT_FEATURE    PortFeature\r
+  );\r
+\r
+//\r
+// Asynchronous interrupt transfer monitor function\r
+//\r
+VOID\r
+EFIAPI\r
+MonitorInterruptTrans (\r
+  IN EFI_EVENT     Event,\r
+  IN VOID          *Context\r
+  );\r
+\r
 #endif\r