mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-11-04 05:25:45 +01:00 
			
		
		
		
	git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*++
 | 
						|
 | 
						|
Copyright (c) 2006, 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 \
 | 
						|
    { 0x2B2F68DA, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } }
 | 
						|
 | 
						|
typedef struct _EFI_USB_ATAPI_PROTOCOL 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
 | 
						|
//
 | 
						|
struct _EFI_USB_ATAPI_PROTOCOL {
 | 
						|
  EFI_USB_ATAPI_PACKET_CMD        UsbAtapiPacketCmd;
 | 
						|
  EFI_USB_MASS_STORAGE_RESET      UsbAtapiReset;
 | 
						|
  UINT32                          CommandProtocol;
 | 
						|
};
 | 
						|
 | 
						|
extern EFI_GUID gEfiUsbAtapiProtocolGuid;
 | 
						|
 | 
						|
#endif
 |