unit Chilkat.Asn;

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

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

interface

uses
  SysUtils,
  Chilkat.Base;

type

  { TAsn wraps CkAsn via the C bridge layer. }
  TAsn = 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  GetBoolValue: Boolean;
    procedure SetBoolValue(AValue: Boolean);
    function  GetConstructed: Boolean;
    function  GetContentStr: string;
    procedure SetContentStr(AValue: string);
    function  GetIntValue: Integer;
    procedure SetIntValue(AValue: Integer);
    function  GetNumSubItems: Integer;
    function  GetTag: string;
    function  GetTagValue: Integer;
  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 BoolValue: Boolean read GetBoolValue write SetBoolValue;
    property Constructed: Boolean read GetConstructed;
    property ContentStr: string read GetContentStr write SetContentStr;
    property IntValue: Integer read GetIntValue write SetIntValue;
    property NumSubItems: Integer read GetNumSubItems;
    property Tag: string read GetTag;
    property TagValue: Integer read GetTagValue;

    function  AppendBigInt(const encodedBytes: string; const encoding: string): Boolean;
    function  AppendBits(const encodedBytes: string; const encoding: string): Boolean;
    function  AppendBool(value: Boolean): Boolean;
    function  AppendContextConstructed(tag: Integer): Boolean;
    function  AppendContextPrimitive(tag: Integer; const encodedBytes: string; const encoding: string): Boolean;
    function  AppendInt(value: Integer): Boolean;
    function  AppendNull: Boolean;
    function  AppendOctets(const encodedBytes: string; const encoding: string): Boolean;
    function  AppendOid(const oid: string): Boolean;
    function  AppendSequence: Boolean;
    function  AppendSequence2: Boolean;
    function  AppendSequenceR: TChilkatBase;
    function  AppendSet: Boolean;
    function  AppendSet2: Boolean;
    function  AppendSetR: TChilkatBase;
    function  AppendString(const strType: string; const value: string): Boolean;
    function  AppendTime(const timeFormat: string; const dateTimeStr: string): Boolean;
    function  AsnToXml: string;
    function  DeleteSubItem(index: Integer): Boolean;
    function  GetEncodedContent(const encoding: string): string;
    function  GetEncodedDer(const encoding: string): string;
    function  GetLastSubItem: TChilkatBase;
    function  GetSubItem(index: Integer): TChilkatBase;
    function  LoadAsnXml(const xmlStr: string): Boolean;
    function  LoadBinaryFile(const path: string): Boolean;
    function  LoadEncoded(const asnContent: string; const encoding: string): Boolean;
    function  SetEncodedContent(const encodedBytes: string; const encoding: string): Boolean;
    function  WriteBinaryDer(const path: string): Boolean;
    function  LoadBd(bd: TChilkatBase): Boolean;
    function  WriteBd(bd: TChilkatBase): Boolean;
  end;

implementation

uses
  CkDllLoader,
  Chilkat.Utils;

