unit Chilkat.ScMinidriver;

{
  Pascal wrapper for Chilkat ScMinidriver.
  Auto-generated by PascalWrapperGenerator -- do not edit manually.
}

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}

interface

uses
  SysUtils,
  Chilkat.Base;

type

  { TScMinidriver wraps CkScMinidriver via the C bridge layer. }
  TScMinidriver = class(TChilkatBase)
  private
    function  GetLastErrorHtml: string;
    function  GetLastErrorText: string;
    function  GetLastErrorXml: string;
    function  GetVersion: string;
    function  GetDebugLogFilePath: string;
    procedure SetDebugLogFilePath(AValue: string);
    function  GetVerboseLogging: Boolean;
    procedure SetVerboseLogging(AValue: Boolean);
    function  GetLastMethodSuccess: Boolean;
    procedure SetLastMethodSuccess(AValue: Boolean);
    function  GetAtr: string;
    function  GetCardName: string;
    function  GetRsaPaddingScheme: string;
    procedure SetRsaPaddingScheme(AValue: string);
    function  GetRsaPaddingHash: string;
    procedure SetRsaPaddingHash(AValue: string);
    function  GetMaxContainers: Integer;
    function  GetUncommonOptions: string;
    procedure SetUncommonOptions(AValue: string);
  public
    constructor Create;
    destructor  Destroy; override;

    property LastErrorHtml: string read GetLastErrorHtml;
    property LastErrorText: string read GetLastErrorText;
    property LastErrorXml: string read GetLastErrorXml;
    property Version: string read GetVersion;
    property DebugLogFilePath: string read GetDebugLogFilePath write SetDebugLogFilePath;
    property VerboseLogging: Boolean read GetVerboseLogging write SetVerboseLogging;
    property LastMethodSuccess: Boolean read GetLastMethodSuccess write SetLastMethodSuccess;
    property Atr: string read GetAtr;
    property CardName: string read GetCardName;
    property RsaPaddingScheme: string read GetRsaPaddingScheme write SetRsaPaddingScheme;
    property RsaPaddingHash: string read GetRsaPaddingHash write SetRsaPaddingHash;
    property MaxContainers: Integer read GetMaxContainers;
    property UncommonOptions: string read GetUncommonOptions write SetUncommonOptions;

    function  AcquireContext(const readerName: string): Boolean;
    function  DeleteContext: Boolean;
    function  EnumFiles(const dirName: string; st: TChilkatBase): Boolean;
    function  ReadFile(const dirName: string; const fileName: string; bd: TChilkatBase): Boolean;
    function  GetCardProperties(json: TChilkatBase): Boolean;
    function  PinAuthenticate(const pinId: string; const pin: string): Integer;
    function  PinDeauthenticate(const pinId: string): Boolean;
    function  PinChange(const pinId: string; const currentPin: string; const newPin: string): Integer;
    function  SignData(containerIndex: Integer; const keySpec: string; const hashDataAlg: string; bdData: TChilkatBase; bdSignedData: TChilkatBase): Boolean;
    function  GetContainerKeys(containerIndex: Integer; sigKey: TChilkatBase; kexKey: TChilkatBase): Boolean;
    function  GenerateKey(containerIndex: Integer; const keySpec: string; const keyType: string; keySize: Integer; const pinId: string): Boolean;
    function  ImportKey(containerIndex: Integer; const keySpec: string; privKey: TChilkatBase; const pinId: string): Boolean;
    function  DeleteKeyContainer(containerIndex: Integer): Boolean;
    function  GetCspContainerMap(json: TChilkatBase): Boolean;
    function  ListCerts(const certPart: string; st: TChilkatBase): Boolean;
    function  ImportCert(cert: TChilkatBase; containerIndex: Integer; const keySpec: string; const pinId: string): Boolean;
    function  WriteFile(const dirName: string; const fileName: string; bd: TChilkatBase): Boolean;
    function  GetCert(containerIndex: Integer; const keySpec: string; cert: TChilkatBase): Boolean;
    function  FindCert(const certPart: string; const partValue: string; cert: TChilkatBase): Boolean;
    function  PinAuthenticateHex(const pinId: string; const pin: string): Integer;
    function  DeleteCert(cert: TChilkatBase; delPrivKey: Boolean): Boolean;
    function  CardDeleteFile(const dirName: string; const fileName: string): Boolean;
  end;

