From 7aff1e4cb053394db57c2814d5fe1e6493e0cc75 Mon Sep 17 00:00:00 2001 From: watcherhd Date: Sat, 26 Nov 2011 14:19:43 +0000 Subject: Project folders rename part 2 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@214 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- CryptoPP/cpp_misc.cpp | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 CryptoPP/cpp_misc.cpp (limited to 'CryptoPP/cpp_misc.cpp') diff --git a/CryptoPP/cpp_misc.cpp b/CryptoPP/cpp_misc.cpp new file mode 100644 index 0000000..526cebf --- /dev/null +++ b/CryptoPP/cpp_misc.cpp @@ -0,0 +1,97 @@ +#include "commonheaders.h" + + +int __cdecl cpp_get_features(HANDLE context) { + pCNTX ptr = get_context_on_id(context); if(!ptr) return 0; + return ptr->features; +} + + +int __cdecl cpp_get_error(HANDLE context) { + pCNTX ptr = get_context_on_id(context); if(!ptr) return 0; + return ptr->error; +} + + +int __cdecl cpp_get_version(void) { + return __VERSION_DWORD; +} + + +BOOL cpp_get_simdata(HANDLE context, pCNTX *ptr, pSIMDATA *p) { + *ptr = get_context_on_id(context); +// if(!*ptr || !(*ptr)->pdata || (*ptr)->mode&(MODE_PGP|MODE_GPG|MODE_RSA)) return FALSE; + if(!*ptr || (*ptr)->mode&(MODE_PGP|MODE_GPG|MODE_RSA)) return FALSE; + *p = (pSIMDATA) cpp_alloc_pdata(*ptr); + return TRUE; +} + + +int __cdecl cpp_size_keyx(void) { + return(Tiger::DIGESTSIZE+2); +} + + +void __cdecl cpp_get_keyx(HANDLE context, BYTE *key) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return; + memcpy(key,p->KeyX,Tiger::DIGESTSIZE); + memcpy(key+Tiger::DIGESTSIZE,&ptr->features,2); +} + + +void __cdecl cpp_set_keyx(HANDLE context, BYTE *key) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return; + SAFE_FREE(p->PubA); + SAFE_FREE(p->KeyA); + SAFE_FREE(p->KeyB); + SAFE_FREE(p->KeyX); + p->KeyX = (PBYTE) malloc(Tiger::DIGESTSIZE+2); + memcpy(p->KeyX,key,Tiger::DIGESTSIZE); + memcpy(&ptr->features,key+Tiger::DIGESTSIZE,2); +} + + +void __cdecl cpp_get_keyp(HANDLE context, BYTE *key) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return; + memcpy(key,p->KeyP,Tiger::DIGESTSIZE); +} + + +int __cdecl cpp_size_keyp(void) { + return(Tiger::DIGESTSIZE); +} + + +void __cdecl cpp_set_keyp(HANDLE context, BYTE *key) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return; + SAFE_FREE(p->KeyP); + p->KeyP = (PBYTE) malloc(Tiger::DIGESTSIZE); + memcpy(p->KeyP,key,Tiger::DIGESTSIZE); +} + + +int __cdecl cpp_keya(HANDLE context) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return 0; + return p->KeyA!=NULL; +} + + +int __cdecl cpp_keyb(HANDLE context) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return 0; + return p->KeyB!=NULL; +} + + +int __cdecl cpp_keyx(HANDLE context) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return 0; + return p->KeyX!=NULL; +} + + +int __cdecl cpp_keyp(HANDLE context) { + pCNTX ptr; pSIMDATA p; if(!cpp_get_simdata(context,&ptr,&p)) return 0; + return p->KeyP!=NULL; +} + + +// EOF -- cgit v1.2.3