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
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 Header file for SCSI Bus Driver.
23 // TODO: fix comment to end with --*/
28 #include <IndustryStandard/scsi.h>
32 #define ONE_SECOND_TIMER 10000000
34 #define SCSI_IO_DEV_SIGNATURE EFI_SIGNATURE_32 ('s', 'c', 'i', 'o')
40 EFI_SCSI_IO_PROTOCOL ScsiIo
;
41 EFI_DEVICE_PATH_PROTOCOL
*DevicePath
;
42 EFI_SCSI_PASS_THRU_PROTOCOL
*ScsiPassThru
;
48 BOOLEAN RemovableDevice
;
51 #define SCSI_IO_DEV_FROM_THIS(a) CR (a, SCSI_IO_DEV, ScsiIo, SCSI_IO_DEV_SIGNATURE)
56 extern EFI_DRIVER_BINDING_PROTOCOL gScsiBusDriverBinding
;
57 extern EFI_COMPONENT_NAME_PROTOCOL gScsiBusComponentName
;
62 IN EFI_SCSI_IO_PROTOCOL
*This
,
69 TODO: Add function description
73 This - TODO: add argument description
74 DeviceType - TODO: add argument description
78 TODO: add return values
86 IN EFI_SCSI_IO_PROTOCOL
*This
92 TODO: Add function description
96 This - TODO: add argument description
100 TODO: add return values
108 IN EFI_SCSI_IO_PROTOCOL
*This
114 TODO: Add function description
118 This - TODO: add argument description
122 TODO: add return values
129 ScsiExecuteSCSICommand (
130 IN EFI_SCSI_IO_PROTOCOL
*This
,
131 IN OUT EFI_SCSI_IO_SCSI_REQUEST_PACKET
*CommandPacket
,
138 TODO: Add function description
142 This - TODO: add argument description
143 CommandPacket - TODO: add argument description
144 Event - TODO: add argument description
148 TODO: add return values
154 ScsiScanCreateDevice (
155 EFI_DRIVER_BINDING_PROTOCOL
*This
,
156 EFI_HANDLE Controller
,
159 EFI_SCSI_PASS_THRU_PROTOCOL
*ScsiPassThru
,
160 EFI_DEVICE_PATH_PROTOCOL
*ParentDevicePath
166 TODO: Add function description
170 This - TODO: add argument description
171 Controller - TODO: add argument description
172 Pun - TODO: add argument description
173 Lun - TODO: add argument description
174 ScsiPassThru - TODO: add argument description
175 ParentDevicePath - TODO: add argument description
179 TODO: add return values
186 SCSI_IO_DEV
*ScsiIoDevice
192 TODO: Add function description
196 ScsiIoDevice - TODO: add argument description
200 TODO: add return values
207 EFI_SCSI_PASS_THRU_PROTOCOL
*ScsiPassThru
,
216 TODO: Add function description
220 ScsiPassThru - TODO: add argument description
221 Target - TODO: add argument description
222 LunArray - TODO: add argument description
223 NumberOfLuns - TODO: add argument description
227 TODO: add return values
233 ScsiBusSubmitReportLunCommand (
234 EFI_SCSI_PASS_THRU_PROTOCOL
*ScsiPassThru
,
236 UINTN AllocationLength
,
238 EFI_SCSI_SENSE_DATA
*SenseData
,
239 UINT8
*SenseDataLength
,
240 UINT8
*HostAdapterStatus
,
247 TODO: Add function description
251 ScsiPassThru - TODO: add argument description
252 Target - TODO: add argument description
253 AllocationLength - TODO: add argument description
254 Buffer - TODO: add argument description
255 SenseData - TODO: add argument description
256 SenseDataLength - TODO: add argument description
257 HostAdapterStatus - TODO: add argument description
258 TargetStatus - TODO: add argument description
262 TODO: add return values