]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Bus/Usb/UsbMassStorage/Dxe/UsbMassStorage.h
DebugLib:
[mirror_edk2.git] / EdkModulePkg / Bus / Usb / UsbMassStorage / Dxe / UsbMassStorage.h
1 /*++
2 Copyright (c) 2006, Intel Corporation
3 All rights reserved. This program and the accompanying materials
4 are licensed and made available under the terms and conditions of the BSD License
5 which accompanies this distribution. The full text of the license may be found at
6 http://opensource.org/licenses/bsd-license.php
7
8 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
10
11 Module Name:
12
13 UsbMassStorage.h
14
15 Abstract:
16
17 Header file for USB Mass Storage Driver's Data Structures
18
19 Revision History
20 --*/
21
22 #ifndef _USB_FLP_H
23 #define _USB_FLP_H
24
25
26 #include <IndustryStandard/Usb.h>
27 #include "UsbMassStorageData.h"
28
29 #define CLASS_MASSTORAGE 8
30 #define SUBCLASS_UFI 4
31 #define SUBCLASS_8070 5
32 #define PROTOCOL_BOT 0x50
33 #define PROTOCOL_CBI0 0
34 #define PROTOCOL_CBI1 1
35
36 #define USBFLOPPY 1
37 #define USBFLOPPY2 2 // for those that use ReadCapacity(0x25) command to retrieve media capacity
38 #define USBCDROM 3
39
40 #define USB_FLOPPY_DEV_SIGNATURE EFI_SIGNATURE_32 ('u', 'f', 'l', 'p')
41
42 typedef struct {
43 UINTN Signature;
44
45 EFI_HANDLE Handle;
46 EFI_BLOCK_IO_PROTOCOL BlkIo;
47 EFI_BLOCK_IO_MEDIA BlkMedia;
48 EFI_USB_ATAPI_PROTOCOL *AtapiProtocol;
49
50 REQUEST_SENSE_DATA *SenseData;
51 UINT8 SenseDataNumber;
52 UINT8 DeviceType;
53
54 } USB_FLOPPY_DEV;
55
56 #define USB_FLOPPY_DEV_FROM_THIS(a) \
57 CR(a, USB_FLOPPY_DEV, BlkIo, USB_FLOPPY_DEV_SIGNATURE)
58
59 #endif