unit enigma_ide;

interface

{API for registration}
function SaveKey ( Name : PChar; Key : PChar) : boolean; stdcall;
function LoadKey( var Name : PChar; var Key : PChar) : boolean; stdcall;
function DeleteKey : boolean; stdcall;
function CheckKey ( Name : PChar; Key : PChar) : boolean; stdcall;
function LoadAndCheckKey : boolean; stdcall;
function CheckAndSaveKey(  Name : PChar; Key : PChar) : boolean; stdcall;
function GetHardwareID : PChar; stdcall;
{API for trial}
function GetNumberOfExecutions( var Total, Left : WORD) : boolean; stdcall;
function GetNumberOfDays( var Total, Left : WORD) : boolean; stdcall;
function GetExpirationDate( var Year, Month, Day : WORD) : boolean; stdcall;

implementation

const
  enigma_api_dll_name  = 'enigma_ide.dll';

function SaveKey ( Name : PChar; Key : PChar) : boolean; external enigma_api_dll_name name 'SaveKey';
function LoadKey( var Name : PChar; var Key : PChar) : boolean; external enigma_api_dll_name name 'LoadKey';
function DeleteKey : boolean; external enigma_api_dll_name name 'DeleteKey';
function CheckKey ( Name : PChar; Key : PChar) : boolean; external enigma_api_dll_name name 'CheckKey';
function CheckAndSaveKey(Name : PChar; Key : PChar) : boolean; external enigma_api_dll_name name 'CheckAndSaveKey';
function LoadAndCheckKey : boolean; external enigma_api_dll_name name 'LoadAndCheckKey';

function GetNumberOfExecutions( var Total, Left : WORD) : boolean; external enigma_api_dll_name name 'GetNumberOfExecutions';
function GetNumberOfDays( var Total, Left : WORD) : boolean; external enigma_api_dll_name name 'GetNumberOfDays';
function GetHardwareID : PChar; external enigma_api_dll_name name 'GetHardwareID';
function GetExpirationDate( var Year, Month, Day : WORD) : boolean; external enigma_api_dll_name name 'GetExpirationDate';

end.