{ ---- C bridge function pointer types ---- }
type
  TCkAsn_Create  = function(): Pointer; cdecl;
  TCkAsn_Dispose = procedure(handle: Pointer); cdecl;
  TCkAsn_get_LastErrorHtml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_get_LastErrorText = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_get_LastErrorXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_get_Version = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_get_DebugLogFilePath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_put_DebugLogFilePath = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkAsn_get_VerboseLogging = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_put_VerboseLogging = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkAsn_get_LastMethodSuccess = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_put_LastMethodSuccess = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkAsn_get_BoolValue = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_put_BoolValue = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkAsn_get_Constructed = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_get_ContentStr = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_put_ContentStr = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkAsn_get_IntValue = function(handle: Pointer): Integer; cdecl;
  TCkAsn_put_IntValue = procedure(handle: Pointer; value: Integer); cdecl;
  TCkAsn_get_NumSubItems = function(handle: Pointer): Integer; cdecl;
  TCkAsn_get_Tag = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_get_TagValue = function(handle: Pointer): Integer; cdecl;
  TCkAsn_AppendBigInt = function(handle: Pointer; encodedBytes: PAnsiChar; encoding: PAnsiChar): LongBool; cdecl;
  TCkAsn_AppendBits = function(handle: Pointer; encodedBytes: PAnsiChar; encoding: PAnsiChar): LongBool; cdecl;
  TCkAsn_AppendBool = function(handle: Pointer; value: LongBool): LongBool; cdecl;
  TCkAsn_AppendContextConstructed = function(handle: Pointer; tag: Integer): LongBool; cdecl;
  TCkAsn_AppendContextPrimitive = function(handle: Pointer; tag: Integer; encodedBytes: PAnsiChar; encoding: PAnsiChar): LongBool; cdecl;
  TCkAsn_AppendInt = function(handle: Pointer; value: Integer): LongBool; cdecl;
  TCkAsn_AppendNull = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_AppendOctets = function(handle: Pointer; encodedBytes: PAnsiChar; encoding: PAnsiChar): LongBool; cdecl;
  TCkAsn_AppendOid = function(handle: Pointer; oid: PAnsiChar): LongBool; cdecl;
  TCkAsn_AppendSequence = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_AppendSequence2 = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_AppendSequenceR = function(handle: Pointer): Pointer; cdecl;
  TCkAsn_AppendSet = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_AppendSet2 = function(handle: Pointer): LongBool; cdecl;
  TCkAsn_AppendSetR = function(handle: Pointer): Pointer; cdecl;
  TCkAsn_AppendString = function(handle: Pointer; strType: PAnsiChar; value: PAnsiChar): LongBool; cdecl;
  TCkAsn_AppendTime = function(handle: Pointer; timeFormat: PAnsiChar; dateTimeStr: PAnsiChar): LongBool; cdecl;
  TCkAsn_AsnToXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkAsn_DeleteSubItem = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkAsn_GetEncodedContent = function(handle: Pointer; encoding: PAnsiChar): PAnsiChar; cdecl;
  TCkAsn_GetEncodedDer = function(handle: Pointer; encoding: PAnsiChar): PAnsiChar; cdecl;
  TCkAsn_GetLastSubItem = function(handle: Pointer): Pointer; cdecl;
  TCkAsn_GetSubItem = function(handle: Pointer; index: Integer): Pointer; cdecl;
  TCkAsn_LoadAsnXml = function(handle: Pointer; xmlStr: PAnsiChar): LongBool; cdecl;
  TCkAsn_LoadBinaryFile = function(handle: Pointer; path: PAnsiChar): LongBool; cdecl;
  TCkAsn_LoadEncoded = function(handle: Pointer; asnContent: PAnsiChar; encoding: PAnsiChar): LongBool; cdecl;
  TCkAsn_SetEncodedContent = function(handle: Pointer; encodedBytes: PAnsiChar; encoding: PAnsiChar): LongBool; cdecl;
  TCkAsn_WriteBinaryDer = function(handle: Pointer; path: PAnsiChar): LongBool; cdecl;
  TCkAsn_LoadBd = function(handle: Pointer; bd: Pointer): LongBool; cdecl;
  TCkAsn_WriteBd = function(handle: Pointer; bd: Pointer): LongBool; cdecl;

