/** @file
  Aint13.h -- Header for Aint13


Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __AINT13_H__
#define __AINT13_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  EFI_HANDLE        ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
  );

//
// ModuleEntryPoint -- compatibility alias for _ModuleEntryPoint.
//
EFI_STATUS
EFIAPI
ModuleEntryPoint(
  EFI_HANDLE        ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
  );

//
// Module split:
// - Aint13.c: module entry, generic discovery, timer glue, and shared helpers.
// - AInt13Csp.c: chipset-specific INT13h register programming (sub_1634).
//

EFI_STATUS
EFIAPI
sub_1634(
  VOID
  );

EFI_STATUS
EFIAPI
sub_18BC(
  IN CHAR8 *FileName,
  IN UINTN LineNumber,
  IN CHAR8 *Description
  );

EFI_STATUS
EFIAPI
sub_18FC(
  VOID
  );

EFI_STATUS
EFIAPI
sub_624(
  VOID
  );

EFI_STATUS
EFIAPI
sub_10CC(
  IN VOID *PciIo
  );

EFI_STATUS
EFIAPI
sub_E88(
  IN VOID *DiskInfo
  );

EFI_STATUS
EFIAPI
sub_BD4(
  IN UINT8      *DeviceId,
  IN UINT8      Channel,
  IN VOID       *AtaIdentify,
  IN UINTN      AtaIdentifySize,
  IN BOOLEAN    Atapi
  );

EFI_STATUS
EFIAPI
sub_A50(
  IN UINT8 *IdentifyData,
  OUT VOID *GeometryOut
  );

EFI_STATUS
EFIAPI
sub_86C(
  IN UINT8 *MbRBuffer,
  IN UINTN BufferSize,
  OUT VOID *ChsOut
  );

EFI_STATUS
EFIAPI
sub_794(
  IN UINT64 LbaSectors,
  OUT VOID  *GeometryOut
  );

EFI_STATUS
EFIAPI
sub_17F4(
  VOID
  );

VOID
EFIAPI
sub_1874(
  IN CHAR8 *Format,
  ...
  );

UINT32
EFIAPI
sub_19D4(
  VOID
  );

BOOLEAN
EFIAPI
sub_1A24(
  IN CONST EFI_GUID *Left,
  IN CONST EFI_GUID *Right
  );

UINT64
EFIAPI
sub_1A94(
  IN VOID *Address
  );

EFI_STATUS
EFIAPI
sub_52C(
  IN EFI_EVENT Event,
  IN VOID     *Context
  );

EFI_STATUS
EFIAPI
sub_480(
  IN VOID *PciIoList
  );

#endif /* __AINT13_H__ */
