2007-06-28 09:00:39 +02:00
|
|
|
/*++
|
|
|
|
|
|
|
|
Copyright (c) 2004, Intel Corporation
|
|
|
|
All rights reserved. This program and the accompanying materials
|
|
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
|
|
|
|
Module Name:
|
|
|
|
|
|
|
|
UsbAtapi.h
|
|
|
|
|
|
|
|
Abstract:
|
|
|
|
|
|
|
|
EFI Atapi Protocol definition.
|
|
|
|
|
|
|
|
Revision History
|
|
|
|
|
|
|
|
--*/
|
|
|
|
|
|
|
|
#ifndef _EFI_USB_ATAPI_H
|
|
|
|
#define _EFI_USB_ATAPI_H
|
|
|
|
|
|
|
|
//
|
|
|
|
// Transfer protocol types
|
|
|
|
//
|
|
|
|
#define BOT 0x50
|
|
|
|
#define CBI0 0x00
|
|
|
|
#define CBI1 0x01
|
|
|
|
|
|
|
|
//
|
|
|
|
// SubClass Code (defines command set)
|
|
|
|
//
|
|
|
|
#define EFI_USB_SUBCLASS_RBC 0x01
|
|
|
|
#define EFI_USB_SUBCLASS_ATAPI 0x02
|
|
|
|
#define EFI_USB_SUBCLASS_QIC_157 0x03
|
|
|
|
#define EFI_USB_SUBCLASS_UFI 0x04
|
|
|
|
#define EFI_USB_SUBCLASS_SFF_8070i 0x05
|
|
|
|
#define EFI_USB_SUBCLASS_SCSI 0x06
|
|
|
|
#define EFI_USB_SUBCLASS_RESERVED_LOW 0x07
|
|
|
|
#define EFI_USB_SUBCLASS_RESERVED_HIGH 0xff
|
|
|
|
//
|
|
|
|
// Global GUID for transfer protocol interface
|
|
|
|
//
|
|
|
|
#define EFI_USB_ATAPI_PROTOCOL_GUID \
|
2008-03-28 13:00:46 +01:00
|
|
|
{ 0x2B2F68DA, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75} }
|
2007-06-28 09:00:39 +02:00
|
|
|
|
|
|
|
EFI_FORWARD_DECLARATION (EFI_USB_ATAPI_PROTOCOL);
|
|
|
|
|
|
|
|
typedef
|
|
|
|
EFI_STATUS
|
|
|
|
(EFIAPI *EFI_USB_ATAPI_PACKET_CMD) (
|
|
|
|
IN EFI_USB_ATAPI_PROTOCOL *This,
|
|
|
|
IN VOID *Command,
|
|
|
|
IN UINT8 CommandSize,
|
|
|
|
IN VOID *DataBuffer,
|
|
|
|
IN UINT32 BufferLength,
|
|
|
|
IN EFI_USB_DATA_DIRECTION Direction,
|
|
|
|
IN UINT16 TimeOutInMilliSeconds
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef
|
|
|
|
EFI_STATUS
|
|
|
|
(EFIAPI *EFI_USB_MASS_STORAGE_RESET) (
|
|
|
|
IN EFI_USB_ATAPI_PROTOCOL *This,
|
|
|
|
IN BOOLEAN ExtendedVerification
|
|
|
|
);
|
|
|
|
|
|
|
|
//
|
|
|
|
// Protocol Interface Structure
|
|
|
|
//
|
2008-03-20 21:45:58 +01:00
|
|
|
struct _EFI_USB_ATAPI_PROTOCOL {
|
2007-06-28 09:00:39 +02:00
|
|
|
EFI_USB_ATAPI_PACKET_CMD UsbAtapiPacketCmd;
|
|
|
|
EFI_USB_MASS_STORAGE_RESET UsbAtapiReset;
|
|
|
|
UINT32 CommandProtocol;
|
2008-03-20 21:45:58 +01:00
|
|
|
};
|
2007-06-28 09:00:39 +02:00
|
|
|
|
|
|
|
extern EFI_GUID gEfiUsbAtapiProtocolGuid;
|
|
|
|
|
|
|
|
#endif
|