{ ---- C bridge function pointer variables ---- }
var
  CkAsn_Create:  TCkAsn_Create  = nil;
  CkAsn_Dispose: TCkAsn_Dispose = nil;
  CkAsn_get_LastErrorHtml: TCkAsn_get_LastErrorHtml = nil;
  CkAsn_get_LastErrorText: TCkAsn_get_LastErrorText = nil;
  CkAsn_get_LastErrorXml: TCkAsn_get_LastErrorXml = nil;
  CkAsn_get_Version: TCkAsn_get_Version = nil;
  CkAsn_get_DebugLogFilePath: TCkAsn_get_DebugLogFilePath = nil;
  CkAsn_put_DebugLogFilePath: TCkAsn_put_DebugLogFilePath = nil;
  CkAsn_get_VerboseLogging: TCkAsn_get_VerboseLogging = nil;
  CkAsn_put_VerboseLogging: TCkAsn_put_VerboseLogging = nil;
  CkAsn_get_LastMethodSuccess: TCkAsn_get_LastMethodSuccess = nil;
  CkAsn_put_LastMethodSuccess: TCkAsn_put_LastMethodSuccess = nil;
  CkAsn_get_BoolValue: TCkAsn_get_BoolValue = nil;
  CkAsn_put_BoolValue: TCkAsn_put_BoolValue = nil;
  CkAsn_get_Constructed: TCkAsn_get_Constructed = nil;
  CkAsn_get_ContentStr: TCkAsn_get_ContentStr = nil;
  CkAsn_put_ContentStr: TCkAsn_put_ContentStr = nil;
  CkAsn_get_IntValue: TCkAsn_get_IntValue = nil;
  CkAsn_put_IntValue: TCkAsn_put_IntValue = nil;
  CkAsn_get_NumSubItems: TCkAsn_get_NumSubItems = nil;
  CkAsn_get_Tag: TCkAsn_get_Tag = nil;
  CkAsn_get_TagValue: TCkAsn_get_TagValue = nil;
  CkAsn_AppendBigInt: TCkAsn_AppendBigInt = nil;
  CkAsn_AppendBits: TCkAsn_AppendBits = nil;
  CkAsn_AppendBool: TCkAsn_AppendBool = nil;
  CkAsn_AppendContextConstructed: TCkAsn_AppendContextConstructed = nil;
  CkAsn_AppendContextPrimitive: TCkAsn_AppendContextPrimitive = nil;
  CkAsn_AppendInt: TCkAsn_AppendInt = nil;
  CkAsn_AppendNull: TCkAsn_AppendNull = nil;
  CkAsn_AppendOctets: TCkAsn_AppendOctets = nil;
  CkAsn_AppendOid: TCkAsn_AppendOid = nil;
  CkAsn_AppendSequence: TCkAsn_AppendSequence = nil;
  CkAsn_AppendSequence2: TCkAsn_AppendSequence2 = nil;
  CkAsn_AppendSequenceR: TCkAsn_AppendSequenceR = nil;
  CkAsn_AppendSet: TCkAsn_AppendSet = nil;
  CkAsn_AppendSet2: TCkAsn_AppendSet2 = nil;
  CkAsn_AppendSetR: TCkAsn_AppendSetR = nil;
  CkAsn_AppendString: TCkAsn_AppendString = nil;
  CkAsn_AppendTime: TCkAsn_AppendTime = nil;
  CkAsn_AsnToXml: TCkAsn_AsnToXml = nil;
  CkAsn_DeleteSubItem: TCkAsn_DeleteSubItem = nil;
  CkAsn_GetEncodedContent: TCkAsn_GetEncodedContent = nil;
  CkAsn_GetEncodedDer: TCkAsn_GetEncodedDer = nil;
  CkAsn_GetLastSubItem: TCkAsn_GetLastSubItem = nil;
  CkAsn_GetSubItem: TCkAsn_GetSubItem = nil;
  CkAsn_LoadAsnXml: TCkAsn_LoadAsnXml = nil;
  CkAsn_LoadBinaryFile: TCkAsn_LoadBinaryFile = nil;
  CkAsn_LoadEncoded: TCkAsn_LoadEncoded = nil;
  CkAsn_SetEncodedContent: TCkAsn_SetEncodedContent = nil;
  CkAsn_WriteBinaryDer: TCkAsn_WriteBinaryDer = nil;
  CkAsn_LoadBd: TCkAsn_LoadBd = nil;
  CkAsn_WriteBd: TCkAsn_WriteBd = nil;

constructor TAsn.Create;
begin
  inherited Create;
  FHandle := CkAsn_Create();
end;

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

function TAsn.GetLastErrorHtml: string;
begin
  Result := CkToStr(CkAsn_get_LastErrorHtml(FHandle));
end;

function TAsn.GetLastErrorText: string;
begin
  Result := CkToStr(CkAsn_get_LastErrorText(FHandle));
end;

function TAsn.GetLastErrorXml: string;
begin
  Result := CkToStr(CkAsn_get_LastErrorXml(FHandle));
end;

function TAsn.GetVersion: string;
begin
  Result := CkToStr(CkAsn_get_Version(FHandle));
end;

function TAsn.GetDebugLogFilePath: string;
begin
  Result := CkToStr(CkAsn_get_DebugLogFilePath(FHandle));
end;

