Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

crypttoken_context.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: crypttoken_context.h,v $
00003                              -------------------
00004     cvs         : $Id: crypttoken_context.h,v 1.5 2005/08/05 16:05:54 aquamaniac Exp $
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_CRYPTTOKEN_CONTEXT_H
00015 #define GWEN_CRYPTTOKEN_CONTEXT_H
00016 
00017 #include <gwenhywfar/keyspec.h>
00018 #include <gwenhywfar/crypt.h>
00019 #include <gwenhywfar/buffer.h>
00020 #include <gwenhywfar/db.h>
00021 #include <gwenhywfar/xml.h>
00022 #include <gwenhywfar/plugin.h>
00023 
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 
00030 typedef struct GWEN_CRYPTTOKEN_CONTEXT GWEN_CRYPTTOKEN_CONTEXT;
00031 
00032 
00033 GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_CRYPTTOKEN_CONTEXT,
00034                             GWEN_CryptToken_Context,
00035                             GWENHYWFAR_API)
00036 
00037 
00038 typedef enum {
00039   GWEN_CryptToken_ContextType_Unknown=0,
00040   GWEN_CryptToken_ContextType_HBCI
00041 } GWEN_CRYPTTOKEN_CONTEXTTYPE;
00042 
00043 
00044 GWEN_CRYPTTOKEN_CONTEXTTYPE GWEN_CryptToken_ContextType_fromString(const char *s);
00045 const char *GWEN_CryptToken_ContextType_toString(GWEN_CRYPTTOKEN_CONTEXTTYPE t);
00046 
00047 
00048 
00053 GWEN_CRYPTTOKEN_CONTEXT *GWEN_CryptToken_Context_new();
00054 void GWEN_CryptToken_Context_free(GWEN_CRYPTTOKEN_CONTEXT *ctx);
00055 GWEN_CRYPTTOKEN_CONTEXT*
00056   GWEN_CryptToken_Context_dup(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00057 GWEN_CRYPTTOKEN_CONTEXT *GWEN_CryptToken_Context_fromDb(GWEN_DB_NODE *db);
00058 int GWEN_CryptToken_Context_toDb(const GWEN_CRYPTTOKEN_CONTEXT *ctx,
00059                                  GWEN_DB_NODE *db);
00060 
00061 
00062 GWEN_TYPE_UINT32
00063   GWEN_CryptToken_Context_GetId(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00064 void GWEN_CryptToken_Context_SetId(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00065                                    GWEN_TYPE_UINT32 id);
00066 
00067 GWEN_CRYPTTOKEN_CONTEXTTYPE
00068   GWEN_CryptToken_Context_GetContextType(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00069 void GWEN_CryptToken_Context_SetContextType(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00070                                             GWEN_CRYPTTOKEN_CONTEXTTYPE t);
00071 
00072 
00073 const char*
00074   GWEN_CryptToken_Context_GetDescription(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00075 void GWEN_CryptToken_Context_SetDescription(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00076                                            const char *s);
00077 
00078 const GWEN_CRYPTTOKEN_KEYINFO*
00079   GWEN_CryptToken_Context_GetSignKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00080 void
00081   GWEN_CryptToken_Context_SetSignKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00082                                          const GWEN_CRYPTTOKEN_KEYINFO *ki);
00083 
00084 const GWEN_CRYPTTOKEN_KEYINFO*
00085   GWEN_CryptToken_Context_GetVerifyKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00086 void
00087   GWEN_CryptToken_Context_SetVerifyKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00088                                            const GWEN_CRYPTTOKEN_KEYINFO *ki);
00089 
00090 const GWEN_CRYPTTOKEN_KEYINFO*
00091   GWEN_CryptToken_Context_GetEncryptKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00092 void
00093   GWEN_CryptToken_Context_SetEncryptKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00094                                             const GWEN_CRYPTTOKEN_KEYINFO *ki);
00095 
00096 const GWEN_CRYPTTOKEN_KEYINFO*
00097   GWEN_CryptToken_Context_GetDecryptKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00098 void
00099   GWEN_CryptToken_Context_SetDecryptKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00100                                             const GWEN_CRYPTTOKEN_KEYINFO *ki);
00101 
00102 const GWEN_CRYPTTOKEN_SIGNINFO*
00103   GWEN_CryptToken_Context_GetSignInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00104 void GWEN_CryptToken_Context_SetSignInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00105                                          const GWEN_CRYPTTOKEN_SIGNINFO *si);
00106 
00107 const GWEN_CRYPTTOKEN_CRYPTINFO*
00108   GWEN_CryptToken_Context_GetCryptInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00109 void GWEN_CryptToken_Context_SetCryptInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00110                                           const GWEN_CRYPTTOKEN_CRYPTINFO *ci);
00114 #ifdef __cplusplus
00115 }
00116 #endif
00117 
00118 
00119 #endif /* GWEN_CRYPTTOKEN_CONTEXT_H */
00120 
00121 

Generated on Wed Oct 5 15:12:37 2005 for gwenhywfar by  doxygen 1.4.4