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_PADDALGO_H 00015 #define GWEN_CRYPT_PADDALGO_H 00016 00017 00018 #include <gwenhywfar/list2.h> 00019 00020 00021 typedef struct GWEN_CRYPT_PADDALGO GWEN_CRYPT_PADDALGO; 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 GWEN_LIST2_FUNCTION_LIB_DEFS(GWEN_CRYPT_PADDALGO, 00028 GWEN_Crypt_PaddAlgo, 00029 GWENHYWFAR_API) 00030 00031 #ifdef __cplusplus 00032 } 00033 #endif 00034 00035 00036 typedef enum { 00037 GWEN_Crypt_PaddAlgoId_Unknown=-1, 00038 GWEN_Crypt_PaddAlgoId_None=0, 00039 GWEN_Crypt_PaddAlgoId_Any, 00041 GWEN_Crypt_PaddAlgoId_Iso9796_1, 00043 GWEN_Crypt_PaddAlgoId_Iso9796_1A4, 00045 GWEN_Crypt_PaddAlgoId_Iso9796_2, 00047 GWEN_Crypt_PaddAlgoId_Pkcs1_1, 00049 GWEN_Crypt_PaddAlgoId_Pkcs1_2, 00051 GWEN_Crypt_PaddAlgoId_LeftZero, 00053 GWEN_Crypt_PaddAlgoId_RightZero, 00055 GWEN_Crypt_PaddAlgoId_AnsiX9_23, 00057 GWEN_Crypt_PaddAlgoId_Pkcs1_Pss_Sha256 00058 } GWEN_CRYPT_PADDALGOID; 00059 00060 00061 00062 #include <gwenhywfar/db.h> 00063 00064 00065 #ifdef __cplusplus 00066 extern "C" { 00067 #endif 00068 00069 GWENHYWFAR_API GWEN_CRYPT_PADDALGOID GWEN_Crypt_PaddAlgoId_fromString(const char *s); 00070 GWENHYWFAR_API const char *GWEN_Crypt_PaddAlgoId_toString(GWEN_CRYPT_PADDALGOID a); 00071 00072 00073 GWENHYWFAR_API GWEN_CRYPT_PADDALGO *GWEN_Crypt_PaddAlgo_new(GWEN_CRYPT_PADDALGOID id); 00074 GWENHYWFAR_API GWEN_CRYPT_PADDALGO *GWEN_Crypt_PaddAlgo_dup(const GWEN_CRYPT_PADDALGO *a); 00075 GWENHYWFAR_API GWEN_CRYPT_PADDALGO *GWEN_Crypt_PaddAlgo_fromDb(GWEN_DB_NODE *db); 00076 GWENHYWFAR_API int GWEN_Crypt_PaddAlgo_toDb(const GWEN_CRYPT_PADDALGO *a, GWEN_DB_NODE *db); 00077 GWENHYWFAR_API void GWEN_Crypt_PaddAlgo_Attach(GWEN_CRYPT_PADDALGO *a); 00078 GWENHYWFAR_API void GWEN_Crypt_PaddAlgo_free(GWEN_CRYPT_PADDALGO *a); 00079 00080 GWENHYWFAR_API GWEN_CRYPT_PADDALGOID GWEN_Crypt_PaddAlgo_GetId(const GWEN_CRYPT_PADDALGO *a); 00081 00082 GWENHYWFAR_API int GWEN_Crypt_PaddAlgo_GetPaddSize(const GWEN_CRYPT_PADDALGO *a); 00083 GWENHYWFAR_API void GWEN_Crypt_PaddAlgo_SetPaddSize(GWEN_CRYPT_PADDALGO *a, int s); 00084 00085 00086 #ifdef __cplusplus 00087 } 00088 #endif 00089 00090 00091 #endif 00092