cryptdefs.h

Go to the documentation of this file.
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