unit GPAHeader;

{******************************************************************************
  Добавьте этот модуль к разделу USES  Вашей программы,  и можете пользоваться!
  К сожалению,  есть некоторые  проблемы с ошибкой  "Access violation".  Скорее
  всего,  проблемы  будут  с  функцией  GPAExtractToStreamByID. Для  устранения
  ошибки попробуйте в раздел USES добавить модуль ShareMem.
******************************************************************************}
{******************************************************************************
 Модифицировал ( а точнее урезал =)) Zak3D[@Tm] aka Soulghai
 *****************************************************************************}

interface

  function GPAArchiveChanged: Boolean; stdcall; external 'GPASpec.dll';
  function GPAArchiveActive: Boolean; stdcall; external 'GPASpec.dll';
  function GPAGetArchiveName: PChar; stdcall; external 'GPASpec.dll';
  function GPACreateArchive(GPAName: PChar): LongInt; stdcall; external 'GPASpec.dll';
  function GPALoadArchive(GPAName: PChar): LongInt; stdcall; external 'GPASpec.dll';
  function GPASaveArchive: LongInt; external 'GPASpec.dll';
  function GPACloseArchive(Save: Boolean): LongInt; stdcall; external 'GPASpec.dll';
  function GPAGetArchiveSize: LongInt; stdcall; external 'GPASpec.dll';
  function GPAGetArchiveRealSize: LongInt; stdcall; external 'GPASpec.dll';
  function GPAGetTotalFiles: LongInt; stdcall; external 'GPASpec.dll';
  {***** Операции над файлами *****}
  function GPAAddFromFile(AddName: PChar): LongInt; stdcall; external 'GPASpec.dll';
//Для добавления и извлечения файлов в/из потоков, необходимо использование библиотеки KOL
  //function GPAAddFromStream(FIn: PStream; FSize: LongInt; FFName: PChar): LongInt; stdcall; external 'GPASpec.dll';
  //function GPAExtractToStreamByID(id: LongInt; var FOut: TMemoryStream): LongInt; stdcall; external 'GPASpec.dll';
  function GPAExtractToFileByID(id: LongInt; FFName: PChar): LongInt; stdcall; external 'GPASpec.dll';
  function GPAGetIDByName(FName: PChar; FCase: Boolean): Integer; stdcall; external 'GPASpec.dll';
  function GPAGetNameByID(id: LongInt): PChar; stdcall; external 'GPASpec.dll';
  function GPAGetSizeByID(id: LongInt): LongInt; stdcall; external 'GPASpec.dll';
  function GPAGetRealSizeByID(id: LongInt): LongInt; stdcall; external 'GPASpec.dll';
  function GPARenameByID(id: LongInt; FName: PChar): LongInt; stdcall; external 'GPASpec.dll';
  function GPADeleteByID(id: LongInt): LongInt; stdcall; external 'GPASpec.dll';

implementation

end.