implementation

uses
  CkDllLoader,
  Chilkat.Utils;

{ ---- C bridge function pointer types ---- }
type
  TCkScMinidriver_Create  = function(): Pointer; cdecl;
  TCkScMinidriver_Dispose = procedure(handle: Pointer); cdecl;
  TCkScMinidriver_get_LastErrorHtml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_get_LastErrorText = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_get_LastErrorXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_get_Version = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_get_DebugLogFilePath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_put_DebugLogFilePath = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkScMinidriver_get_VerboseLogging = function(handle: Pointer): LongBool; cdecl;
  TCkScMinidriver_put_VerboseLogging = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkScMinidriver_get_LastMethodSuccess = function(handle: Pointer): LongBool; cdecl;
  TCkScMinidriver_put_LastMethodSuccess = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkScMinidriver_get_Atr = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_get_CardName = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_get_RsaPaddingScheme = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_put_RsaPaddingScheme = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkScMinidriver_get_RsaPaddingHash = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_put_RsaPaddingHash = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkScMinidriver_get_MaxContainers = function(handle: Pointer): Integer; cdecl;
  TCkScMinidriver_get_UncommonOptions = function(handle: Pointer): PAnsiChar; cdecl;
  TCkScMinidriver_put_UncommonOptions = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkScMinidriver_AcquireContext = function(handle: Pointer; readerName: PAnsiChar): LongBool; cdecl;
  TCkScMinidriver_DeleteContext = function(handle: Pointer): LongBool; cdecl;
  TCkScMinidriver_EnumFiles = function(handle: Pointer; dirName: PAnsiChar; st: Pointer): LongBool; cdecl;
  TCkScMinidriver_ReadFile = function(handle: Pointer; dirName: PAnsiChar; fileName: PAnsiChar; bd: Pointer): LongBool; cdecl;
  TCkScMinidriver_GetCardProperties = function(handle: Pointer; json: Pointer): LongBool; cdecl;
  TCkScMinidriver_PinAuthenticate = function(handle: Pointer; pinId: PAnsiChar; pin: PAnsiChar): Integer; cdecl;
  TCkScMinidriver_PinDeauthenticate = function(handle: Pointer; pinId: PAnsiChar): LongBool; cdecl;
  TCkScMinidriver_PinChange = function(handle: Pointer; pinId: PAnsiChar; currentPin: PAnsiChar; newPin: PAnsiChar): Integer; cdecl;
  TCkScMinidriver_SignData = function(handle: Pointer; containerIndex: Integer; keySpec: PAnsiChar; hashDataAlg: PAnsiChar; bdData: Pointer; bdSignedData: Pointer): LongBool; cdecl;
  TCkScMinidriver_GetContainerKeys = function(handle: Pointer; containerIndex: Integer; sigKey: Pointer; kexKey: Pointer): LongBool; cdecl;
  TCkScMinidriver_GenerateKey = function(handle: Pointer; containerIndex: Integer; keySpec: PAnsiChar; keyType: PAnsiChar; keySize: Integer; pinId: PAnsiChar): LongBool; cdecl;
  TCkScMinidriver_ImportKey = function(handle: Pointer; containerIndex: Integer; keySpec: PAnsiChar; privKey: Pointer; pinId: PAnsiChar): LongBool; cdecl;
  TCkScMinidriver_DeleteKeyContainer = function(handle: Pointer; containerIndex: Integer): LongBool; cdecl;
  TCkScMinidriver_GetCspContainerMap = function(handle: Pointer; json: Pointer): LongBool; cdecl;
  TCkScMinidriver_ListCerts = function(handle: Pointer; certPart: PAnsiChar; st: Pointer): LongBool; cdecl;
  TCkScMinidriver_ImportCert = function(handle: Pointer; cert: Pointer; containerIndex: Integer; keySpec: PAnsiChar; pinId: PAnsiChar): LongBool; cdecl;
  TCkScMinidriver_WriteFile = function(handle: Pointer; dirName: PAnsiChar; fileName: PAnsiChar; bd: Pointer): LongBool; cdecl;
  TCkScMinidriver_GetCert = function(handle: Pointer; containerIndex: Integer; keySpec: PAnsiChar; cert: Pointer): LongBool; cdecl;
  TCkScMinidriver_FindCert = function(handle: Pointer; certPart: PAnsiChar; partValue: PAnsiChar; cert: Pointer): LongBool; cdecl;
  TCkScMinidriver_PinAuthenticateHex = function(handle: Pointer; pinId: PAnsiChar; pin: PAnsiChar): Integer; cdecl;
  TCkScMinidriver_DeleteCert = function(handle: Pointer; cert: Pointer; delPrivKey: LongBool): LongBool; cdecl;
  TCkScMinidriver_CardDeleteFile = function(handle: Pointer; dirName: PAnsiChar; fileName: PAnsiChar): LongBool; cdecl;

