15#define DISABLE_DEBUGLOG
18#include "mdigestgc_p.h"
19#include <gwenhywfar/misc.h>
20#include <gwenhywfar/debug.h>
38 err=gcry_md_open(&xmd->handle, xmd->algo, xmd->flags);
61 gcry_md_final(xmd->handle);
63 len=gcry_md_get_algo_dlen(xmd->algo);
66 gcry_md_close(xmd->handle);
71 p=(uint8_t *)malloc(len);
73 memmove(p, gcry_md_read(xmd->handle, xmd->algo), len);
77 gcry_md_close(xmd->handle);
96 gcry_md_write(xmd->handle, buf, l);
106 GWEN_MDIGEST_GC *xmd;
108 xmd=(GWEN_MDIGEST_GC *) p;
110 gcry_md_close(xmd->handle);
121 GWEN_MDIGEST_GC *xmd;
143 GWEN_MDIGEST_GC *xmd;
150 xmd->algo=GCRY_MD_MD5;
161 GWEN_MDIGEST_GC *xmd;
168 xmd->algo=GCRY_MD_RMD160;
179 GWEN_MDIGEST_GC *xmd;
186 xmd->algo=GCRY_MD_SHA1;
197 GWEN_MDIGEST_GC *xmd;
204 xmd->algo=GCRY_MD_SHA256;
205 xmd->flags=GCRY_MD_FLAG_SECURE;
#define DBG_INFO(dbg_logger, format,...)
#define GWEN_ERROR_NOT_OPEN
#define GWEN_ERROR_GENERIC
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
#define GWEN_INHERIT(bt, t)
#define GWEN_INHERIT_GETDATA(bt, t, element)
void GWEN_MDigest_SetDigestBuffer(GWEN_MDIGEST *md, uint8_t *buf, unsigned int l)
void GWEN_MDigest_SetDigestLen(GWEN_MDIGEST *md, unsigned int l)
GWEN_MDIGEST_BEGIN_FN GWEN_MDigest_SetBeginFn(GWEN_MDIGEST *md, GWEN_MDIGEST_BEGIN_FN f)
GWEN_MDIGEST * GWEN_MDigest_new(GWEN_CRYPT_HASHALGOID a)
GWEN_MDIGEST_UPDATE_FN GWEN_MDigest_SetUpdateFn(GWEN_MDIGEST *md, GWEN_MDIGEST_UPDATE_FN f)
GWEN_MDIGEST_END_FN GWEN_MDigest_SetEndFn(GWEN_MDIGEST *md, GWEN_MDIGEST_END_FN f)
struct GWEN_MDIGEST GWEN_MDIGEST
int GWEN_MDigest_Gc_Begin(GWEN_MDIGEST *md)
GWENHYWFAR_CB void GWEN_Digest_Gc_freeData(GWEN_UNUSED void *bp, void *p)
int GWEN_MDigest_Gc_Update(GWEN_MDIGEST *md, const uint8_t *buf, unsigned int l)
int GWEN_MDigest_Gc_End(GWEN_MDIGEST *md)
GWEN_MDIGEST * GWEN_MDigest_Sha256_new(void)
GWEN_MDIGEST * GWEN_MDigest_Sha1_new(void)
GWEN_MDIGEST * GWEN_MDigest_Md5_new(void)
GWEN_MDIGEST * GWEN_MDigest_Gc_new(GWEN_CRYPT_HASHALGOID a)
GWEN_MDIGEST * GWEN_MDigest_Rmd160_new(void)
#define GWEN_FREE_OBJECT(varname)
#define GWEN_NEW_OBJECT(typ, varname)