Newer
Older
AMI-Aptio-BIOS-Reversed / MdeModulePkg / Bus / Scsi / ScsiBusDxe / ScsiBus.h
@Ajax Dong Ajax Dong 2 days ago 9 KB Full restructure
/** @file
  ScsiBus.h -- Header for ScsiBus

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __SCSIBUS_H__
#define __SCSIBUS_H__

#include "../uefi_headers/Uefi.h"

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
InternalAssertBreakpoint(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusDriverBindingEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
InitializeHobList(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusDriverBindingSupported(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusDriverBindingStart(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusDriverBindingStop(
  VOID
);

EFI_STATUS
EFIAPI
ScsiScanCreateDevice(
  VOID
);

EFI_STATUS
EFIAPI
ScsiInquiryDevice(
  VOID
);

EFI_STATUS
EFIAPI
CopyDevicePathNode(
  VOID
);

EFI_STATUS
EFIAPI
ScsiIoGetDeviceType(
  VOID
);

EFI_STATUS
EFIAPI
ScsiIoGetDeviceLocation(
  VOID
);

EFI_STATUS
EFIAPI
ScsiIoResetBus(
  VOID
);

EFI_STATUS
EFIAPI
ScsiIoResetDevice(
  VOID
);

EFI_STATUS
EFIAPI
ScsiIoExecuteScsiCommand(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusComponentNameGetDriverName(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusComponentNameGetControllerName(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusDebugAssert(
  VOID
);

EFI_STATUS
EFIAPI
ScsiBusZeroMem(
  VOID
);

EFI_STATUS
EFIAPI
FreePool(
  VOID
);

EFI_STATUS
EFIAPI
AsciiStrLen(
  VOID
);

EFI_STATUS
EFIAPI
ReportStatusCodeWithDevicePath(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
WriteUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
CompareUnaligned24(
  VOID
);

EFI_STATUS
EFIAPI
AsciiStrLenSafe(
  VOID
);

EFI_STATUS
EFIAPI
CopyGuid(
  VOID
);

EFI_STATUS
EFIAPI
CompareGuid(
  VOID
);

EFI_STATUS
EFIAPI
IsDevicePathEnd(
  VOID
);

EFI_STATUS
EFIAPI
GetDevicePathSize(
  VOID
);

EFI_STATUS
EFIAPI
from HR650X BIOS, IDA port 13338, ScsiBus.efi(
  VOID
);

EFI_STATUS
EFIAPI
MD5: 7936aa1e7ccfbeea8cd5fb39b8e95fe3(
  VOID
);

EFI_STATUS
EFIAPI
size: 0x37C0 bytes, 53 functions total(
  VOID
);

EFI_STATUS
EFIAPI
range: 0x2C0 - 0x2856(
  VOID
);

EFI_STATUS
EFIAPI
is a UEFI Driver Binding protocol implementation for SCSI bus(
  VOID
);

EFI_STATUS
EFIAPI
on a controller handle, enumerates SCSI(
  VOID
);

EFI_STATUS
EFIAPI
and LUNs via INQUIRY, and produces EFI_SCSI_IO_PROTOCOL on child(
  VOID
);

EFI_STATUS
EFIAPI
for each discovered device.(
  VOID
);

EFI_STATUS
EFIAPI
structures:(
  VOID
);

EFI_STATUS
EFIAPI
(0x30 bytes, signature 'scsi') - per-controller state(
  VOID
);

EFI_STATUS
EFIAPI
(0x88 bytes, signature 'scio') - per-child/LUN state(
  VOID
);

EFI_STATUS
EFIAPI
DEFINITIONS(
  VOID
);

EFI_STATUS
EFIAPI
VARIABLES(
  VOID
);

EFI_STATUS
EFIAPI
INSTANCES(
  VOID
);

EFI_STATUS
EFIAPI
DECLARATIONS FOR INTERNAL HELPERS(
  VOID
);

EFI_STATUS
EFIAPI
ENTRY POINT (sub_384 @ 0x384)(
  VOID
);

EFI_STATUS
EFIAPI
HOB list (call to sub_2228)(
  VOID
);

EFI_STATUS
EFIAPI
the binary, sub_2228 initializes gHobList from the system table(
  VOID
);

EFI_STATUS
EFIAPI
table entries by scanning for gEfiHobListGuid.(
  VOID
);

EFI_STATUS
EFIAPI
protocols(
  VOID
);

EFI_STATUS
EFIAPI
BINDING ENTRY POINT (sub_43C @ 0x43C)(
  VOID
);

EFI_STATUS
EFIAPI
LIST INITIALIZATION (sub_2228 @ 0x2228)(
  VOID
);

EFI_STATUS
EFIAPI
BINDING: Supported (sub_5A8 @ 0x5A8)(
  VOID
);

EFI_STATUS
EFIAPI
Extended SCSI Pass Thru first(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->OpenProtocol ((
  VOID
);

EFI_STATUS
EFIAPI
the RemainingDevicePath(
  VOID
);

EFI_STATUS
EFIAPI
= ExtScsiPassThru->GetNextTargetLun ((
  VOID
);

EFI_STATUS
EFIAPI
back to legacy SCSI Pass Thru(
  VOID
);

EFI_STATUS
EFIAPI
BINDING: Start (sub_744 @ 0x744)(
  VOID
);

EFI_STATUS
EFIAPI
parent device path(
  VOID
);

EFI_STATUS
EFIAPI
Target Device (0x30 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
= (SCSI_TARGET_DEVICE *)AllocateZeroPool (sizeof (SCSI_TARGET_DEVICE));(
  VOID
);

EFI_STATUS
EFIAPI
protocol to identify ourselves on the child handle(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->InstallProtocolInterface ((
  VOID
);

EFI_STATUS
EFIAPI
RemainingDevicePath specifies a particular child, handle it now(
  VOID
);

EFI_STATUS
EFIAPI
(RemainingDevicePath != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
SCSI bus enumeration progress(
  VOID
);

EFI_STATUS
EFIAPI
((
  VOID
);

EFI_STATUS
EFIAPI
all targets/LUNs on this channel/bus(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
next target/LUN from the pass-thru protocol(
  VOID
);

EFI_STATUS
EFIAPI
(ExtSupported) {(
  VOID
);

EFI_STATUS
EFIAPI
if this target/LUN is valid via INQUIRY(
  VOID
);

EFI_STATUS
EFIAPI
= ScsiScanCreateDevice ((
  VOID
);

EFI_STATUS
EFIAPI
SCSI bus enumeration complete(
  VOID
);

EFI_STATUS
EFIAPI
BINDING: Stop (sub_AF4 @ 0xAF4)(
  VOID
);

EFI_STATUS
EFIAPI
specific child devices(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < NumberOfChildren; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
the pass-thru protocol from the child(
  VOID
);

EFI_STATUS
EFIAPI
(ScsiIo->DeviceType & 0x80) {(
  VOID
);

EFI_STATUS
EFIAPI
mode flag(
  VOID
);

EFI_STATUS
EFIAPI
the SCSI IO protocol and device path(
  VOID
);

EFI_STATUS
EFIAPI
the private data (0x88 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
(ScsiIo);(
  VOID
);

EFI_STATUS
EFIAPI
everything (no children specified)(
  VOID
);

EFI_STATUS
EFIAPI
all protocols opened for the bus(
  VOID
);

EFI_STATUS
EFIAPI
our protocol identifier(
  VOID
);

EFI_STATUS
EFIAPI
the SCSI_TARGET_DEVICE (embedded at start of ScsiIo)(
  VOID
);

EFI_STATUS
EFIAPI
SCAN CREATE DEVICE (sub_11D8 @ 0x11D8)(
  VOID
);

EFI_STATUS
EFIAPI
a SCSI device path node from the TargetId/Lun(
  VOID
);

EFI_STATUS
EFIAPI
(TargetDevice->IsExtPassThru) {(
  VOID
);

EFI_STATUS
EFIAPI
if a child already exists for this device path(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->LocateDevicePath ((
  VOID
);

EFI_STATUS
EFIAPI
already exists(
  VOID
);

EFI_STATUS
EFIAPI
SCSI_IO_PRIVATE_DATA (0x88 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
= (SCSI_IO_PRIVATE_DATA *)AllocateZeroPool (sizeof (SCSI_IO_PRIVATE_DATA));(
  VOID
);

EFI_STATUS
EFIAPI
device path node to the private data's buffer(
  VOID
);

EFI_STATUS
EFIAPI
(DevicePathSize > 0 && DevicePathSize <= 16) {(
  VOID
);

EFI_STATUS
EFIAPI
PassThru based on mode(
  VOID
);

EFI_STATUS
EFIAPI
max target count for legacy mode(
  VOID
);

EFI_STATUS
EFIAPI
= TargetDevice->ScsiPassThru->GetNextTarget ((
  VOID
);

EFI_STATUS
EFIAPI
SCSI INQUIRY(
  VOID
);

EFI_STATUS
EFIAPI
(ScsiInquiryDevice (Private)) {(
  VOID
);

EFI_STATUS
EFIAPI
protocol interfaces on the child handle(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->InstallMultipleProtocolInterfaces ((
  VOID
);

EFI_STATUS
EFIAPI
protocol from parent to child(
  VOID
);

EFI_STATUS
EFIAPI
cleanup(
  VOID
);

EFI_STATUS
EFIAPI
(DevicePathNode != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
INQUIRY DEVICE (sub_1438 @ 0x1438)(
  VOID
);

EFI_STATUS
EFIAPI
up INQUIRY CDB (6-byte command)(
  VOID
);

EFI_STATUS
EFIAPI
seconds(
  VOID
);

EFI_STATUS
EFIAPI
via the pass-thru protocol(
  VOID
);

EFI_STATUS
EFIAPI
(Private->IsExtPassThru) {(
  VOID
);

EFI_STATUS
EFIAPI
peripheral qualifier (bits 7:5 of byte 0)(
  VOID
);

EFI_STATUS
EFIAPI
((InquiryData[0] & 0xE0) == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
device is not ready, retry(
  VOID
);

EFI_STATUS
EFIAPI
(Status != EFI_TIMEOUT && Status != EFI_NOT_READY) {(
  VOID
);

EFI_STATUS
EFIAPI
DEVICE PATH NODE (sub_15FC @ 0x15FC)(
  VOID
);

EFI_STATUS
EFIAPI
the device path node fields:(
  VOID
);

EFI_STATUS
EFIAPI
(Length >= 4) {(
  VOID
);

EFI_STATUS
EFIAPI
the device path node to the target buffer(
  VOID
);

EFI_STATUS
EFIAPI
(*Target, This + 1, 16);(
  VOID
);

EFI_STATUS
EFIAPI
not directly available from ScsiIo protocol(
  VOID
);

EFI_STATUS
EFIAPI
function dispatches to the pass-thru protocol's Reset/ResetChannel.(
  VOID
);

EFI_STATUS
EFIAPI
the binary, it calls either ScsiPassThru->Reset() or(
  VOID
);

EFI_STATUS
EFIAPI
the specific target/LUN, not the whole bus.(
  VOID
);

EFI_STATUS
EFIAPI
the device path node data and calls pass-thru reset.(
  VOID
);

EFI_STATUS
EFIAPI
through the appropriate pass-thru protocol.(
  VOID
);

EFI_STATUS
EFIAPI
binary dispatches via the private data's IsExtPassThru flag.(
  VOID
);

EFI_STATUS
EFIAPI
= EFI_UNSUPPORTED;(
  VOID
);

EFI_STATUS
EFIAPI
driver does not support per-controller names(
  VOID
);

EFI_STATUS
EFIAPI
EFI_UNSUPPORTED;(
  VOID
);

EFI_STATUS
EFIAPI
CODE PROTOCOL LOOKUP (sub_181C @ 0x181C)(
  VOID
);

EFI_STATUS
EFIAPI
to find via handles(
  VOID
);

EFI_STATUS
EFIAPI
ASSERT (sub_1924 @ 0x1924)(
  VOID
);

EFI_STATUS
EFIAPI
assertion: break into debugger(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
MEM (sub_1964 @ 0x1964)(
  VOID
);

EFI_STATUS
EFIAPI
+= Length;(
  VOID
);

EFI_STATUS
EFIAPI
MEM (sub_1A04 @ 0x1A04)(
  VOID
);

EFI_STATUS
EFIAPI
MEM (sub_1A68 @ 0x1A68)(
  VOID
);

EFI_STATUS
EFIAPI
ALLOCATION HELPERS(
  VOID
);

EFI_STATUS
EFIAPI
UTILITIES(
  VOID
);

EFI_STATUS
EFIAPI
STATUS CODE WITH DEVICE PATH (sub_239C @ 0x239C)(
  VOID
);

EFI_STATUS
EFIAPI
ACCESS HELPERS (used internally)(
  VOID
);

EFI_STATUS
EFIAPI
STRING LENGTH CHECK (from BaseLib)(
  VOID
);

EFI_STATUS
EFIAPI
GUID (sub_27A0 @ 0x27A0)(
  VOID
);

EFI_STATUS
EFIAPI
GUID (sub_27E8 @ 0x27E8)(
  VOID
);

EFI_STATUS
EFIAPI
PATH UTILITIES(
  VOID
);

#endif /* __SCSIBUS_H__ */