procedure TAsn.SetDebugLogFilePath(AValue: string);
begin
  CkAsn_put_DebugLogFilePath(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TAsn.GetVerboseLogging: Boolean;
begin
  Result := Boolean(CkAsn_get_VerboseLogging(FHandle));
end;

procedure TAsn.SetVerboseLogging(AValue: Boolean);
begin
  CkAsn_put_VerboseLogging(FHandle, LongBool(AValue));
end;

function TAsn.GetLastMethodSuccess: Boolean;
begin
  Result := Boolean(CkAsn_get_LastMethodSuccess(FHandle));
end;

procedure TAsn.SetLastMethodSuccess(AValue: Boolean);
begin
  CkAsn_put_LastMethodSuccess(FHandle, LongBool(AValue));
end;

function TAsn.GetBoolValue: Boolean;
begin
  Result := Boolean(CkAsn_get_BoolValue(FHandle));
end;

procedure TAsn.SetBoolValue(AValue: Boolean);
begin
  CkAsn_put_BoolValue(FHandle, LongBool(AValue));
end;

function TAsn.GetConstructed: Boolean;
begin
  Result := Boolean(CkAsn_get_Constructed(FHandle));
end;

function TAsn.GetContentStr: string;
begin
  Result := CkToStr(CkAsn_get_ContentStr(FHandle));
end;

procedure TAsn.SetContentStr(AValue: string);
begin
  CkAsn_put_ContentStr(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TAsn.GetIntValue: Integer;
begin
  Result := CkAsn_get_IntValue(FHandle);
end;

procedure TAsn.SetIntValue(AValue: Integer);
begin
  CkAsn_put_IntValue(FHandle, AValue);
end;

function TAsn.GetNumSubItems: Integer;
begin
  Result := CkAsn_get_NumSubItems(FHandle);
end;

function TAsn.GetTag: string;
begin
  Result := CkToStr(CkAsn_get_Tag(FHandle));
end;

function TAsn.GetTagValue: Integer;
begin
  Result := CkAsn_get_TagValue(FHandle);
end;

function TAsn.AppendBigInt(const encodedBytes: string; const encoding: string): Boolean;
begin
  Result := Boolean(CkAsn_AppendBigInt(FHandle, PAnsiChar(StrToCk(encodedBytes)), PAnsiChar(StrToCk(encoding))));
end;

function TAsn.AppendBits(const encodedBytes: string; const encoding: string): Boolean;
begin
  Result := Boolean(CkAsn_AppendBits(FHandle, PAnsiChar(StrToCk(encodedBytes)), PAnsiChar(StrToCk(encoding))));
end;

function TAsn.AppendBool(value: Boolean): Boolean;
begin
  Result := Boolean(CkAsn_AppendBool(FHandle, LongBool(value)));
end;

function TAsn.AppendContextConstructed(tag: Integer): Boolean;
begin
  Result := Boolean(CkAsn_AppendContextConstructed(FHandle, tag));
end;

function TAsn.AppendContextPrimitive(tag: Integer; const encodedBytes: string; const encoding: string): Boolean;
begin
  Result := Boolean(CkAsn_AppendContextPrimitive(FHandle, tag, PAnsiChar(StrToCk(encodedBytes)), PAnsiChar(StrToCk(encoding))));
end;

function TAsn.AppendInt(value: Integer): Boolean;
begin
  Result := Boolean(CkAsn_AppendInt(FHandle, value));
end;

function TAsn.AppendNull: Boolean;
begin
  Result := Boolean(CkAsn_AppendNull(FHandle));
end;

function TAsn.AppendOctets(const encodedBytes: string; const encoding: string): Boolean;
begin
  Result := Boolean(CkAsn_AppendOctets(FHandle, PAnsiChar(StrToCk(encodedBytes)), PAnsiChar(StrToCk(encoding))));
end;

function TAsn.AppendOid(const oid: string): Boolean;
begin
  Result := Boolean(CkAsn_AppendOid(FHandle, PAnsiChar(StrToCk(oid))));
end;

function TAsn.AppendSequence: Boolean;
begin
  Result := Boolean(CkAsn_AppendSequence(FHandle));
end;

function TAsn.AppendSequence2: Boolean;
begin
  Result := Boolean(CkAsn_AppendSequence2(FHandle));
end;

function TAsn.AppendSequenceR: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkAsn_AppendSequenceR(FHandle));
end;

function TAsn.AppendSet: Boolean;
begin
  Result := Boolean(CkAsn_AppendSet(FHandle));
end;

function TAsn.AppendSet2: Boolean;
begin
  Result := Boolean(CkAsn_AppendSet2(FHandle));
end;

function TAsn.AppendSetR: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkAsn_AppendSetR(FHandle));
end;

function TAsn.AppendString(const strType: string; const value: string): Boolean;
begin
  Result := Boolean(CkAsn_AppendString(FHandle, PAnsiChar(StrToCk(strType)), PAnsiChar(StrToCk(value))));
