#ifndef _BLUELIB_ERROR_H_ #define _BLUELIB_ERROR_H_ #include struct b_error_stack_frame { b_queue_entry f_entry; const char *f_file; unsigned int f_line_number; const char *f_function; }; struct b_error_submsg { b_queue_entry msg_entry; b_error_submsg_type msg_type; char *msg_content; const struct b_error_msg *msg_msg; struct b_error_template_parameter msg_params[B_ERROR_TEMPLATE_PARAMETER_MAX]; }; struct b_error { const struct b_error_vendor *err_vendor; b_error_status_code err_code; const struct b_error_definition *err_def; const struct b_error_msg *err_msg; char *err_description; struct b_error_template_parameter err_params[B_ERROR_TEMPLATE_PARAMETER_MAX]; struct b_queue err_submsg; struct b_queue err_stack; b_queue_entry err_entry; struct b_error *err_caused_by; }; #endif