// This is a generated source file for Chilkat version 11.4.0
#ifndef _C_CkEcc_H
#define _C_CkEcc_H
#include "chilkatDefs.h"
#include "ck_inttypes.h"
#include "Chilkat_C.h"


CK_C_VISIBLE_PUBLIC HCkEcc CkEcc_Create(void);
CK_C_VISIBLE_PUBLIC HCkEcc CkEcc_Create2(int progLang);
CK_C_VISIBLE_PUBLIC void CkEcc_Dispose(HCkEcc handle);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_getAsnFormat(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC void CkEcc_putAsnFormat(HCkEcc cHandle, BOOL newVal);
CK_C_VISIBLE_PUBLIC void CkEcc_getDebugLogFilePath(HCkEcc cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC void CkEcc_putDebugLogFilePath(HCkEcc cHandle, const char *newVal);
CK_C_VISIBLE_PUBLIC const char *CkEcc_debugLogFilePath(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC void CkEcc_getLastErrorHtml(HCkEcc cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const char *CkEcc_lastErrorHtml(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC void CkEcc_getLastErrorText(HCkEcc cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const char *CkEcc_lastErrorText(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC void CkEcc_getLastErrorXml(HCkEcc cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const char *CkEcc_lastErrorXml(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_getLastMethodSuccess(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC void CkEcc_putLastMethodSuccess(HCkEcc cHandle, BOOL newVal);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_getUtf8(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC void CkEcc_putUtf8(HCkEcc cHandle, BOOL newVal);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_getVerboseLogging(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC void CkEcc_putVerboseLogging(HCkEcc cHandle, BOOL newVal);
CK_C_VISIBLE_PUBLIC void CkEcc_getVersion(HCkEcc cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const char *CkEcc_version(HCkEcc cHandle);
CK_C_VISIBLE_PUBLIC HCkPrivateKey CkEcc_GenEccKey(HCkEcc cHandle, const char *curveName, HCkPrng prng);
CK_C_VISIBLE_PUBLIC HCkPrivateKey CkEcc_GenEccKey2(HCkEcc cHandle, const char *curveName, const char *encodedK, const char *encoding);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_GenKey(HCkEcc cHandle, const char *curveName, HCkPrng prng, HCkPrivateKey privKey);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_GenKey2(HCkEcc cHandle, const char *curveName, const char *encodedK, const char *encoding, HCkPrivateKey privKey);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_SharedSecretENC(HCkEcc cHandle, HCkPrivateKey privKey, HCkPublicKey pubKey, const char *encoding, HCkString outStr);
CK_C_VISIBLE_PUBLIC const char *CkEcc_sharedSecretENC(HCkEcc cHandle, HCkPrivateKey privKey, HCkPublicKey pubKey, const char *encoding);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_SignBd(HCkEcc cHandle, HCkBinData bdData, const char *hashAlg, const char *encoding, HCkPrivateKey privKey, HCkPrng prng, HCkString outStr);
CK_C_VISIBLE_PUBLIC const char *CkEcc_signBd(HCkEcc cHandle, HCkBinData bdData, const char *hashAlg, const char *encoding, HCkPrivateKey privKey, HCkPrng prng);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_SignBdUsingCert(HCkEcc cHandle, HCkBinData bdData, const char *hashAlg, const char *encoding, HCkCert cert, HCkString outStr);
CK_C_VISIBLE_PUBLIC const char *CkEcc_signBdUsingCert(HCkEcc cHandle, HCkBinData bdData, const char *hashAlg, const char *encoding, HCkCert cert);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_SignHashENC(HCkEcc cHandle, const char *encodedHash, const char *encoding, HCkPrivateKey privkey, HCkPrng prng, HCkString outStr);
CK_C_VISIBLE_PUBLIC const char *CkEcc_signHashENC(HCkEcc cHandle, const char *encodedHash, const char *encoding, HCkPrivateKey privkey, HCkPrng prng);
CK_C_VISIBLE_PUBLIC BOOL CkEcc_SignHashUsingCert(HCkEcc cHandle, const char *encodedHash, const char *encoding, HCkCert cert, HCkString outStr);
CK_C_VISIBLE_PUBLIC const char *CkEcc_signHashUsingCert(HCkEcc cHandle, const char *encodedHash, const char *encoding, HCkCert cert);
CK_C_VISIBLE_PUBLIC int CkEcc_VerifyBd(HCkEcc cHandle, HCkBinData bdData, const char *hashAlg, const char *encodedSig, const char *encoding, HCkPublicKey pubkey);
CK_C_VISIBLE_PUBLIC int CkEcc_VerifyHashENC(HCkEcc cHandle, const char *encodedHash, const char *encodedSig, const char *encoding, HCkPublicKey pubkey);
#endif
