summaryrefslogtreecommitdiff
path: root/CryptoPP/cpp_misc.cpp
diff options
context:
space:
mode:
authorwatcherhd <watcherhd@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-11-26 14:19:43 +0000
committerwatcherhd <watcherhd@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-11-26 14:19:43 +0000
commit7aff1e4cb053394db57c2814d5fe1e6493e0cc75 (patch)
treec8585e44049b37e4da152495c954242204c2c38d /CryptoPP/cpp_misc.cpp
parent6f3d69266933ef120d229e0daf2da164b77214d0 (diff)
Project folders rename part 2
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@214 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'CryptoPP/cpp_misc.cpp')
-rw-r--r--CryptoPP/cpp_misc.cpp97
1 files changed, 97 insertions, 0 deletions
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