3 Copyright (c) 2006 - 2007, 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
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.
18 EFI Atapi Protocol definition.
24 #ifndef __EFI_USB_ATAPI_H__
25 #define __EFI_USB_ATAPI_H__
28 // Transfer protocol types
35 // SubClass Code (defines command set)
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
46 // Global GUID for transfer protocol interface
48 #define EFI_USB_ATAPI_PROTOCOL_GUID \
49 { 0x2B2F68DA, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } }
51 typedef struct _EFI_USB_ATAPI_PROTOCOL EFI_USB_ATAPI_PROTOCOL
;
55 (EFIAPI
*EFI_USB_ATAPI_PACKET_CMD
) (
56 IN EFI_USB_ATAPI_PROTOCOL
*This
,
60 IN UINT32 BufferLength
,
61 IN EFI_USB_DATA_DIRECTION Direction
,
62 IN UINT16 TimeOutInMilliSeconds
67 (EFIAPI
*EFI_USB_MASS_STORAGE_RESET
) (
68 IN EFI_USB_ATAPI_PROTOCOL
*This
,
69 IN BOOLEAN ExtendedVerification
73 // Protocol Interface Structure
75 struct _EFI_USB_ATAPI_PROTOCOL
{
76 EFI_USB_ATAPI_PACKET_CMD UsbAtapiPacketCmd
;
77 EFI_USB_MASS_STORAGE_RESET UsbAtapiReset
;
78 UINT32 CommandProtocol
;
81 extern EFI_GUID gEfiUsbAtapiProtocolGuid
;