{ ---- C bridge function pointer variables ---- }
var
  CkScMinidriver_Create:  TCkScMinidriver_Create  = nil;
  CkScMinidriver_Dispose: TCkScMinidriver_Dispose = nil;
  CkScMinidriver_get_LastErrorHtml: TCkScMinidriver_get_LastErrorHtml = nil;
  CkScMinidriver_get_LastErrorText: TCkScMinidriver_get_LastErrorText = nil;
  CkScMinidriver_get_LastErrorXml: TCkScMinidriver_get_LastErrorXml = nil;
  CkScMinidriver_get_Version: TCkScMinidriver_get_Version = nil;
  CkScMinidriver_get_DebugLogFilePath: TCkScMinidriver_get_DebugLogFilePath = nil;
  CkScMinidriver_put_DebugLogFilePath: TCkScMinidriver_put_DebugLogFilePath = nil;
  CkScMinidriver_get_VerboseLogging: TCkScMinidriver_get_VerboseLogging = nil;
  CkScMinidriver_put_VerboseLogging: TCkScMinidriver_put_VerboseLogging = nil;
  CkScMinidriver_get_LastMethodSuccess: TCkScMinidriver_get_LastMethodSuccess = nil;
  CkScMinidriver_put_LastMethodSuccess: TCkScMinidriver_put_LastMethodSuccess = nil;
  CkScMinidriver_get_Atr: TCkScMinidriver_get_Atr = nil;
  CkScMinidriver_get_CardName: TCkScMinidriver_get_CardName = nil;
  CkScMinidriver_get_RsaPaddingScheme: TCkScMinidriver_get_RsaPaddingScheme = nil;
  CkScMinidriver_put_RsaPaddingScheme: TCkScMinidriver_put_RsaPaddingScheme = nil;
  CkScMinidriver_get_RsaPaddingHash: TCkScMinidriver_get_RsaPaddingHash = nil;
  CkScMinidriver_put_RsaPaddingHash: TCkScMinidriver_put_RsaPaddingHash = nil;
  CkScMinidriver_get_MaxContainers: TCkScMinidriver_get_MaxContainers = nil;
  CkScMinidriver_get_UncommonOptions: TCkScMinidriver_get_UncommonOptions = nil;
  CkScMinidriver_put_UncommonOptions: TCkScMinidriver_put_UncommonOptions = nil;
  CkScMinidriver_AcquireContext: TCkScMinidriver_AcquireContext = nil;
  CkScMinidriver_DeleteContext: TCkScMinidriver_DeleteContext = nil;
  CkScMinidriver_EnumFiles: TCkScMinidriver_EnumFiles = nil;
  CkScMinidriver_ReadFile: TCkScMinidriver_ReadFile = nil;
  CkScMinidriver_GetCardProperties: TCkScMinidriver_GetCardProperties = nil;
  CkScMinidriver_PinAuthenticate: TCkScMinidriver_PinAuthenticate = nil;
  CkScMinidriver_PinDeauthenticate: TCkScMinidriver_PinDeauthenticate = nil;
  CkScMinidriver_PinChange: TCkScMinidriver_PinChange = nil;
  CkScMinidriver_SignData: TCkScMinidriver_SignData = nil;
  CkScMinidriver_GetContainerKeys: TCkScMinidriver_GetContainerKeys = nil;
  CkScMinidriver_GenerateKey: TCkScMinidriver_GenerateKey = nil;
  CkScMinidriver_ImportKey: TCkScMinidriver_ImportKey = nil;
  CkScMinidriver_DeleteKeyContainer: TCkScMinidriver_DeleteKeyContainer = nil;
  CkScMinidriver_GetCspContainerMap: TCkScMinidriver_GetCspContainerMap = nil;
  CkScMinidriver_ListCerts: TCkScMinidriver_ListCerts = nil;
  CkScMinidriver_ImportCert: TCkScMinidriver_ImportCert = nil;
  CkScMinidriver_WriteFile: TCkScMinidriver_WriteFile = nil;
  CkScMinidriver_GetCert: TCkScMinidriver_GetCert = nil;
  CkScMinidriver_FindCert: TCkScMinidriver_FindCert = nil;
  CkScMinidriver_PinAuthenticateHex: TCkScMinidriver_PinAuthenticateHex = nil;
  CkScMinidriver_DeleteCert: TCkScMinidriver_DeleteCert = nil;
  CkScMinidriver_CardDeleteFile: TCkScMinidriver_CardDeleteFile = nil;

