src/error.h
changeset 10 9fe218576d13
parent 8 be88e543c8ff
child 11 14e79683c48c
equal deleted inserted replaced
9:4c4c906cc649 10:9fe218576d13
    48 
    48 
    49     /* Low-level IO errors */
    49     /* Low-level IO errors */
    50     _ERROR_CODE( ERR_READ,                          0x000401,   ERRNO   ),
    50     _ERROR_CODE( ERR_READ,                          0x000401,   ERRNO   ),
    51     _ERROR_CODE( ERR_READ_EOF,                      0x000402,   NONE    ),
    51     _ERROR_CODE( ERR_READ_EOF,                      0x000402,   NONE    ),
    52     _ERROR_CODE( ERR_WRITE,                         0x000403,   ERRNO   ),
    52     _ERROR_CODE( ERR_WRITE,                         0x000403,   ERRNO   ),
       
    53     _ERROR_CODE( ERR_FCNTL,                         0x000404,   ERRNO   ),
    53 
    54 
    54     /* GnuTLS errors */
    55     /* GnuTLS errors */
    55     _ERROR_CODE( ERR_GNUTLS_CERT_ALLOC_CRED,        0x010101,   GNUTLS  ),
    56     _ERROR_CODE( ERR_GNUTLS_CERT_ALLOC_CRED,        0x010101,   GNUTLS  ),
    56     _ERROR_CODE( ERR_GNUTLS_GLOBAL_INIT,            0x010102,   GNUTLS  ),
    57     _ERROR_CODE( ERR_GNUTLS_GLOBAL_INIT,            0x010102,   GNUTLS  ),
    57     _ERROR_CODE( ERR_GNUTLS_INIT,                   0x010103,   GNUTLS  ),
    58     _ERROR_CODE( ERR_GNUTLS_INIT,                   0x010103,   GNUTLS  ),
    58     _ERROR_CODE( ERR_GNUTLS_SET_DEFAULT_PRIORITY,   0x010104,   GNUTLS  ),
    59     _ERROR_CODE( ERR_GNUTLS_SET_DEFAULT_PRIORITY,   0x010104,   GNUTLS  ),
    59     _ERROR_CODE( ERR_GNUTLS_CRED_SET,               0x010105,   GNUTLS  ),
    60     _ERROR_CODE( ERR_GNUTLS_CRED_SET,               0x010105,   GNUTLS  ),
    60     _ERROR_CODE( ERR_GNUTLS_HANDSHAKE,              0x010106,   GNUTLS  ),
    61     _ERROR_CODE( ERR_GNUTLS_HANDSHAKE,              0x010106,   GNUTLS  ),
       
    62     _ERROR_CODE( ERR_GNUTLS_RECORD_SEND,            0x010107,   GNUTLS  ),
       
    63     _ERROR_CODE( ERR_GNUTLS_RECORD_RECV,            0x010108,   GNUTLS  ),
       
    64 
       
    65     /* Libevent errors */
       
    66     _ERROR_CODE( ERR_EVENT_NEW,                     0x010201,   NONE    ),
    61     
    67     
    62     // mask of bits used for the error_code value
    68     // mask of bits used for the error_code value
    63     _ERROR_CODE_MASK    = 0xffffff,
    69     _ERROR_CODE_MASK    = 0xffffff,
    64 };
    70 };
    65 
    71 
   104 #define RESET_ERROR(err_info_ptr) ((err_info_ptr)->code = SUCCESS)
   110 #define RESET_ERROR(err_info_ptr) ((err_info_ptr)->code = SUCCESS)
   105 
   111 
   106 /* Compare error_info.code != 0 */
   112 /* Compare error_info.code != 0 */
   107 #define IS_ERROR(err_info_ptr) (!!(err_info_ptr)->code)
   113 #define IS_ERROR(err_info_ptr) (!!(err_info_ptr)->code)
   108 
   114 
       
   115 /* Compare the err_code/err_extra for an err_info */
       
   116 #define MATCH_ERROR(err_info_ptr, err_code, err_extra) ((err_info_ptr)->code == (err_code) && (err_info_ptr)->extra == (err_extra))
       
   117 
   109 /* Set error_info.code, but leave err_extra as-is. Evaluates to err_code */
   118 /* Set error_info.code, but leave err_extra as-is. Evaluates to err_code */
   110 #define SET_ERROR(err_info_ptr, err_code) ((err_info_ptr)->code = (err_code))
   119 #define SET_ERROR(err_info_ptr, err_code) ((err_info_ptr)->code = (err_code))
   111 
   120 
   112 /* Set error_info.code/extra. XXX: should evaluate to err_code */
   121 /* Set error_info.code/extra. XXX: should evaluate to err_code */
   113 #define _SET_ERROR_EXTRA(err_info_ptr, err_code, err_extra) (err_info_ptr)->code = (err_code); (err_info_ptr)->extra = (err_extra)
   122 #define _SET_ERROR_EXTRA(err_info_ptr, err_code, err_extra) (err_info_ptr)->code = (err_code); (err_info_ptr)->extra = (err_extra)