Merge commit 'dkg/master'
[monkeysphere.git] / src / keytrans / gnutls-helpers.h
index 9ea22a3491c90e8266fcd5a9b4c3c7c3f9a9732d..bf54af0f93ec1a3f75951a715d1c1874b3dfb5e2 100644 (file)
@@ -23,7 +23,7 @@ int init_gnutls();
 
 /* logging and output functions: */
 
-void err(const char* fmt, ...);
+void err(int level, const char* fmt, ...);
 void logfunc(int level, const char* string);
 
 /* basic datum manipulations: */
@@ -44,6 +44,23 @@ typedef unsigned char printable_keyid[16];
 
 void init_keyid(gnutls_openpgp_keyid_t keyid);
 void make_keyid_printable(printable_keyid out, gnutls_openpgp_keyid_t keyid);
+void collapse_printable_keyid(gnutls_openpgp_keyid_t out, printable_keyid in);
+int convert_string_to_keyid(gnutls_openpgp_keyid_t out, const char* str);
+int convert_string_to_printable_keyid(printable_keyid out, const char* str);
+
+/* you must have twice as many bytes in the out buffer as in the in buffer */
+void hex_print_data(char* out, const unsigned char* in, size_t incount);
+
+/* expects a null-terminated string as in, containing an even number
+   of hexadecimal characters.
+
+   returns length in *bits* of raw data as output. 
+
+   the out buffer must be at least half as long as in to hold the
+   output.  if out is NULL, no output will be generated, but the
+   length will still be returned.
+*/
+unsigned int hexstring2bin(unsigned char* out, const char* in);
 
 /* functions to get data into datum objects: */