constructor TScMinidriver.Create;
begin
  inherited Create;
  FHandle := CkScMinidriver_Create();
end;

destructor TScMinidriver.Destroy;
begin
  if FHandle <> nil then
    CkScMinidriver_Dispose(FHandle);
  FHandle := nil;
  inherited;
end;

function TScMinidriver.GetLastErrorHtml: string;
begin
  Result := CkToStr(CkScMinidriver_get_LastErrorHtml(FHandle));
end;

function TScMinidriver.GetLastErrorText: string;
begin
  Result := CkToStr(CkScMinidriver_get_LastErrorText(FHandle));
end;

function TScMinidriver.GetLastErrorXml: string;
begin
  Result := CkToStr(CkScMinidriver_get_LastErrorXml(FHandle));
end;

function TScMinidriver.GetVersion: string;
begin
  Result := CkToStr(CkScMinidriver_get_Version(FHandle));
end;

function TScMinidriver.GetDebugLogFilePath: string;
begin
  Result := CkToStr(CkScMinidriver_get_DebugLogFilePath(FHandle));
end;

procedure TScMinidriver.SetDebugLogFilePath(AValue: string);
begin
  CkScMinidriver_put_DebugLogFilePath(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TScMinidriver.GetVerboseLogging: Boolean;
begin
  Result := Boolean(CkScMinidriver_get_VerboseLogging(FHandle));
end;

procedure TScMinidriver.SetVerboseLogging(AValue: Boolean);
begin
  CkScMinidriver_put_VerboseLogging(FHandle, LongBool(AValue));
end;

function TScMinidriver.GetLastMethodSuccess: Boolean;
begin
  Result := Boolean(CkScMinidriver_get_LastMethodSuccess(FHandle));
end;

procedure TScMinidriver.SetLastMethodSuccess(AValue: Boolean);
begin
  CkScMinidriver_put_LastMethodSuccess(FHandle, LongBool(AValue));
end;

function TScMinidriver.GetAtr: string;
begin
  Result := CkToStr(CkScMinidriver_get_Atr(FHandle));
end;

function TScMinidriver.GetCardName: string;
begin
  Result := CkToStr(CkScMinidriver_get_CardName(FHandle));
end;

function TScMinidriver.GetRsaPaddingScheme: string;
begin
  Result := CkToStr(CkScMinidriver_get_RsaPaddingScheme(FHandle));
end;

procedure TScMinidriver.SetRsaPaddingScheme(AValue: string);
begin
  CkScMinidriver_put_RsaPaddingScheme(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TScMinidriver.GetRsaPaddingHash: string;
begin
  Result := CkToStr(CkScMinidriver_get_RsaPaddingHash(FHandle));
end;

procedure TScMinidriver.SetRsaPaddingHash(AValue: string);
begin
  CkScMinidriver_put_RsaPaddingHash(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TScMinidriver.GetMaxContainers: Integer;
begin
  Result := CkScMinidriver_get_MaxContainers(FHandle);
end;

function TScMinidriver.GetUncommonOptions: string;
begin
  Result := CkToStr(CkScMinidriver_get_UncommonOptions(FHandle));
end;

procedure TScMinidriver.SetUncommonOptions(AValue: string);
begin
  CkScMinidriver_put_UncommonOptions(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TScMinidriver.AcquireContext(const readerName: string): Boolean;
begin
  Result := Boolean(CkScMinidriver_AcquireContext(FHandle, PAnsiChar(StrToCk(readerName))));
end;

function TScMinidriver.DeleteContext: Boolean;
begin
  Result := Boolean(CkScMinidriver_DeleteContext(FHandle));
end;

function TScMinidriver.EnumFiles(const dirName: string; st: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_EnumFiles(FHandle, PAnsiChar(StrToCk(dirName)), st.Handle));
end;

function TScMinidriver.ReadFile(const dirName: string; const fileName: string; bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_ReadFile(FHandle, PAnsiChar(StrToCk(dirName)), PAnsiChar(StrToCk(fileName)), bd.Handle));
end;

function TScMinidriver.GetCardProperties(json: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_GetCardProperties(FHandle, json.Handle));
end;

function TScMinidriver.PinAuthenticate(const pinId: string; const pin: string): Integer;
begin
  Result := CkScMinidriver_PinAuthenticate(FHandle, PAnsiChar(StrToCk(pinId)), PAnsiChar(StrToCk(pin)));
end;

function TScMinidriver.PinDeauthenticate(const pinId: string): Boolean;
begin
  Result := Boolean(CkScMinidriver_PinDeauthenticate(FHandle, PAnsiChar(StrToCk(pinId))));
end;

function TScMinidriver.PinChange(const pinId: string; const currentPin: string; const newPin: string): Integer;
begin
  Result := CkScMinidriver_PinChange(FHandle, PAnsiChar(StrToCk(pinId)), PAnsiChar(StrToCk(currentPin)), PAnsiChar(StrToCk(newPin)));
end;

function TScMinidriver.SignData(containerIndex: Integer; const keySpec: string; const hashDataAlg: string; bdData: TChilkatBase; bdSignedData: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_SignData(FHandle, containerIndex, PAnsiChar(StrToCk(keySpec)), PAnsiChar(StrToCk(hashDataAlg)), bdData.Handle, bdSignedData.Handle));
end;

function TScMinidriver.GetContainerKeys(containerIndex: Integer; sigKey: TChilkatBase; kexKey: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_GetContainerKeys(FHandle, containerIndex, sigKey.Handle, kexKey.Handle));
end;

function TScMinidriver.GenerateKey(containerIndex: Integer; const keySpec: string; const keyType: string; keySize: Integer; const pinId: string): Boolean;
begin
  Result := Boolean(CkScMinidriver_GenerateKey(FHandle, containerIndex, PAnsiChar(StrToCk(keySpec)), PAnsiChar(StrToCk(keyType)), keySize, PAnsiChar(StrToCk(pinId))));
end;

function TScMinidriver.ImportKey(containerIndex: Integer; const keySpec: string; privKey: TChilkatBase; const pinId: string): Boolean;
begin
  Result := Boolean(CkScMinidriver_ImportKey(FHandle, containerIndex, PAnsiChar(StrToCk(keySpec)), privKey.Handle, PAnsiChar(StrToCk(pinId))));
end;

function TScMinidriver.DeleteKeyContainer(containerIndex: Integer): Boolean;
begin
  Result := Boolean(CkScMinidriver_DeleteKeyContainer(FHandle, containerIndex));
end;

function TScMinidriver.GetCspContainerMap(json: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_GetCspContainerMap(FHandle, json.Handle));
end;

function TScMinidriver.ListCerts(const certPart: string; st: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_ListCerts(FHandle, PAnsiChar(StrToCk(certPart)), st.Handle));
end;

function TScMinidriver.ImportCert(cert: TChilkatBase; containerIndex: Integer; const keySpec: string; const pinId: string): Boolean;
begin
  Result := Boolean(CkScMinidriver_ImportCert(FHandle, cert.Handle, containerIndex, PAnsiChar(StrToCk(keySpec)), PAnsiChar(StrToCk(pinId))));
end;

function TScMinidriver.WriteFile(const dirName: string; const fileName: string; bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_WriteFile(FHandle, PAnsiChar(StrToCk(dirName)), PAnsiChar(StrToCk(fileName)), bd.Handle));
end;

function TScMinidriver.GetCert(containerIndex: Integer; const keySpec: string; cert: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_GetCert(FHandle, containerIndex, PAnsiChar(StrToCk(keySpec)), cert.Handle));
end;

function TScMinidriver.FindCert(const certPart: string; const partValue: string; cert: TChilkatBase): Boolean;
begin
  Result := Boolean(CkScMinidriver_FindCert(FHandle, PAnsiChar(StrToCk(certPart)), PAnsiChar(StrToCk(partValue)), cert.Handle));
end;

function TScMinidriver.PinAuthenticateHex(const pinId: string; const pin: string): Integer;
begin
  Result := CkScMinidriver_PinAuthenticateHex(FHandle, PAnsiChar(StrToCk(pinId)), PAnsiChar(StrToCk(pin)));
end;

function TScMinidriver.DeleteCert(cert: TChilkatBase; delPrivKey: Boolean): Boolean;
begin
  Result := Boolean(CkScMinidriver_DeleteCert(FHandle, cert.Handle, LongBool(delPrivKey)));
end;

function TScMinidriver.CardDeleteFile(const dirName: string; const fileName: string): Boolean;
begin
  Result := Boolean(CkScMinidriver_CardDeleteFile(FHandle, PAnsiChar(StrToCk(dirName)), PAnsiChar(StrToCk(fileName))));
end;

initialization
  Chilkat_GetProcedureAddress(CkScMinidriver_Create,  'CkScMinidriver_Create');
  Chilkat_GetProcedureAddress(CkScMinidriver_Dispose, 'CkScMinidriver_Dispose');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_LastErrorHtml, 'CkScMinidriver_get_LastErrorHtml');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_LastErrorText, 'CkScMinidriver_get_LastErrorText');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_LastErrorXml, 'CkScMinidriver_get_LastErrorXml');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_Version, 'CkScMinidriver_get_Version');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_DebugLogFilePath, 'CkScMinidriver_get_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkScMinidriver_put_DebugLogFilePath, 'CkScMinidriver_put_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_VerboseLogging, 'CkScMinidriver_get_VerboseLogging');
  Chilkat_GetProcedureAddress(CkScMinidriver_put_VerboseLogging, 'CkScMinidriver_put_VerboseLogging');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_LastMethodSuccess, 'CkScMinidriver_get_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkScMinidriver_put_LastMethodSuccess, 'CkScMinidriver_put_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_Atr, 'CkScMinidriver_get_Atr');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_CardName, 'CkScMinidriver_get_CardName');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_RsaPaddingScheme, 'CkScMinidriver_get_RsaPaddingScheme');
  Chilkat_GetProcedureAddress(CkScMinidriver_put_RsaPaddingScheme, 'CkScMinidriver_put_RsaPaddingScheme');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_RsaPaddingHash, 'CkScMinidriver_get_RsaPaddingHash');
  Chilkat_GetProcedureAddress(CkScMinidriver_put_RsaPaddingHash, 'CkScMinidriver_put_RsaPaddingHash');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_MaxContainers, 'CkScMinidriver_get_MaxContainers');
  Chilkat_GetProcedureAddress(CkScMinidriver_get_UncommonOptions, 'CkScMinidriver_get_UncommonOptions');
  Chilkat_GetProcedureAddress(CkScMinidriver_put_UncommonOptions, 'CkScMinidriver_put_UncommonOptions');
  Chilkat_GetProcedureAddress(CkScMinidriver_AcquireContext, 'CkScMinidriver_AcquireContext');
  Chilkat_GetProcedureAddress(CkScMinidriver_DeleteContext, 'CkScMinidriver_DeleteContext');
  Chilkat_GetProcedureAddress(CkScMinidriver_EnumFiles, 'CkScMinidriver_EnumFiles');
  Chilkat_GetProcedureAddress(CkScMinidriver_ReadFile, 'CkScMinidriver_ReadFile');
  Chilkat_GetProcedureAddress(CkScMinidriver_GetCardProperties, 'CkScMinidriver_GetCardProperties');
  Chilkat_GetProcedureAddress(CkScMinidriver_PinAuthenticate, 'CkScMinidriver_PinAuthenticate');
  Chilkat_GetProcedureAddress(CkScMinidriver_PinDeauthenticate, 'CkScMinidriver_PinDeauthenticate');
  Chilkat_GetProcedureAddress(CkScMinidriver_PinChange, 'CkScMinidriver_PinChange');
  Chilkat_GetProcedureAddress(CkScMinidriver_SignData, 'CkScMinidriver_SignData');
  Chilkat_GetProcedureAddress(CkScMinidriver_GetContainerKeys, 'CkScMinidriver_GetContainerKeys');
  Chilkat_GetProcedureAddress(CkScMinidriver_GenerateKey, 'CkScMinidriver_GenerateKey');
  Chilkat_GetProcedureAddress(CkScMinidriver_ImportKey, 'CkScMinidriver_ImportKey');
  Chilkat_GetProcedureAddress(CkScMinidriver_DeleteKeyContainer, 'CkScMinidriver_DeleteKeyContainer');
  Chilkat_GetProcedureAddress(CkScMinidriver_GetCspContainerMap, 'CkScMinidriver_GetCspContainerMap');
  Chilkat_GetProcedureAddress(CkScMinidriver_ListCerts, 'CkScMinidriver_ListCerts');
  Chilkat_GetProcedureAddress(CkScMinidriver_ImportCert, 'CkScMinidriver_ImportCert');
  Chilkat_GetProcedureAddress(CkScMinidriver_WriteFile, 'CkScMinidriver_WriteFile');
  Chilkat_GetProcedureAddress(CkScMinidriver_GetCert, 'CkScMinidriver_GetCert');
  Chilkat_GetProcedureAddress(CkScMinidriver_FindCert, 'CkScMinidriver_FindCert');
  Chilkat_GetProcedureAddress(CkScMinidriver_PinAuthenticateHex, 'CkScMinidriver_PinAuthenticateHex');
  Chilkat_GetProcedureAddress(CkScMinidriver_DeleteCert, 'CkScMinidriver_DeleteCert');
  Chilkat_GetProcedureAddress(CkScMinidriver_CardDeleteFile, 'CkScMinidriver_CardDeleteFile');

end.
