*/
Stuck? Need help? Ask questions on our forums.
*/

View \LZIMPLIC.PAS

ChiefLZ LZ77 Compression

Submitted By: Unknown
Rating: starstar (Rate It)


{$I LZDefine.inc}

unit LZImplic;
{sample "implicit" or "static" import unit for ChiefLZ.dll}

interface
uses
{$ifdef Win32}
Windows,
{$endif Win32}
ChfTypes;

{exported functions}

function IsChiefLZArchive(const fName: {$ifdef Win32} string
                                       {$else}        PChar
                                       {$endif} ): boolean;
{$ifdef Win32} stdcall; {$endif Win32}

{$ifdef Win32}
function GetChiefLZFileName(const fName: string): string; stdcall;
{$else}
function GetChiefLZFileName(fName, Dest:PChar): boolean;
{$endif Win32}

function GetChiefLZFileSize(fName: {$ifdef Win32} string
                                   {$else Win32}  PChar
                                   {$endif Win32}): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function GetChiefLZArchiveInfo(const ArchName: {$ifdef Win32} string
                                               {$else Win32}  PChar
                                               {$endif Win32};
                               var   Header: TChiefLZArchiveHeader): boolean;
{$ifdef Win32} stdcall; {$endif Win32}

function GetChiefLZArchiveSize(const ArchName: {$ifdef Win32} string
                                               {$else Win32}  PChar
                                               {$endif Win32}): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}

function LZCompress(const {$ifdef Win32} Source, Dest:   string
                          {$else}        aSource, aDest: pChar
                          {$endif};
                    LZQuestion: TLZQuestionFunc;
                    aProc:      TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}

function LZDecompress({$ifdef Win32} Source, Dest:  string
                      {$else} const aSource, aDest: PChar
                      {$endif};
                      LZQuestion: TLZQuestionFunc;
                      aProc:      TLZReportProc):LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function IsChiefLZFile(const fName: {$ifdef Win32} string
                                    {$else}        PChar
                                    {$endif}): boolean;
{$ifdef Win32} stdcall; {$endif Win32}


function LZArchive(const fSpec, ArchName: {$ifdef Win32} string
                                          {$else}        PChar
                                          {$endif};
                   LZRecurseDirs: TLZRecurse;
                   aProc:         TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function LZDearchive(ArchName: {$ifdef Win32} string
                               {$else}        PChar
                               {$endif};
                    {$ifdef Win32} DefDir: string
                    {$else} const aDefDir: PChar
                    {$endif};
                     LZQuestion: TLZQuestionFunc;
                     aProc:      TLZReportProc;
                     aRename:    TLZRenameFunc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function LZCompressEx(const {$ifdef Win32} Name:  string
                            {$else}        aName: PChar
                            {$endif};
                      ReplaceQuestion: TLZQuestionFunc;
                      aProc:           TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function LZDecompressEx({$ifdef Win32} Name:  string
                        {$else}        aName: PChar
                        {$endif};
                        ReplaceQuestion: TLZQuestionFunc;
                        aProc:           TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function GetLZMarkerChar: Char; {$ifdef Win32} stdcall; {$endif}

procedure SetLZMarkerChar(const NewChar: Char);
                                        {$ifdef Win32} stdcall; {$endif}

function ChiefLZDLLVersion: Integer; {$ifdef Win32} stdcall; {$endif}

function GetFullLZName(Const X    : TChiefLZArchiveHeader;
                             Index: Integer): String;
{$ifdef Win32} stdcall; {$endif}

Function LoadChiefLZDLL(DLLName: PChar): {$ifdef Win32} BOOL {$else} Integer {$endif};
{Dummy for compatibility with LZExplic}

Function UnloadChiefLZDLL: {$ifdef Win32} BOOL {$else} Boolean {$endif};
{Dummy for compatibility with LZExplic}

implementation

const ChiefDLL = 'ChiefLZ';

{-------- functions exported in ChiefLZ.dll -----------------}
  function  LZCompress; external ChiefDLL     index 1;
  function  LZDecompress; external ChiefDLL   index 2;
  function  IsChiefLZFile; external ChiefDLL  index 3;
  function  LZArchive; external ChiefDLL      index 4;
  function  LZDeArchive; external ChiefDLL    index 5;
  function  IsChiefLZArchive; external ChiefDLL    index 6;
  function  GetChiefLZFileName; external ChiefDLL  index 7;
  function  GetChiefLZFileSize; external ChiefDLL  index 8;
  function  GetChiefLZArchiveInfo; external ChiefDLL index 9;
  function  LZCompressEx; external ChiefDLL       index 10;
  function  LZDeCompressEx; external ChiefDLL     index 11;
  function  GetLZMarkerChar; external ChiefDLL    index 12;
  procedure SetLZMarkerChar; external ChiefDLL    index 13;
  function  GetFullLZName; external ChiefDLL      index 14;
  function  ChiefLZDLLVersion; external ChiefDLL  index 15;
  function  GetChiefLZArchiveSize; external ChiefDLL  index 16;

{--------------------------------------------------------}
Function LoadChiefLZDLL(DLLName: PChar): {$ifdef Win32} BOOL {$else} Integer {$endif};
Begin
  LoadChiefLZDLL := {$ifdef Win32} True {$else} 0 {$endif};
End;

Function UnloadChiefLZDLL: {$ifdef Win32} BOOL {$else} Boolean {$endif};
Begin
  UnloadChiefLZDLL := True
End;

End.

corner
© 1996-2008 CommunityHeaven LLC. All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
North American business development: Nicolai Wadstrom. Publisher: Lars Hagelin.