gwenhywfar 4.0.3
|
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 GWEN_CRYPT_CRYPTDEFS_H 00015 #define GWEN_CRYPT_CRYPTDEFS_H 00016 00017 00018 #include <gwenhywfar/gwenhywfarapi.h> 00019 00020 00021 #ifdef __cplusplus 00022 extern "C" { 00023 #endif 00024 00025 00026 typedef enum { 00027 GWEN_Crypt_PinType_Unknown=-1, 00028 GWEN_Crypt_PinType_None=0, 00029 GWEN_Crypt_PinType_Access, 00030 GWEN_Crypt_PinType_Manage 00031 } GWEN_CRYPT_PINTYPE; 00032 00033 GWENHYWFAR_API GWEN_CRYPT_PINTYPE GWEN_Crypt_PinType_fromString(const char *s); 00034 GWENHYWFAR_API const char *GWEN_Crypt_PinType_toString(GWEN_CRYPT_PINTYPE pt); 00035 00036 00037 00038 typedef enum { 00039 GWEN_Crypt_PinEncoding_Unknown=-1, 00040 GWEN_Crypt_PinEncoding_None=0, 00041 GWEN_Crypt_PinEncoding_Bin, 00042 GWEN_Crypt_PinEncoding_Bcd, 00043 GWEN_Crypt_PinEncoding_Ascii, 00044 GWEN_Crypt_PinEncoding_FPin2 00045 } GWEN_CRYPT_PINENCODING; 00046 00047 GWENHYWFAR_API GWEN_CRYPT_PINENCODING GWEN_Crypt_PinEncoding_fromString(const char *s); 00048 GWENHYWFAR_API const char *GWEN_Crypt_PinEncoding_toString(GWEN_CRYPT_PINENCODING pe); 00049 00050 00051 GWENHYWFAR_API int GWEN_Crypt_TransformPin(GWEN_CRYPT_PINENCODING peSrc, 00052 GWEN_CRYPT_PINENCODING peDst, 00053 unsigned char *buffer, 00054 unsigned int bufLength, 00055 unsigned int *pinLength); 00056 00057 GWENHYWFAR_API int GWEN_Crypt_KeyDataFromText(const char *text, 00058 unsigned char *buffer, 00059 unsigned int bufLength); 00060 00061 GWENHYWFAR_API void GWEN_Crypt_Random(int quality, uint8_t *buffer, uint32_t len); 00062 00063 00064 #ifdef __cplusplus 00065 } 00066 #endif 00067 00068 00069 #endif 00070