1 /*************************************************************************** 2 $RCSfile$ 3 ------------------- 4 cvs : $Id: crypttoken.h 1113 2007-01-10 09:14:16Z martin $ 5 begin : Wed Mar 16 2005 6 copyright : (C) 2005 by Martin Preuss 7 email : martin@libchipcard.de 8 9 *************************************************************************** 10 * Please see toplevel file COPYING for license details * 11 ***************************************************************************/ 12 13 14 #ifndef GWEN_CRYPT_CRYPTDEFS_H 15 #define GWEN_CRYPT_CRYPTDEFS_H 16 17 18 #include <gwenhywfar/gwenhywfarapi.h> 19 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 26 typedef enum { 27 GWEN_Crypt_PinType_Unknown=-1, 28 GWEN_Crypt_PinType_None=0, 29 GWEN_Crypt_PinType_Access, 30 GWEN_Crypt_PinType_Manage 31 } 32 GWEN_CRYPT_PINTYPE; 33 34 GWENHYWFAR_API GWEN_CRYPT_PINTYPE GWEN_Crypt_PinType_fromString(const char *s); 35 GWENHYWFAR_API const char *GWEN_Crypt_PinType_toString(GWEN_CRYPT_PINTYPE pt); 36 37 38 39 typedef enum { 40 GWEN_Crypt_PinEncoding_Unknown=-1, 41 GWEN_Crypt_PinEncoding_None=0, 42 GWEN_Crypt_PinEncoding_Bin, 43 GWEN_Crypt_PinEncoding_Bcd, 44 GWEN_Crypt_PinEncoding_Ascii, 45 GWEN_Crypt_PinEncoding_FPin2 46 } GWEN_CRYPT_PINENCODING; 47 48 GWENHYWFAR_API GWEN_CRYPT_PINENCODING GWEN_Crypt_PinEncoding_fromString(const char *s); 49 GWENHYWFAR_API const char *GWEN_Crypt_PinEncoding_toString(GWEN_CRYPT_PINENCODING pe); 50 51 52 GWENHYWFAR_API int GWEN_Crypt_TransformPin(GWEN_CRYPT_PINENCODING peSrc, 53 GWEN_CRYPT_PINENCODING peDst, 54 unsigned char *buffer, 55 unsigned int bufLength, 56 unsigned int *pinLength); 57 58 GWENHYWFAR_API int GWEN_Crypt_KeyDataFromText(const char *text, 59 unsigned char *buffer, 60 unsigned int bufLength); 61 62 GWENHYWFAR_API void GWEN_Crypt_Random(int quality, uint8_t *buffer, uint32_t len); 63 64 65 #ifdef __cplusplus 66 } 67 #endif 68 69 70 #endif 71 72