end;

function TAsn.AppendTime(const timeFormat: string; const dateTimeStr: string): Boolean;
begin
  Result := Boolean(CkAsn_AppendTime(FHandle, PAnsiChar(StrToCk(timeFormat)), PAnsiChar(StrToCk(dateTimeStr))));
end;

function TAsn.AsnToXml: string;
begin
  Result := CkToStr(CkAsn_AsnToXml(FHandle));
end;

function TAsn.DeleteSubItem(index: Integer): Boolean;
begin
  Result := Boolean(CkAsn_DeleteSubItem(FHandle, index));
end;

function TAsn.GetEncodedContent(const encoding: string): string;
begin
  Result := CkToStr(CkAsn_GetEncodedContent(FHandle, PAnsiChar(StrToCk(encoding))));
end;

function TAsn.GetEncodedDer(const encoding: string): string;
begin
  Result := CkToStr(CkAsn_GetEncodedDer(FHandle, PAnsiChar(StrToCk(encoding))));
end;

function TAsn.GetLastSubItem: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkAsn_GetLastSubItem(FHandle));
end;

function TAsn.GetSubItem(index: Integer): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkAsn_GetSubItem(FHandle, index));
end;

function TAsn.LoadAsnXml(const xmlStr: string): Boolean;
begin
  Result := Boolean(CkAsn_LoadAsnXml(FHandle, PAnsiChar(StrToCk(xmlStr))));
end;

function TAsn.LoadBinaryFile(const path: string): Boolean;
begin
  Result := Boolean(CkAsn_LoadBinaryFile(FHandle, PAnsiChar(StrToCk(path))));
end;

function TAsn.LoadEncoded(const asnContent: string; const encoding: string): Boolean;
begin
  Result := Boolean(CkAsn_LoadEncoded(FHandle, PAnsiChar(StrToCk(asnContent)), PAnsiChar(StrToCk(encoding))));
end;

function TAsn.SetEncodedContent(const encodedBytes: string; const encoding: string): Boolean;
begin
  Result := Boolean(CkAsn_SetEncodedContent(FHandle, PAnsiChar(StrToCk(encodedBytes)), PAnsiChar(StrToCk(encoding))));
end;

function TAsn.WriteBinaryDer(const path: string): Boolean;
begin
  Result := Boolean(CkAsn_WriteBinaryDer(FHandle, PAnsiChar(StrToCk(path))));
end;

function TAsn.LoadBd(bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkAsn_LoadBd(FHandle, bd.Handle));
end;

function TAsn.WriteBd(bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkAsn_WriteBd(FHandle, bd.Handle));
end;

