src/error.h
changeset 5 a09a0797f6f0
parent 4 a3ca0f97a075
child 6 240ae8482d64
--- a/src/error.h	Sun Feb 22 06:52:55 2009 +0200
+++ b/src/error.h	Sun Feb 22 07:08:57 2009 +0200
@@ -34,6 +34,10 @@
     /* GnuTLS errors */
     ERR_GNUTLS_CERT_ALLOC_CRED  = 0x010101,
     ERR_GNUTLS_GLOBAL_INIT      = 0x010102,
+    ERR_GNUTLS_INIT             = 0x010103,
+    ERR_GNUTLS_SET_DEFAULT_PRIORITY         = 0x010104,
+    ERR_GNUTLS_CRED_SET         = 0x010105,
+    ERR_GNUTLS_HANDSHAKE        = 0x010106,
 };
 
 /*
@@ -69,13 +73,20 @@
 #define _SET_ERROR_EXTRA(err_info_ptr, err_code, err_extra) (err_info_ptr)->code = (err_code); (err_info_ptr)->extra = (err_extra)
 #define SET_ERROR_EXTRA(err_info_ptr, err_code, err_extra) do { _SET_ERROR_EXTRA(err_info_ptr, err_code, err_extra); } while (0)
 
-/* Set error.info.code to err_code, and .extra to errno. XXX: should evaulate to err_code */
+/* Set error_info.code to err_code, and .extra to errno. XXX: should evaulate to err_code */
 #define _SET_ERROR_ERRNO(err_info_ptr, err_code) _SET_ERROR_EXTRA(err_info_ptr, err_code, errno);
 #define SET_ERROR_ERRNO(err_info_ptr, err_code) SET_ERROR_EXTRA(err_info_ptr, err_code, errno);
 
-/* Ss above, but also return err_code from func. XXX: use 'return SET_ERROR...' instead */
-#define RETURN_SET_ERROR(err_info_ptr, err_code) do { _SET_ERROR(err_info_ptr, err_code); return (err_code); } while (0)
+/* Set error_info from another error_info. Evaluates to the new error_info */
+#define SET_ERROR_INFO(err_info_ptr, from_ptr) (*err_info_ptr = *from_ptr)
+
+/* Same as above, but also return err_code from func. XXX: use 'return SET_ERROR...' instead */
+#define RETURN_SET_ERROR(err_info_ptr, err_code) do { SET_ERROR(err_info_ptr, err_code); return (err_code); } while (0)
 #define RETURN_SET_ERROR_EXTRA(err_info_ptr, err_code, err_extra) do { _SET_ERROR_EXTRA(err_info_ptr, err_code, err_extra); return (err_code); } while (0)
 #define RETURN_SET_ERROR_ERRNO(err_info_ptr, err_code) do { _SET_ERROR_ERRNO(err_info_ptr, err_code); return (err_code); } while (0)
 
+/* Same as above, but also do a 'goto error' */
+#define JUMP_SET_ERROR(err_info_ptr, err_code) do { SET_ERROR(err_info_ptr, err_code); goto error; } while (0)
+#define JUMP_SET_ERROR_INFO(err_info_ptr, from_ptr) do { SET_ERROR_INFO(err_info_ptr, from_ptr); goto error; } while (0)
+
 #endif