15 #define DISABLE_DEBUGLOG
18 #include "mdigestgc_p.h"
19 #include <gwenhywfar/misc.h>
20 #include <gwenhywfar/debug.h>
37 err=gcry_md_open(&xmd->handle, xmd->algo, xmd->flags);
59 gcry_md_final(xmd->handle);
61 len=gcry_md_get_algo_dlen(xmd->algo);
64 gcry_md_close(xmd->handle);
69 p=(uint8_t*)malloc(len);
71 memmove(p, gcry_md_read(xmd->handle, xmd->algo), len);
75 gcry_md_close(xmd->handle);
93 gcry_md_write(xmd->handle, buf, l);
102 GWEN_MDIGEST_GC *xmd;
104 xmd=(GWEN_MDIGEST_GC*) p;
106 gcry_md_close(xmd->handle);
116 GWEN_MDIGEST_GC *xmd;
137 GWEN_MDIGEST_GC *xmd;
144 xmd->algo=GCRY_MD_MD5;
154 GWEN_MDIGEST_GC *xmd;
161 xmd->algo=GCRY_MD_RMD160;
171 GWEN_MDIGEST_GC *xmd;
178 xmd->algo=GCRY_MD_SHA1;
188 GWEN_MDIGEST_GC *xmd;
195 xmd->algo=GCRY_MD_SHA256;
196 xmd->flags=GCRY_MD_FLAG_SECURE;
int GWEN_MDigest_Gc_Update(GWEN_MDIGEST *md, const uint8_t *buf, unsigned int l)
GWEN_MDIGEST * GWEN_MDigest_Gc_new(GWEN_CRYPT_HASHALGOID a)
GWEN_MDIGEST_END_FN GWEN_MDigest_SetEndFn(GWEN_MDIGEST *md, GWEN_MDIGEST_END_FN f)
int GWEN_MDigest_Gc_Begin(GWEN_MDIGEST *md)
void GWEN_MDigest_SetDigestLen(GWEN_MDIGEST *md, unsigned int l)
#define GWEN_FREE_OBJECT(varname)
GWEN_MDIGEST * GWEN_MDigest_new(GWEN_CRYPT_HASHALGOID a)
GWEN_MDIGEST * GWEN_MDigest_Sha1_new(void)
GWEN_MDIGEST_UPDATE_FN GWEN_MDigest_SetUpdateFn(GWEN_MDIGEST *md, GWEN_MDIGEST_UPDATE_FN f)
GWEN_MDIGEST * GWEN_MDigest_Md5_new(void)
#define GWEN_NEW_OBJECT(typ, varname)
GWEN_MDIGEST * GWEN_MDigest_Sha256_new(void)
#define GWEN_ERROR_GENERIC
struct GWEN_MDIGEST GWEN_MDIGEST
#define GWEN_ERROR_NOT_OPEN
int GWEN_MDigest_Gc_End(GWEN_MDIGEST *md)
GWEN_MDIGEST * GWEN_MDigest_Rmd160_new(void)
GWEN_MDIGEST_BEGIN_FN GWEN_MDigest_SetBeginFn(GWEN_MDIGEST *md, GWEN_MDIGEST_BEGIN_FN f)
#define DBG_INFO(dbg_logger, format, args...)
#define GWEN_INHERIT(bt, t)
void GWEN_MDigest_SetDigestBuffer(GWEN_MDIGEST *md, uint8_t *buf, unsigned int l)
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
GWENHYWFAR_CB void GWEN_Digest_Gc_freeData(GWEN_UNUSED void *bp, void *p)
#define GWEN_INHERIT_GETDATA(bt, t, element)