initialization
  Chilkat_GetProcedureAddress(CkAsn_Create,  'CkAsn_Create');
  Chilkat_GetProcedureAddress(CkAsn_Dispose, 'CkAsn_Dispose');
  Chilkat_GetProcedureAddress(CkAsn_get_LastErrorHtml, 'CkAsn_get_LastErrorHtml');
  Chilkat_GetProcedureAddress(CkAsn_get_LastErrorText, 'CkAsn_get_LastErrorText');
  Chilkat_GetProcedureAddress(CkAsn_get_LastErrorXml, 'CkAsn_get_LastErrorXml');
  Chilkat_GetProcedureAddress(CkAsn_get_Version, 'CkAsn_get_Version');
  Chilkat_GetProcedureAddress(CkAsn_get_DebugLogFilePath, 'CkAsn_get_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkAsn_put_DebugLogFilePath, 'CkAsn_put_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkAsn_get_VerboseLogging, 'CkAsn_get_VerboseLogging');
  Chilkat_GetProcedureAddress(CkAsn_put_VerboseLogging, 'CkAsn_put_VerboseLogging');
  Chilkat_GetProcedureAddress(CkAsn_get_LastMethodSuccess, 'CkAsn_get_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkAsn_put_LastMethodSuccess, 'CkAsn_put_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkAsn_get_BoolValue, 'CkAsn_get_BoolValue');
  Chilkat_GetProcedureAddress(CkAsn_put_BoolValue, 'CkAsn_put_BoolValue');
  Chilkat_GetProcedureAddress(CkAsn_get_Constructed, 'CkAsn_get_Constructed');
  Chilkat_GetProcedureAddress(CkAsn_get_ContentStr, 'CkAsn_get_ContentStr');
  Chilkat_GetProcedureAddress(CkAsn_put_ContentStr, 'CkAsn_put_ContentStr');
  Chilkat_GetProcedureAddress(CkAsn_get_IntValue, 'CkAsn_get_IntValue');
  Chilkat_GetProcedureAddress(CkAsn_put_IntValue, 'CkAsn_put_IntValue');
  Chilkat_GetProcedureAddress(CkAsn_get_NumSubItems, 'CkAsn_get_NumSubItems');
  Chilkat_GetProcedureAddress(CkAsn_get_Tag, 'CkAsn_get_Tag');
  Chilkat_GetProcedureAddress(CkAsn_get_TagValue, 'CkAsn_get_TagValue');
  Chilkat_GetProcedureAddress(CkAsn_AppendBigInt, 'CkAsn_AppendBigInt');
  Chilkat_GetProcedureAddress(CkAsn_AppendBits, 'CkAsn_AppendBits');
  Chilkat_GetProcedureAddress(CkAsn_AppendBool, 'CkAsn_AppendBool');
  Chilkat_GetProcedureAddress(CkAsn_AppendContextConstructed, 'CkAsn_AppendContextConstructed');
  Chilkat_GetProcedureAddress(CkAsn_AppendContextPrimitive, 'CkAsn_AppendContextPrimitive');
  Chilkat_GetProcedureAddress(CkAsn_AppendInt, 'CkAsn_AppendInt');
  Chilkat_GetProcedureAddress(CkAsn_AppendNull, 'CkAsn_AppendNull');
  Chilkat_GetProcedureAddress(CkAsn_AppendOctets, 'CkAsn_AppendOctets');
  Chilkat_GetProcedureAddress(CkAsn_AppendOid, 'CkAsn_AppendOid');
  Chilkat_GetProcedureAddress(CkAsn_AppendSequence, 'CkAsn_AppendSequence');
  Chilkat_GetProcedureAddress(CkAsn_AppendSequence2, 'CkAsn_AppendSequence2');
  Chilkat_GetProcedureAddress(CkAsn_AppendSequenceR, 'CkAsn_AppendSequenceR');
  Chilkat_GetProcedureAddress(CkAsn_AppendSet, 'CkAsn_AppendSet');
  Chilkat_GetProcedureAddress(CkAsn_AppendSet2, 'CkAsn_AppendSet2');
  Chilkat_GetProcedureAddress(CkAsn_AppendSetR, 'CkAsn_AppendSetR');
  Chilkat_GetProcedureAddress(CkAsn_AppendString, 'CkAsn_AppendString');
  Chilkat_GetProcedureAddress(CkAsn_AppendTime, 'CkAsn_AppendTime');
  Chilkat_GetProcedureAddress(CkAsn_AsnToXml, 'CkAsn_AsnToXml');
  Chilkat_GetProcedureAddress(CkAsn_DeleteSubItem, 'CkAsn_DeleteSubItem');
  Chilkat_GetProcedureAddress(CkAsn_GetEncodedContent, 'CkAsn_GetEncodedContent');
  Chilkat_GetProcedureAddress(CkAsn_GetEncodedDer, 'CkAsn_GetEncodedDer');
  Chilkat_GetProcedureAddress(CkAsn_GetLastSubItem, 'CkAsn_GetLastSubItem');
  Chilkat_GetProcedureAddress(CkAsn_GetSubItem, 'CkAsn_GetSubItem');
  Chilkat_GetProcedureAddress(CkAsn_LoadAsnXml, 'CkAsn_LoadAsnXml');
  Chilkat_GetProcedureAddress(CkAsn_LoadBinaryFile, 'CkAsn_LoadBinaryFile');
  Chilkat_GetProcedureAddress(CkAsn_LoadEncoded, 'CkAsn_LoadEncoded');
  Chilkat_GetProcedureAddress(CkAsn_SetEncodedContent, 'CkAsn_SetEncodedContent');
  Chilkat_GetProcedureAddress(CkAsn_WriteBinaryDer, 'CkAsn_WriteBinaryDer');
  Chilkat_GetProcedureAddress(CkAsn_LoadBd, 'CkAsn_LoadBd');
  Chilkat_GetProcedureAddress(CkAsn_WriteBd, 'CkAsn_WriteBd');

end.
