]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Include/Protocol/usbatapi.h
Change the EfiAquireLock with RaiseTPL as the call to Boot Service UnloadImage can...
[mirror_edk2.git] / EdkModulePkg / Include / Protocol / usbatapi.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 UsbAtapi.h
15
16 Abstract:
17
18 EFI Atapi Protocol definition.
19
20 Revision History
21
22 --*/
23
24 #ifndef _EFI_USB_ATAPI_H
25 #define _EFI_USB_ATAPI_H
26
27 //
28 // Transfer protocol types
29 //
30 #define BOT 0x50
31 #define CBI0 0x00
32 #define CBI1 0x01
33
34 //
35 // SubClass Code (defines command set)
36 //
37 #define EFI_USB_SUBCLASS_RBC 0x01
38 #define EFI_USB_SUBCLASS_ATAPI 0x02
39 #define EFI_USB_SUBCLASS_QIC_157 0x03
40 #define EFI_USB_SUBCLASS_UFI 0x04
41 #define EFI_USB_SUBCLASS_SFF_8070i 0x05
42 #define EFI_USB_SUBCLASS_SCSI 0x06
43 #define EFI_USB_SUBCLASS_RESERVED_LOW 0x07
44 #define EFI_USB_SUBCLASS_RESERVED_HIGH 0xff
45 //
46 // Global GUID for transfer protocol interface
47 //
48 #define EFI_USB_ATAPI_PROTOCOL_GUID \
49 { 0x2B2F68DA, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } }
50
51 typedef struct _EFI_USB_ATAPI_PROTOCOL EFI_USB_ATAPI_PROTOCOL;
52
53 typedef
54 EFI_STATUS
55 (EFIAPI *EFI_USB_ATAPI_PACKET_CMD) (
56 IN EFI_USB_ATAPI_PROTOCOL *This,
57 IN VOID *Command,
58 IN UINT8 CommandSize,
59 IN VOID *DataBuffer,
60 IN UINT32 BufferLength,
61 IN EFI_USB_DATA_DIRECTION Direction,
62 IN UINT16 TimeOutInMilliSeconds
63 );
64
65 typedef
66 EFI_STATUS
67 (EFIAPI *EFI_USB_MASS_STORAGE_RESET) (
68 IN EFI_USB_ATAPI_PROTOCOL *This,
69 IN BOOLEAN ExtendedVerification
70 );
71
72 //
73 // Protocol Interface Structure
74 //
75 struct _EFI_USB_ATAPI_PROTOCOL {
76 EFI_USB_ATAPI_PACKET_CMD UsbAtapiPacketCmd;
77 EFI_USB_MASS_STORAGE_RESET UsbAtapiReset;
78 UINT32 CommandProtocol;
79 };
80
81 extern EFI_GUID gEfiUsbAtapiProtocolGuid;
82
83 #endif