00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id: crypttoken.h 1113 2007-01-10 09:14:16Z martin $ 00005 begin : Wed Mar 16 2005 00006 copyright : (C) 2005 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * Please see toplevel file COPYING for license details * 00011 ***************************************************************************/ 00012 00013 00014 #ifndef GWENHYWFAR_MDIGEST_BE_H 00015 #define GWENHYWFAR_MDIGEST_BE_H 00016 00017 #include <gwenhywfar/mdigest.h> 00018 #include <gwenhywfar/inherit.h> 00019 00020 00021 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_MDIGEST, GWENHYWFAR_API) 00022 00023 00024 typedef int (*GWEN_MDIGEST_BEGIN_FN)(GWEN_MDIGEST *md); 00025 typedef int (*GWEN_MDIGEST_END_FN)(GWEN_MDIGEST *md); 00026 typedef int (*GWEN_MDIGEST_UPDATE_FN)(GWEN_MDIGEST *md, 00027 const uint8_t *buf, 00028 unsigned int l); 00029 00030 00031 GWENHYWFAR_API 00032 GWEN_MDIGEST *GWEN_MDigest_new(GWEN_CRYPT_HASHALGOID a); 00033 00034 00035 GWENHYWFAR_API 00036 GWEN_MDIGEST_BEGIN_FN GWEN_MDigest_SetBeginFn(GWEN_MDIGEST *md, GWEN_MDIGEST_BEGIN_FN f); 00037 00038 GWENHYWFAR_API 00039 GWEN_MDIGEST_END_FN GWEN_MDigest_SetEndFn(GWEN_MDIGEST *md, GWEN_MDIGEST_END_FN f); 00040 00041 GWENHYWFAR_API 00042 GWEN_MDIGEST_UPDATE_FN GWEN_MDigest_SetUpdateFn(GWEN_MDIGEST *md, GWEN_MDIGEST_UPDATE_FN f); 00043 00047 GWENHYWFAR_API 00048 void GWEN_MDigest_SetDigestBuffer(GWEN_MDIGEST *md, uint8_t *buf, unsigned int l); 00049 00050 GWENHYWFAR_API 00051 void GWEN_MDigest_SetDigestLen(GWEN_MDIGEST *md, unsigned int l); 00052 00053 00054 #endif 00055 00056