]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassCbi.h
modify coding style to pass ecc tool
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbMassStorageDxe / UsbMassCbi.h
1 /** @file
2
3 Defination for the USB mass storage Control/Bulk/Interrupt transport.
4
5 Copyright (c) 2007 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _EFI_USBMASS_CBI_H_
17 #define _EFI_USBMASS_CBI_H_
18
19 typedef enum {
20 USB_CBI_MAX_PACKET_NUM = 16,
21 USB_CBI_RESET_CMD_LEN = 12,
22
23 //
24 // Usb Cbi retry C/B/I transport times, set by experience
25 //
26 USB_CBI_MAX_RETRY = 3,
27
28 //
29 // Usb Cbi wait device reset complete, set by experience
30 //
31 USB_CBI_RESET_DEVICE_STALL = 50 * USB_MASS_1_MILLISECOND,
32
33 //
34 // Usb Cbi transport timeout, set by experience
35 //
36 USB_CBI_RESET_DEVICE_TIMEOUT = 1 * USB_MASS_1_SECOND
37 }USB_CBI_DATA;
38
39 //
40 // Put Interface at the first field is to make it easy to get by Context, which
41 // could be BOT/CBI Protocol instance
42 //
43 typedef struct {
44 EFI_USB_INTERFACE_DESCRIPTOR Interface;
45 EFI_USB_ENDPOINT_DESCRIPTOR *BulkInEndpoint;
46 EFI_USB_ENDPOINT_DESCRIPTOR *BulkOutEndpoint;
47 EFI_USB_ENDPOINT_DESCRIPTOR *InterruptEndpoint;
48 EFI_USB_IO_PROTOCOL *UsbIo;
49 } USB_CBI_PROTOCOL;
50
51 #pragma pack(1)
52 typedef struct {
53 UINT8 Type;
54 UINT8 Value;
55 } USB_CBI_STATUS;
56 #pragma pack()
57
58 extern USB_MASS_TRANSPORT mUsbCbi0Transport;
59 extern USB_MASS_TRANSPORT mUsbCbi1Transport;
60 #endif