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_CRYPTTOKEN_P_H 15 #define GWEN_CRYPT_CRYPTTOKEN_P_H 16 17 18 #include <gwenhywfar/ct_be.h> 19 20 21 22 struct GWEN_CRYPT_TOKEN { 23 GWEN_INHERIT_ELEMENT(GWEN_CRYPT_TOKEN) 24 GWEN_LIST_ELEMENT(GWEN_CRYPT_TOKEN) 25 26 GWEN_CRYPT_TOKEN_DEVICE device; 27 char *typeName; 28 char *tokenName; 29 30 char *friendlyName; 31 32 uint32_t modes; 33 uint32_t flags; 34 35 GWEN_CRYPT_TOKEN_OPEN_FN openFn; 36 GWEN_CRYPT_TOKEN_CREATE_FN createFn; 37 GWEN_CRYPT_TOKEN_CLOSE_FN closeFn; 38 39 GWEN_CRYPT_TOKEN_GETKEYIDLIST_FN getKeyIdListFn; 40 GWEN_CRYPT_TOKEN_GETKEYINFO_FN getKeyInfoFn; 41 GWEN_CRYPT_TOKEN_SETKEYINFO_FN setKeyInfoFn; 42 43 GWEN_CRYPT_TOKEN_GETCONTEXTIDLIST_FN getContextIdListFn; 44 GWEN_CRYPT_TOKEN_GETCONTEXT_FN getContextFn; 45 GWEN_CRYPT_TOKEN_SETCONTEXT_FN setContextFn; 46 47 GWEN_CRYPT_TOKEN_SIGN_FN signFn; 48 GWEN_CRYPT_TOKEN_VERIFY_FN verifyFn; 49 GWEN_CRYPT_TOKEN_ENCIPHER_FN encipherFn; 50 GWEN_CRYPT_TOKEN_DECIPHER_FN decipherFn; 51 52 GWEN_CRYPT_TOKEN_CHANGEPIN_FN changePinFn; 53 54 GWEN_CRYPT_TOKEN_GENERATEKEY_FN generateKeyFn; 55 56 GWEN_CRYPT_TOKEN_ACTIVATEKEY_FN activateKeyFn; 57 58 int openCount; 59 60 int refCount; 61 }; 62 63 64 65 66 67 #endif 68 69 70