Top   Types   Functions   Classes   Index   Sources 

Functions


List

int_err_subsystem_cache()
int_err_subsystem_cache()
inteprintf(int tag, int number, char const *, ...)
voideprintf_devel(int tag, int number, char const *, ...)
voiderr_abort(int tag, int orig_tag, int number, err_location_t const *, char const * text)
voiderr_add_callback(int tags, int priority, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback2_voidp_t, void *, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback2_int_t, int, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback2_t, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback0_voidp_t, void *, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback0_int_t, int, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback0_t, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback2_info_voidp_t, void *, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback2_info_int_t, int, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback2_info_t, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback0_info_voidp_t, void *, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback0_info_int_t, int, err_style_t const *)
voiderr_add_callback(int tags, int priority, err_callback0_info_t, err_style_t const *)
voiderr_add_callback0(int tags, int priority, err_callback0_t, err_style_t const *)
voiderr_add_callback0_info(int tags, int priority, err_callback0_info_t, err_style_t const *)
voiderr_add_callback0_info_int(int tags, int priority, err_callback0_info_int_t, int, err_style_t const *)
voiderr_add_callback0_info_voidp(int tags, int priority, err_callback0_info_voidp_t, void *, err_style_t const *)
voiderr_add_callback0_int(int tags, int priority, err_callback0_int_t, int, err_style_t const *)
voiderr_add_callback0_voidp(int tags, int priority, err_callback0_voidp_t, void *, err_style_t const *)
voiderr_add_callback2(int tags, int priority, err_callback2_t, err_style_t const *)
voiderr_add_callback2_info(int tags, int priority, err_callback2_info_t, err_style_t const *)
voiderr_add_callback2_info_int(int tags, int priority, err_callback2_info_int_t, int, err_style_t const *)
voiderr_add_callback2_info_voidp(int tags, int priority, err_callback2_info_voidp_t, void *, err_style_t const *)
voiderr_add_callback2_int(int tags, int priority, err_callback2_int_t, int, err_style_t const *)
voiderr_add_callback2_voidp(int tags, int priority, err_callback2_voidp_t, void *, err_style_t const *)
voiderr_add_count(err_status_t, int number, int val)
voiderr_add_message_count(err_status_t, int number, int val)
voiderr_add_stream(int tags, FILE * stream, err_style_t const * = NULL)
err_location_t *err_at_address(err_address_t)
err_location_t *err_at_ext_address(err_ext_address_t const *)
err_location_t *err_at_position(char const *, int, int)
voiderr_begin_part(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int part, int tag)
voiderr_buffer_begin(err_buffer_t * buffer)
voiderr_buffer_end()
voiderr_buffer_flush(err_buffer_t * buffer)
voiderr_buffer_re_issue(err_buffer_t * buffer)
voiderr_clear_all_count(err_status_t)
voiderr_clear_callback(int tags, int priority)
voiderr_clear_count(err_status_t, int number)
voiderr_clear_message_count(err_status_t, int number)
char const *err_config_prefix()
interr_count(err_status_t, int tag = C_TAG_ERRORS)
voiderr_crash_aux()
char const *err_decision_to_char_p(err_decision_t)
interr_declare_subsystem(char const * name)
voiderr_do_count(int tag, int number, err_status_t)
voiderr_end_part(err_markup_t *, err_v_char_t *)
voiderr_erase_prefix()
voiderr_erase_suffix()
voiderr_exit_1(int tag, int orig_tag, int number, err_location_t const *, char const * text)
voiderr_ext_address_init(err_ext_address_t *, err_ext_address_class_t const *)
interr_fatal_count(err_status_t, int number)
interr_fatal_message_count(err_status_t, int number)
voiderr_flush_buffers()
interr_fprintf_tag()
voiderr_fprintf_tag_set(int tag)
voiderr_get_envvar_global(ErrVChar * result, char const * prefix)
voiderr_get_envvar_local(ErrVChar * result, char const * prefix)
ErrFormattedStream *err_get_stream(FILE *)
ErrFormattedStream *err_get_stream_by_name(char const *)
interr_group(char const * name)
char const *err_group_get_prefix(int tag)
char const *err_group_name(int tag)
voiderr_group_set_prefix(int tag, char const * prefix)
err_location_t *err_in_file(char const *)
err_location_t *err_in_line(char const *, int)
voiderr_init(int *, char ** *)
ERR_BOOLerr_is_buffered(int tag, int number)
ERR_ERWIN_BOOLerr_is_issued(int tag, int number)
ERR_ERWIN_BOOLerr_is_printed(FILE *, int tag, int number)
ERR_ERWIN_BOOLerr_is_seen(int tag, int number)
ERR_ERWIN_BOOLerr_is_shown(int tag, int number)
voiderr_issue(int tags, err_decision_t show)
voiderr_issue_devel(int tags, err_decision_t show)
voiderr_issue_message(int number, err_decision_t show)
err_location_t *err_location_copy(err_location_t const *)
voiderr_location_delete(err_location_t *)
voiderr_markup_none_begin_part(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int, int)
char const *err_markup_none_color(err_markup_t *, int, int, ERR_ERWIN_BOOL)
voiderr_markup_plain_begin_part(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int, int)
char const *err_markup_plain_color(err_markup_t *, int, int, ERR_BOOL)
voiderr_markup_qt3_begin_part(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int, int)
char const *err_markup_qt3_color(err_markup_t *, int, int, ERR_BOOL)
interr_message_count(err_status_t, int number)
err_ext_address_t *err_normal_address_clone(err_ext_address_t const *)
voiderr_normal_address_destruct(err_ext_address_t *)
voiderr_normal_address_format(err_v_char_t *, err_ext_address_t const *, err_preposition_t)
voiderr_normal_address_format_ext(err_v_char_t *, err_ext_address_t const *, err_preposition_t, err_format_style_t)
voiderr_normal_address_format_preposition(err_v_char_t *, err_preposition_t)
err_address_terr_normal_address_to_linear(err_ext_address_t const *)
voiderr_open_markup(err_markup_t *, err_v_char_t *, int, int)
voiderr_opt_parse(int * argc_p, char ** * argv_p, char const * prefix, ErrProcessOption callback)
voiderr_opt_parse_args(int * argc_p, char ** * argv_p, char const * prefix, ErrProcessOption callback)
voiderr_opt_parse_string(char const * envstr, ErrProcessOption callback)
err_location_t *err_originally_at_address(err_location_t *, err_address_t)
err_location_t *err_originally_at_ext_address(err_location_t *, err_ext_address_t const *)
err_location_t *err_originally_at_position(err_location_t *, char const *, int, int)
err_location_t *err_originally_in_file(err_location_t *, err_location_t *, char const *)
err_location_t *err_originally_in_line(err_location_t *, char const *, int)
interr_pid()
interr_position_pieces(err_position_t const *)
voiderr_print(FILE * file, int tags, err_decision_t print)
voiderr_print_devel(FILE * file, int tags, err_decision_t print)
voiderr_print_message(FILE * stream, int number, err_decision_t print)
voiderr_print_once(FILE *, int tags, err_decision_t print, err_symtab_t * table = NULL)
voiderr_print_once_devel(FILE *, int tags, err_decision_t print, err_symtab_t * table = NULL)
voiderr_print_once_message(FILE *, int number, err_decision_t print, err_symtab_t * table = NULL)
char const *err_progname()
voiderr_re_issue(err_message_t *)
voiderr_remove_callback(int tags, int priority, void * function)
voiderr_remove_callback(int tags, int priority, err_callback2_voidp_t function)
voiderr_remove_callback(int tags, int priority, err_callback2_voidp_t function, void * data)
voiderr_remove_callback(int tags, int priority, err_callback0_voidp_t function)
voiderr_remove_callback(int tags, int priority, err_callback0_voidp_t function, void * data)
voiderr_remove_callback(int tags, int priority, err_callback2_info_voidp_t function)
voiderr_remove_callback(int tags, int priority, err_callback2_info_voidp_t function, void * data)
voiderr_remove_callback(int tags, int priority, err_callback0_info_voidp_t function)
voiderr_remove_callback(int tags, int priority, err_callback0_info_voidp_t function, void * data)
voiderr_remove_callback(int tags, int priority, err_callback2_int_t function)
voiderr_remove_callback(int tags, int priority, err_callback2_int_t function, int data)
voiderr_remove_callback(int tags, int priority, err_callback0_int_t function)
voiderr_remove_callback(int tags, int priority, err_callback0_int_t function, int data)
voiderr_remove_callback(int tags, int priority, err_callback2_info_int_t function)
voiderr_remove_callback(int tags, int priority, err_callback2_info_int_t function, int data)
voiderr_remove_callback(int tags, int priority, err_callback0_info_int_t function)
voiderr_remove_callback(int tags, int priority, err_callback0_info_int_t function, int data)
voiderr_remove_callback(int tags, int priority, err_callback2_t function)
voiderr_remove_callback(int tags, int priority, err_callback0_t function)
voiderr_remove_callback(int tags, int priority, err_callback2_info_t function)
voiderr_remove_callback(int tags, int priority, err_callback0_info_t function)
voiderr_remove_callback_function(int tags, int priority, err_function_ptr_t function)
voiderr_remove_callback_int(int tags, int priority, err_function_ptr_t function, int user_data)
voiderr_remove_callback_void(int tags, int priority, err_function_ptr_t function)
voiderr_remove_callback_voidp(int tags, int priority, err_function_ptr_t function, void * user_data)
voiderr_remove_stream(int tags, FILE * stream)
voiderr_reset_stream(FILE *)
err_location_t const *err_resolve_address(int tag, int orig_tag, int number, err_location_t const *)
voiderr_set_at_position(err_position_t *, char const *, int, int)
voiderr_set_config_prefix(char const *)
voiderr_set_count(err_status_t, int number, int val)
voiderr_set_fatal_count(err_status_t, int tag, int cnt)
voiderr_set_fatal_message_count(err_status_t, int number, int cnt)
voiderr_set_in_file(err_position_t *, char const *)
voiderr_set_in_line(err_position_t *, char const *, int)
voiderr_set_message_count(err_status_t, int number, int val)
err_location_t *err_set_next_loc(err_location_t *, err_location_t const *, err_location_printer_t)
voiderr_set_next_location(err_location_t const *)
voiderr_set_pid(int pid)
voiderr_set_progname(char const *)
voiderr_set_quiet_level(int)
voiderr_set_quiet_level_devel(int)
voiderr_set_resolve_address(ErrAddressResolver)
voiderr_set_subsystem_callback(int subsystem, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback2_voidp_t, void *, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback2_int_t, int, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback2_t, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback0_voidp_t, void *, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback0_int_t, int, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback0_t, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback2_info_voidp_t, void *, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback2_info_int_t, int, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback2_info_t, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback0_info_voidp_t, void *, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback0_info_int_t, int, err_style_t const *)
voiderr_set_subsystem_callback(int subsystem, err_callback0_info_t, err_style_t const *)
voiderr_set_subsystem_callback0(int subsystem, err_callback0_t, err_style_t const *)
voiderr_set_subsystem_callback0_int(int subsystem, err_callback0_int_t, err_style_t const *, int)
voiderr_set_subsystem_callback0_voidp(int subsystem, err_callback0_voidp_t, err_style_t const *, void *)
voiderr_set_subsystem_callback2(int subsystem, err_callback2_t, err_style_t const *)
voiderr_set_subsystem_callback2_int(int subsystem, err_callback2_int_t, err_style_t const *, int)
voiderr_set_subsystem_callback2_voidp(int subsystem, err_callback2_voidp_t, err_style_t const *, void *)
voiderr_show(int tags, err_decision_t show)
voiderr_show_devel(int tags, err_decision_t show)
voiderr_show_message(int number, err_decision_t show)
ERR_BOOLerr_stream_set_name(FILE * stream, char const * name)
voiderr_stream_set_quiet_level(FILE *, int)
voiderr_stream_set_quiet_level_devel(FILE *, int)
voiderr_stream_set_style(FILE * stream, err_style_t const * style)
voiderr_style_colon_format(err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)
interr_style_colon_format_address_range(err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_location_t const *)
interr_style_colon_format_area(err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_area_t const *)
interr_style_colon_format_flp(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, ERR_ERWIN_BOOL hide_file, ERR_ERWIN_BOOL hide_line, char const * file, int line, int pos)
voiderr_style_colon_format_marked_up(err_markup_t * markup, err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)
interr_style_colon_format_position(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, ERR_ERWIN_BOOL hide_file, ERR_ERWIN_BOOL hide_line, err_position_t const * loc)
interr_style_colon_format_progname(err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, char const * progname, char const * hostname, int pid)
interr_style_colon_format_tag(err_markup_t * markup, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, int number)
err_v_char_t *err_style_colon_post_format(err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)
voiderr_style_default_format(err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)
err_v_char_t *err_style_default_post_format(err_formatted_stream_t *, int, int, err_v_char_t const *)
err_style_t const *err_style_from_int(int)
err_style_t const *err_style_from_string(char const *)
interr_style_from_string_to_int(char const *)
voiderr_style_none_format(err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)
err_v_char_t *err_style_none_post_format(err_formatted_stream_t *, int, int, err_v_char_t const *)
voiderr_style_plain_append_cr_perhaps(err_v_char_t *, ERR_BOOL loc_valid, int * nentries, char const * text)
voiderr_style_plain_format(err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)
interr_style_plain_format_address_range(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, err_area_t const *)
interr_style_plain_format_area(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, err_area_t const *)
voiderr_style_plain_format_marked_up(err_markup_t * markup, err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)
interr_style_plain_format_progname(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, char const * progname, char const * hostname, int pid)
interr_style_plain_format_tag(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, int number)
interr_style_plain_format_time(err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, time_t time)
err_v_char_t *err_style_plain_post_format(err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)
voiderr_style_qt3_format(err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)
err_v_char_t *err_style_qt3_post_format(err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)
voiderr_style_qt_format(err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)
err_v_char_t *err_style_qt_post_format(err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)
voiderr_style_quotes_append_shell_quoted(err_v_char_t *, char const *)
voiderr_style_quotes_format(err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)
interr_style_quotes_format_address_range(err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_location_t const *)
interr_style_quotes_format_area(err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_area_t const *)
voiderr_style_quotes_format_marked_up(err_markup_t * markup, err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)
interr_style_quotes_format_progname(err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, char const * progname, char const * hostname, int pid)
interr_style_quotes_format_tag(err_markup_t * markup, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, int number)
err_v_char_t *err_style_quotes_post_format(err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)
voiderr_style_simple_format(err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)
err_v_char_t *err_style_simple_post_format(err_formatted_stream_t *, int, int, err_v_char_t const *)
interr_subsystem(char const * name)
char const *err_subsystem_name(int tag)
err_symbol_terr_tag_abbreviation(int tag)
char const *err_tag_description(ERR_BOOL * initial_vowel, int tag, ERR_BOOL plural)
char const *err_tag_qt(int tag)
char const *err_tag_string(int tag)
voiderr_unset_all_fatal_count(err_status_t)
voiderr_unset_all_fatal_message_count(err_status_t)
voiderr_unset_fatal_count(err_status_t, int tag)
voiderr_unset_fatal_message_count(err_status_t, int number)
voiderr_unset_resolve_address()
voiderr_unset_subsystem_callback(int subsystem)
err_location_t *err_upto_address(err_location_t *, err_address_t)
err_location_t *err_upto_ext_address(err_location_t *, err_ext_address_t const *)
err_location_t *err_upto_file(err_location_t *, char const *)
err_location_t *err_upto_line(err_location_t *, char const *, int)
err_location_t *err_upto_position(err_location_t *, char const *, int, int)
intfleprintf(int tag, int number, char const * file, int line, char const *, ...)
voidfleprintf_devel(int tag, int number, char const * file, int line, char const *, ...)
intflpeprintf(int tag, int number, char const * file, int line, int pos, char const *, ...)
voidflpeprintf_devel(int tag, int number, char const * file, int line, int pos, char const *, ...)
intfoxprintf(FILE *, int, char const * format, ...)
intfxprintf(FILE *, char const * format, ...)
intleprintf(int tag, int number, err_location_t const *, char const *, ...)
voidleprintf_devel(int tag, int number, err_location_t const *, char const *, ...)
intoeprintf(int tag, int number, int options, char const *, ...)
voidoeprintf_devel(int tag, int number, int options, char const *, ...)
intofleprintf(int tag, int number, int options, char const * file, int line, char const *, ...)
voidofleprintf_devel(int tag, int number, int options, char const * file, int line, char const *, ...)
intoflpeprintf(int tag, int number, int options, char const * file, int line, int pos, char const *, ...)
voidoflpeprintf_devel(int tag, int number, int options, char const * file, int line, int pos, char const *, ...)
intoleprintf(int tag, int number, int options, err_location_t const *, char const *, ...)
voidoleprintf_devel(int tag, int number, int options, err_location_t const *, char const *, ...)
intoxprintf(int, char const * format, ...)
intqeprintf(int tag, int number, char const *, ...)
voidqeprintf_devel(int tag, int number, char const *, ...)
intqfleprintf(int tag, int number, char const * file, int line, char const *, ...)
voidqfleprintf_devel(int tag, int number, char const * file, int line, char const *, ...)
intqflpeprintf(int tag, int number, char const * file, int line, int pos, char const *, ...)
voidqflpeprintf_devel(int tag, int number, char const * file, int line, int pos, char const *, ...)
intqleprintf(int tag, int number, err_location_t const *, char const *, ...)
voidqleprintf_devel(int tag, int number, err_location_t const *, char const *, ...)
intsnoxprintf(char *, int, int, char const * format, ...)
intsnxprintf(char *, int, char const * format, ...)
intveprintf(int tag, int number, char const *, va_list)
voidveprintf_devel(int tag, int number, char const *, va_list)
intvfleprintf(int tag, int number, char const * file, int line, char const *, va_list)
voidvfleprintf_devel(int tag, int number, char const * file, int line, char const *, va_list)
intvflpeprintf(int tag, int number, char const * file, int line, int pos, char const *, va_list)
voidvflpeprintf_devel(int tag, int number, char const * file, int line, int pos, char const *, va_list)
intvfoxprintf(FILE *, int, char const * format, va_list)
intvfxprintf(FILE *, char const * format, va_list)
intvleprintf(int tag, int number, err_location_t const *, char const *, va_list)
voidvleprintf_devel(int tag, int number, err_location_t const *, char const *, va_list)
intvoeprintf(int tag, int number, int options, char const *, va_list)
voidvoeprintf_devel(int tag, int number, int options, char const *, va_list)
intvofleprintf(int tag, int number, int options, char const * file, int line, char const *, va_list)
voidvofleprintf_devel(int tag, int number, int options, char const * file, int line, char const *, va_list)
intvoflpeprintf(int tag, int number, int options, char const * file, int line, int pos, char const *, va_list)
voidvoflpeprintf_devel(int tag, int number, int options, char const * file, int line, int pos, char const *, va_list)
intvoleprintf(int tag, int number, int options, err_location_t const *, char const *, va_list)
voidvoleprintf_devel(int tag, int number, int options, err_location_t const *, char const *, va_list)
intvoxprintf(int, char const * format, va_list)
intvqeprintf(int tag, int number, char const *, va_list)
voidvqeprintf_devel(int tag, int number, char const *, va_list)
intvqfleprintf(int tag, int number, char const * file, int line, char const *, va_list)
voidvqfleprintf_devel(int tag, int number, char const * file, int line, char const *, va_list)
intvqflpeprintf(int tag, int number, char const * file, int line, int pos, char const *, va_list)
voidvqflpeprintf_devel(int tag, int number, char const * file, int line, int pos, char const *, va_list)
intvqleprintf(int tag, int number, err_location_t const *, char const *, va_list)
voidvqleprintf_devel(int tag, int number, err_location_t const *, char const *, va_list)
intvsnoxprintf(char *, int, int, char const * format, va_list)
intvsnxprintf(char *, int, char const * format, va_list)
intvxprintf(char const * format, va_list)
intxprintf(char const * format, ...)


Detailed Descriptions


extern void err_init (int *, char ** *)

Set-up

In contrast to many other libraries that use Erwin, the invocation of this function is not needed. However, the error output is improved if you invoke this (e.g., the program name is output). If you do not invoke this, then the library also sets up a default output stream to stderr. This is convenient for testing (simply link -lerror and there you go).

Furthermore, if you do not invoke err_init(), you are only allowed *printf functions, but no other functions from this library.

In total, it is highly advisable to invoke err_init() at the beginning of your program.

Typical invocation:

err_init (&argc, &argv);

If you want a progname different from the base name in argv[0] (under DOS without .exe), then invoke err_set_progname with the desired name.

Important Note

If you invoke err_init, then by default, no output stream is set, so no error messages are ever seen! So typically, you will set a default error stream directly after the above invocation. E.g.:

err_add_stream (C_TAG_ALL, stderr, NULL);

Please only give a non-NULL error style if you know what you are doing. E.g. if you do set the style here, the user cannot set it from the command line anymore. Usually, plain style is the default, but can be set differently. err_init() parses part of the command line to check user settings.

Declaration  ]


extern char const * err_progname ()

Return current setting of progname. See err_set_progname().

Declaration  ]


extern void err_set_progname (char const *)

Getting and setting the program name that is displayed

You are uncouraged to invoke err_set_progname before err_init, but then you must ensure that the string you pass is not deallocated. (If you invoke the function after err_init, you may do so even with temporary strings.)

Invoking err_set_progname before init makes the library parse another environment variable ("ERR_OPTIONS_" concatenated with the program name in upper case) specific to the application.

Declaration  ]


extern int err_pid ()

Return current setting of pid. See err_set_pid().

If no PID is known, returns -1.

Declaration  ]


extern void err_set_pid (int pid)

Getting and setting the PID that is displayed.

Under Unix, the PID that is displayed defaults to the value of getpid(). Under Windos, there is currently no PID default. This can be overridden with this function.

Note that there is a command line option 'show-pid' that decides whether the PID is displayed.

Declaration  ]


extern char const * err_config_prefix ()

Return current config prefix. See err_set_config_prefix().

Declaration  ]


extern void err_set_config_prefix (char const *)

Getting and settings the prefix by which the error library is configured, i.e., the prefix for the environment variables it reads from and the command line options. By default, this is "err". It is converted to upper case for the environment variables, thus "ERR" is the default there. Further, if this is non-empty, a "-" is inserted in the command line options and a "_" in the environment variables. Therefore, the default environment variable is "ERR_OPTIONS" and the default prefix for command line options is "--err-".

Setting this is NULL effectively resets the prefix to "msg".

Note

the default used to be "err" in older versions.

Using "msg" is recommended, since this refers to more than errors. "err" is merely a historic misnomer.

The prefix must be set before an invocation to err_init(), otherwise, it has no effect.

Declaration  ]


extern void err_unset_resolve_address ()

Unsets the current resolver set with err_set_resolve_address()

Declaration  ]


extern void err_set_resolve_address (ErrAddressResolver)

Sets a user-provided callback for resolving addresses, i.e., to look up to which source code location an address corresponds.

If you have several address spaces, you should use the number, subsystem or group mechanism to pass through information about memory space to this function.

An alternative to this look-up mechanism is to provide a resolve function for an overloaded extended address (err_ext_address_t). This way, the resolver is invoked depending on the type of extended address.

Declaration  ]


extern err_location_t const * err_resolve_address (int tag, int orig_tag, int number, err_location_t const *)

err-renumber

A function that resolves, if possible, an address to a source code location.

In case anything changes, this function returns a pointer to a statically allocated err_location_t. Otherwise, the original pointer is returned.

The user provided callback is only invoked if the file is unset and the address is valid.

Declaration  ]


extern void err_set_next_location (err_location_t const *)

If this is invoked, the error location will be used in the next eprintf command regardless of a possibly given location.

Note that only the last location set this way will have an effect.

Further note that an eprintf with the C_TAG_PREFIX tag and a given location also invokes this function if the next location is not set. Therefore, calling this function is equivalent to C_TAG_PREFIX with a location and an empty format string when the next location is unset. However, use this err_set_next_location() for clarity.

The function err_erase_prefix() deletes this location. If you set a location whose file and address are invalid, this is also equal to erasing the location.

Declaration  ]


extern void err_erase_prefix ()

Declaration  ]


extern void err_erase_suffix ()

Erases a buffered prefix (suffix) that has been printed with C_TAG_PREFIX (C_TAG_SUFFIX).

Declaration  ]


extern void err_add_stream (int tags, FILE * stream, err_style_t const * = NULL)

If the stream already exists for the given file, the style will not be changed. This is to allow the user to change the style explicitly

The streams stderr and stdout automatically get the names "stderr" and "stdout".

Use err_stream_set_style for changing a stream style (remember to use this AFTER err_stream_set_name since that function also likes to change the error style if it has settings for that name, so it would again reset the style.).

Declaration  ]


extern ERR_BOOL err_stream_set_name (FILE * stream, char const * name)

When you set this, command line options for styles are enabled for the given stream. (E.g. print filtering (NYI), style settings)

Note

When a stream with this name exists and has a file pointer of NULL or equal to the given file, then the current settings will be copied from the named stream to the stream defined by the file pointer. After that, the two streams will be identified.

If a stream with the given name exists that has a different file pointer, this routine returns false (= no success).

Note

when you erase a stream with a name, then the settings will be erased, too, together with its name.

Declaration  ]


extern void err_stream_set_style (FILE * stream, err_style_t const * style)

Resets the current stream style.

Declaration  ]


extern void err_remove_stream (int tags, FILE * stream)

Add/remove an stream for error messages.

You can have only one style per FILE*. If you add a stream for a FILE* that is already in use, the style is switched to the new style before added the additional stream. Please note the in this case, there are still two streams for this file, although only one style. So if the filtering for both streams is not mutually exclusive, some error messages are printed into that stream twice per issue.

To change a style, first err_remove_stream() and then add it again. Note that filtering rules are stored per file, so you cannot reset a stream filter by removing the stream and adding it again.

If you want to reset a stream including its filtering rules, use err_reset_stream().

You can set a group of tags by using bit operators for simple filtering: E.g.

C_TAG_WARN | C_TAG_ERROR
~C_TAG_DEBUG

For all tags, use C_TAG_ALL.

The values 0 and -1 for tags are illegal.

By default, there is one stream for the messages, stderr, used for all messages.

A stream may be NULL in which case err_style_default will be used.

The style must not be NULL!

Declaration  ]


extern void err_reset_stream (FILE *)

Resets a stream to its initial contents: it deletes all filters, styles, its.

This also performs err_remove_stream (C_TAG_ALL, file).

Declaration  ]


extern void err_add_callback2_voidp (int tags, int priority, err_callback2_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback2_int (int tags, int priority, err_callback2_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback2 (int tags, int priority, err_callback2_t, err_style_t const *)

Declaration  ]


extern void err_add_callback0_voidp (int tags, int priority, err_callback0_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback0_int (int tags, int priority, err_callback0_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback0 (int tags, int priority, err_callback0_t, err_style_t const *)

Declaration  ]


extern void err_add_callback2_info_voidp (int tags, int priority, err_callback2_info_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback2_info_int (int tags, int priority, err_callback2_info_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback2_info (int tags, int priority, err_callback2_info_t, err_style_t const *)

Declaration  ]


extern void err_add_callback0_info_voidp (int tags, int priority, err_callback0_info_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback0_info_int (int tags, int priority, err_callback0_info_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback0_info (int tags, int priority, err_callback0_info_t, err_style_t const *)

Declaration  ]


extern void err_remove_callback (int tags, int priority, void * function)

Declaration  ]


extern void err_remove_callback_function (int tags, int priority, err_function_ptr_t function)

Declaration  ]


extern void err_remove_callback_void (int tags, int priority, err_function_ptr_t function)

Declaration  ]


extern void err_remove_callback_voidp (int tags, int priority, err_function_ptr_t function, void * user_data)

Declaration  ]


extern void err_remove_callback_int (int tags, int priority, err_function_ptr_t function, int user_data)

Declaration  ]


extern void err_clear_callback (int tags, int priority)

A function to call back for every message after filtering and formatting.

Like for err_(add/remove)_stream, you can specify groups of tags.

The callbacks are invoked in the following order:

By default, there are the following call backs:

err_add_callback (C_TAG_FATAL,     -1, { exit(1); }, NULL)
err_add_callback (C_TAG_ASSERTION, -1, { abort(); }, NULL)

So the program will immediately be terminated after an error message is issued with C_TAG_FATAL or C_TAG_ASSERTION.

For err_add_callback, a priority of 0 is illegal.

For err_add_callback a callback may be NULL in which case nothing is invoked. However, the error message is formatted with the given style, so this may be used for a more complex call back mechanism anyway (by providing your own style).

For err_remove_callback and err_clear_callback, if priority is 0, the commands perform on all priorities.

err_remove_callback_void removes a callback by its function pointer that does not receive any user data.

err_remove_callback_voidp removes a callback by its function pointer and the user data.

err_remove_callback_int removes a callback by its function pointer and the user data.

err_remove_callback removes a callback by its function pointer. Note that on machines were code pointers have a different size that data pointers, this currently does not work. We will have to implement something else. This function is deprecated, please use the other alternatives that receive a ErrFunctionPtr.

err_clear_callback() erases all callbacks for a given tag/priority. (E.g. this can be used to remove the terminating exit(0) / abort() invocations. However, this is sincerely deprecated!)

If the style is NULL, the pure text of the error message is passed to the callback.

[For the behaviour of the old interface, use priority = 1.]

Declaration  ]


extern void err_exit_1 (int tag, int orig_tag, int number, err_location_t const *, char const * text)

This is a function suitable for ther err_add_callback* function family that exits the program with exit(1).

Declaration  ]


extern void err_abort (int tag, int orig_tag, int number, err_location_t const *, char const * text)

This is a function suitable for ther err_add_callback* function family that exits the program with abort().

Declaration  ]


extern int err_declare_subsystem (char const * name)

Note that this function does not need to be invoked. You may directly use err_subsystem() instead.

Generates a new, unique identifier of a new sub-system with the given name. The returned value can be combined with the C_TAG_... constants to generate errors in this sub-system. E.g.:

int lisp_subsystem= err_declare_subsystem ("Lisp");

...
eprintf (C_TAG_ERR | lisp_subsystem, 172, "Some error\n");

This is equivalent to:

eprintf (C_TAG_ERR | err_subsystem("Lisp"), 172, "Some error\n");

Sub-systems are used for two purposes:

  1. identification of an error message (the name of the sub-system will be printed with the error message)

  2. redirection of error messages.

b) was mainly introduced to keep old libraries compatible by allowing them to set a default callback that prints all their error messages into a vector. (liblisp and libtf14net work like this).

To handle the errors with the normal method, use err_unset_subsystem_callback() to switch off redirection.

You may specify NULL for name, if the subsystem has no name. You can still use the returned number for the following functions.

A predefined subsystem is 0, the core subsystem. You can also use 0 for settings callbacks without need of declaration.

Declaration  ]


extern int err_subsystem (char const * name)

Return the identifier of a given subsystem

Declaration  ]


extern void err_set_subsystem_callback2_voidp (int subsystem, err_callback2_voidp_t, err_style_t const *, void *)

Declaration  ]


extern void err_set_subsystem_callback2_int (int subsystem, err_callback2_int_t, err_style_t const *, int)

Declaration  ]


extern void err_set_subsystem_callback2 (int subsystem, err_callback2_t, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback0_voidp (int subsystem, err_callback0_voidp_t, err_style_t const *, void *)

Declaration  ]


extern void err_set_subsystem_callback0_int (int subsystem, err_callback0_int_t, err_style_t const *, int)

Declaration  ]


extern void err_set_subsystem_callback0 (int subsystem, err_callback0_t, err_style_t const *)

For C++, these functions are also accessible via err_set_subsystem_callback

Declaration  ]


extern void err_unset_subsystem_callback (int subsystem)

This implements a mechanism of filtering sub-systems completely.

A callback for a subsystem overrides all other callback and stream settings.

As usual, you can set callback to NULL in order to do the formatting, but not invoke anything.

IF the style is NULL, no formatting will be done. Instead, the raw message text string is passed to the callback.

Declaration  ]


extern char const * err_subsystem_name (int tag)

gets the group name or return NULL

Declaration  ]


#if defined(ERR_SUBSYSTEM_ID)

static int _err_subsystem_cache ()

#endif
Declaration  ]


#if defined(ERR_SUBSYSTEM_ID)

static int _err_subsystem_cache ()

#endif
Declaration & Source  ]


extern int err_group (char const * name)

Returns the identifier of a given group. You need not declare groups, but may freely use them directly. Groups are a bit like subsystems, but in contrast, the group is not shown, but instead meant to be an additional level of classification of messages. They are used mainly for filtering.

Declaration  ]


extern char const * err_group_name (int tag)

gets the group name or return NULL

Declaration  ]


extern void err_group_set_prefix (int tag, char const * prefix)

Sets a string to print as a prefix in front of all errors printed with the given err_group() in tag.

E.g., you might want to do: err_group_set_prefix (err_group("nyi"), "Not yet implemented:\n");

Then you can: eprintf (C_TAG_ERROR|err_group("nyi"), "Syntax error before ...");

To print: "Not yet implemented:\nSyntax error before ..."

The prefix is added in front of texts added with ERR_PREFIX.

You can set a default prefix for all messages without a group by setting tag=0.

You can reset a prefix by setting it to NULL.

Declaration  ]


extern char const * err_group_get_prefix (int tag)

Returns a prefix set with err_group_set_prefix.

Declaration  ]


extern void err_buffer_begin (err_buffer_t * buffer)

Start buffering all message into given buffer. This locally makes error message issuing quiet. Usage may be nested: this pushes an error buffer which is then the innermost buffer.

If buffer is NULL, messages are hidden.

When buffering is active, only the innermost buffer is filled with messages. The messages are already filtered, but not formatted (apart from the mere message).

Note that the buffer combines messages that have the C_TAG_MORE with previous messages for convenience. This is reflected in the typedef of err_message_t in include/error/decls.h .

Note

Messages with the following tags cannot be gathered in buffers:

C_TAG_ASSERTION
C_TAG_FATAL

Declaration  ]


extern void err_buffer_end ()

End the buffering set with err_buffer_begin()

Declaration  ]


extern ERR_BOOL err_is_buffered (int tag, int number)

err-renumber

whether something is buffered.

Declaration  ]


extern void err_re_issue (err_message_t *)

With this function, you can manually re-issue messages from an error buffer.

Declaration  ]


extern void err_buffer_re_issue (err_buffer_t * buffer)

Seldom used: issues the messages but keeps them. Introduced for debugging and otherwise not useful.

Don't use!

Declaration  ]


extern void err_buffer_flush (err_buffer_t * buffer)

Re-issue buffered error messages that where gathered using err_begin_buffer and err_end_buffer.

Note that this function does not filter the messages, because filtering is done before already.

After re-issuing the mesages, the buffer is cleared.

Note that an err_buffer_t is not an Erwin vector. Still, many functions are identical to Erwin vectors, so you can easily filter it before unbuffering using e.g. err_buffur_erase_if etc. You don't need to take care of freeing messages, because this is done by Erwin.

Declaration  ]


extern char const * err_decision_to_char_p (err_decision_t)

Return the a human readable symbol name of the given enum value.

Declaration  ]


extern void err_show_message (int number, err_decision_t show)

err-renumber

Selection of messages to show/hide.

show == ERR_YESshow
show == ERR_NOhide
show == ERR_WEAK_YESshow if not set otherwise yet
show == ERR_WEAK_NOhide if not set otherwise yet
show == ERR_DEFAULTuse setting for tag (deletes previous setting)

Usually an application should stick to the ERR_DEFAULT_(YES,NO) values, since this library will soon parse the command line and configure itself at the users will.

The default is to use the setting for the given group. If you set this, this overrides settings for the group.

Note

Messages with the following tags cannot be filtered, since they have no numbers:

 C_TAG_NONE
 C_TAG_UNCLASSIFIED
 C_TAG_ASSERTION

Declaration  ]


extern void err_show_devel (int tags, err_decision_t show)

Declaration  ]


extern void err_show (int tags, err_decision_t show)

Select filtering a certain group of tags or certain tags of subsystems or the like. Use the ERR_YES,NO, etc. macros as with err_show_message().

You can specify groups of tags, 0 means all tags.

You can combine tags and subsystem and group ids to form a narrow selection of what is to be filtered. E.g.,

err_show (C_TAG_WARNING | err_subsystem ("lex"), ERR_NO)

hides warnings from subsystem lex.

More specific selections override less specific ones.

The default is to hide debug messages (C_TAG_DEBUG) if NDEBUG is #defined and to show all others. If NDEBUG is not #defined, all messages are displayed by default. (Of course, this behaviour can be overriden using this function, since that is only the default. It is even a weaker default than can be defined with this function, so you can change it with ERR_DEFAULT_YES and ERR_DEFAULT_NO.)

Note than currently, the library has only one table far the settings, so the following sequence:

 err_show (C_TAG_WARNING, ERR_YES);
 err_show (C_TAG_WARNING, ERR_DEFAULT_NO);
 err_show (C_TAG_WARNING, ERR_DEFAULT);

will let the library show warnings, since the second call has no effect, since the value was already set.

No setting can be defined for C_TAG_MORE. The setting of the previous message is used.

Declaration  ]


extern ERR_ERWIN_BOOL err_is_shown (int tag, int number)

err-renumber

Returns 1 if the message would be issued and 0 if not

Declaration  ]


extern void err_print_message (FILE * stream, int number, err_decision_t print)

err-renumber

Define that the given error number shall be printed. See err_print() for more details on the difference between printing and showing and the filtering thereof.

Declaration  ]


extern void err_print_devel (FILE * file, int tags, err_decision_t print)

Declaration  ]


extern void err_print (FILE * file, int tags, err_decision_t print)

Like err_show*, but local to a file.

You can set-up filtering rules without actually currently using that FILE*. The next time you err_add_stream(), the filtering will be active.

With this function, you can set-up filtering on streams, e.g., have all messages of group 'logfile' go into a special file only.

You can use NULL as a file pointer to set a default behaviour for all possible files. This default behaviour can be reset using err_reset_stream (NULL).

Declaration  ]


extern void err_print_once_message (FILE *, int number, err_decision_t print, err_symtab_t * table = NULL)

err-renumber

Defines that the given message be printed only once. See err_print_once() for more details of the one-time issuing

Declaration  ]


extern void err_print_once_devel (FILE *, int tags, err_decision_t print, err_symtab_t * table = NULL)

Declaration  ]


extern void err_print_once (FILE *, int tags, err_decision_t print, err_symtab_t * table = NULL)

Any message returning YES using the given filtering will only be printed once into the given stream.

To accomplish this, the text of every message is stored in a hash table.

If 'table' is NULL, an internal global table is used. Otherwise, the given symbol table is used for remembering messages. If you want to, you can give a different table to the system.

Note

The library never deallocates tables that you give it.

To set a default behaviour for all possible files, use NULL as a file pointer.

The only way to remove the filtering per stream is by using err_reset_stream ().

You can reset the default values by using err_reset_stream(NULL).

Declaration  ]


extern ERR_ERWIN_BOOL err_is_printed (FILE *, int tag, int number)

err-renumber

checks the stream filtering for the given file.

Note

even if the FILE* is currently not in use, it's filtering rules are still active.

If you want to reset a stream including its filtering rules, use err_reset_stream().

Further Note

even if a FILE* was never seen by the library, it does have filtering rules. So even without ever using err_add_stream() on a new FILE*, this function will return ERR_ERWIN_TRUE if the message is issued and shown.

Declaration  ]


extern ERR_ERWIN_BOOL err_is_seen (int tag, int number)

err-renumber

The functions consider all possible filters that prevent messages from being printed in to a stream: issue filters, show filters, and buffering. err_is_seen_in() also considers stream filtering.

In short, this functions return whether the user will see a message that is produced with an eprintf call in at least one of the streams it is printed into.

Declaration  ]


extern void err_set_quiet_level_devel (int)

Declaration  ]


extern void err_set_quiet_level (int)

Set a typical show/hide behaviour suitable for many programs:

<=0every tag is shown.
1progress messages are hidden.
2notes are also hidden.
3infos are also hidden.
4warnings are also hidden.
5errors are also hidden.
>=6fatal errors and assertion failures are also hidden.

This uses ERR_DEFAULT_YES and ERR_DEFAULT_NO to do the setting, so it does not override older settings.

Declaration  ]


extern void err_stream_set_quiet_level_devel (FILE *, int)

Declaration  ]


extern void err_stream_set_quiet_level (FILE *, int)

like err_set_quiet_level() for streams. See err_print() for details

Declaration  ]


extern void err_issue_message (int number, err_decision_t show)

err-renumber

Define whether a message is issued. This is a global filter that filters by error number. See err_is_issued() and err_issue(), also.

Declaration  ]


extern void err_issue_devel (int tags, err_decision_t show)

Declaration  ]


extern void err_issue (int tags, err_decision_t show)

An issued message is one that is counted. Those messages whose issuing is prevented by a filter will not be seen by error buffers and will not be distributed into streams and user callbacks, and will also not be shown or printed. So this a very hard filtering. The only counters that are increased when a message is filtered from issuing are the 'received' counters, which count the number of eprintf invocations altogether.

See the ERR_STATUS_* enum for a list of filtering and counting levels.

Declaration  ]


extern ERR_ERWIN_BOOL err_is_issued (int tag, int number)

err-renumber

The parameters are the same as for the show family, but the effect is that the filtering is done such that the messages are not even processed if they are filtered this way. In contrast to only hiding them, this means:

Note

Messages with the following tags cannot be suppressed:

 C_TAG_ASSERTION
 C_TAG_FATAL

(But they can be hidden.)

Declaration  ]


extern int err_count (err_status_t, int tag = C_TAG_ERRORS)

Get the value of a tag counter.

A typical idiom at the end of main is:

exit (err_count(0,0) ? EXIT_FAILURE : EXIT_SUCCESS);

You can access different types of counters via this function, depending on whether you specify the tag, the group or the subsystem.

Counter TypeExample for 'tag'
per tagC_TAG_ERROR
per tag and subsystemC_TAG_ERROR + err_subsystem ("lex")
per tag and groupC_TAG_ERROR + err_group ("lex")
per subsystemerr_subsystem ("lex")
per grouperr_group ("lex")

Furthermore, you may use groups of tags to get the total count (the sum of all single counts). E.g.:

 err_count (ERR_STATUS_DISTRIBUTED,
     C_TAG_ERROR | C_TAG_WARNING | err_subsystem("lex"))

It is (currently) illegal to specify both a subsystem and a group.

You cannot specify groups of statuses (this would make no sense).

If tag is 0, it defaults of C_TAG_ERRORS. If status is 0, it defaults to ERR_STATUS_DISTRIBUTED, so the above is normally what you want.

Declaration  ]


extern int err_message_count (err_status_t, int number)

err-renumber

Get the value of a message counter.

Declaration  ]


extern void err_clear_count (err_status_t, int number)

err-renumber

Set a particular counter to 0

Declaration  ]


extern void err_clear_message_count (err_status_t, int number)

err-renumber

Set a particular counter to 0

Declaration  ]


extern void err_set_count (err_status_t, int number, int val)

err-renumber

Set a particular counter to a given value

Declaration  ]


extern void err_add_count (err_status_t, int number, int val)

err-renumber

Add to a particular counter

Declaration  ]


extern void err_set_message_count (err_status_t, int number, int val)

err-renumber

Declaration  ]


extern void err_add_message_count (err_status_t, int number, int val)

err-renumber

For general modification of the counters. You may use groups of tags and groups of statuses here.

None of these functions checks the fatal counters.

E.g.

 err_count_dec (
     ERR_STATUS_SHOWN | ERR_STATUS_PRINTED,
     ERR_COUNTER_TYPE_TAG,
     C_TAG_ERROR | C_TAG_WARNING);

Please note: If you modify the tag counters manually, it may or may not be guaranteed that e.g.

err_count (0, err_subsystem(X)) ==
err_count (0, C_TAG_ALL + err_subsystem(X))

since the library may or may not use own counters for the sums per subsystem/group.

Declaration  ]


extern void err_clear_all_count (err_status_t)

This accepts groups of statuses.

E.g.

err_count_clear_all (ERR_STATUS_ALL);

Declaration  ]


extern void err_do_count (int tag, int number, err_status_t)

err-renumber

Counts this error in the internal counters.

This is usually not very interesting to the user, since this the function the library uses internally to count. If the user wants to contribute, they can use this.

This function does not generate a fatal error if any of the fatal counters is exceeded by the counting. This checking is only done in eprintf functions.

In contrast to err_add_count, you cannot count groups of tags with this function. (The result of trying to do so will be strange.)

Declaration  ]


extern void err_set_fatal_count (err_status_t, int tag, int cnt)

This function let's you define a maximal amount of errors that leads to a fatal error. This is useful if you are expecting a large number of errors when you'd start fixing at the beginning anyway.

This function sets the counter to a given tag.

Declaration  ]


extern void err_unset_fatal_count (err_status_t, int tag)

Declaration  ]


extern void err_unset_all_fatal_count (err_status_t)

Unset a fatal error counter. See err_set_fatal_count().

Declaration  ]


extern void err_set_fatal_message_count (err_status_t, int number, int cnt)

err-renumber

Set err_set_fatal_counter().

This function sets the counter to a given message id.

Declaration  ]


extern void err_unset_fatal_message_count (err_status_t, int number)

err-renumber

Unset a fatal error counter. See err_set_fatal_message_count().

Declaration  ]


extern void err_unset_all_fatal_message_count (err_status_t)

set/unset the amount of times a certain message may occur, that is considered to be fatal. As with the normal message counters, you may set/unset this for tags, groups, sub-systems, and messages.

cnt <= 0 is illegal.

As with counters, these functions work with groups of statuses, and for ERR_COUNTER_TYPE_TAG, groups of tags.

Please note that these functions do not split the tag into tag, subsystem and group. Instead, the fatal count may be specified for any integer value. To check the fatal count, exactly this value will be used to compare to the actual count. Therefore, you can specify a fatal count for the sum of errors and warnings, which in turn does not effect any fatal count for errors and warnings alone. Or you could specify a fatal count for C_TAG_ERROR of a given subsystem or group only.

This implies that you can only unset fatal counts exactly for the tag you specified before. (So this behaves quite differently from err_clear_count().)

Declaration  ]


extern int err_fatal_count (err_status_t, int number)

err-renumber

Query a fatal counter.

Declaration  ]


extern int err_fatal_message_count (err_status_t, int number)

err-renumber

Get the amount of times a certain message may occur. You may specify groups of status, in which case, the minimum count will be returned.

-1 is returned if any of the matching error counts is unset.

Declaration  ]


extern ErrFormattedStream * err_get_stream (FILE *)

never returns NULL: if the stream does not exist, a new one is allocated

Declaration  ]


extern ErrFormattedStream * err_get_stream_by_name (char const *)

may return NULL if no such stream is known.

Declaration  ]


extern void err_flush_buffers ()

For debugging purposes: dump all buffered error messages and clear the message buffers.

Declaration  ]


extern void err_crash_aux ()

use err_crash() macro instead

Declaration  ]


extern void err_get_envvar_global (ErrVChar * result, char const * prefix)

Returns the name of the global environment variable for a given prefix. E.g. for "msg", this returns "MSG_OPTIONS"

Declaration  ]


extern void err_get_envvar_local (ErrVChar * result, char const * prefix)

Returns the name of the local environment variable for a given prefix. This requires err_prognam() to return non-NULL. E.g. for a prefix of "msg" and an err_progname() of "exec2crl", this returns "MSG_OPTIONS_EXEC2CRL".

If err_progname() returns NULL, this returns "".

Declaration  ]


extern void err_opt_parse_args (int * argc_p, char ** * argv_p, char const * prefix, ErrProcessOption callback)

Parses the command line searching for options for the given library (defined by the prefix) and calls the callback for each option found. The processed options are removed from the command line.

Any dashes around the given prefix will be removed before being used.

Declaration  ]


extern void err_opt_parse_string (char const * envstr, ErrProcessOption callback)

Parses an environment string for options and calls the callback for each option found.

Declaration  ]


extern void err_opt_parse (int * argc_p, char ** * argv_p, char const * prefix, ErrProcessOption callback)

First parses the environment variables for the given prefix, then parses the command line args. This combines err_opt_parse_args() and err_opt_parse_string() into one call.

The env.variables checked are derived from the prefix, which is taken in upper case with _OPTIONS added, e.g. MSG_OPTIONS. This is the first variable checked. The second variable, which may override the settings, would be <PREFIX>OPTIONS<PROGNAME>, e.g. MSG_OPTIONS_EXEC2CRL for a prefix of 'msg' and an err_progname() of 'exec2crl'.

See err_get_envvar_global() and err_get_envvar_local().

Declaration  ]


#if defined(ERR_REDIR_STDERR)

extern int err_fprintf_tag ()

#endif
Declaration  ]


#if defined(ERR_REDIR_STDERR)

extern void err_fprintf_tag_set (int tag)

The tag to use for messages coming in via fprintf (stderr...)

By default, this is C_TAG_NOCLASS.

#endif
Declaration  ]


extern void err_add_callback (int tags, int priority, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback2_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback2_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback2_t, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback0_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback0_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback0_t, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback2_info_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback2_info_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback2_info_t, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback0_info_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback0_info_int_t, int, err_style_t const *)

Declaration  ]


extern void err_add_callback (int tags, int priority, err_callback0_info_t, err_style_t const *)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_voidp_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_voidp_t function, void * data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_voidp_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_voidp_t function, void * data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_info_voidp_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_info_voidp_t function, void * data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_info_voidp_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_info_voidp_t function, void * data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_int_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_int_t function, int data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_int_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_int_t function, int data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_info_int_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_info_int_t function, int data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_info_int_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_info_int_t function, int data)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback2_info_t function)

Declaration  ]


extern void err_remove_callback (int tags, int priority, err_callback0_info_t function)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback2_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback2_int_t, int, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback2_t, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback0_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback0_int_t, int, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback0_t, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback2_info_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback2_info_int_t, int, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback2_info_t, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback0_info_voidp_t, void *, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback0_info_int_t, int, err_style_t const *)

Declaration  ]


extern void err_set_subsystem_callback (int subsystem, err_callback0_info_t, err_style_t const *)

Declaration  ]


extern void err_style_none_format (err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)

Declaration  ]


extern err_v_char_t * err_style_none_post_format (err_formatted_stream_t *, int, int, err_v_char_t const *)

Declaration  ]


extern void err_style_simple_format (err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)

Declaration  ]


extern err_v_char_t * err_style_simple_post_format (err_formatted_stream_t *, int, int, err_v_char_t const *)

Declaration  ]


extern void err_style_default_format (err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)

Declaration  ]


extern err_v_char_t * err_style_default_post_format (err_formatted_stream_t *, int, int, err_v_char_t const *)

Declaration  ]


extern void err_begin_part (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int part, int tag)

Declaration  ]


extern void err_open_markup (err_markup_t *, err_v_char_t *, int, int)

Declaration  ]


extern void err_end_part (err_markup_t *, err_v_char_t *)

Declaration  ]


extern char const * err_markup_none_color (err_markup_t *, int, int, ERR_ERWIN_BOOL)

Declaration  ]


extern void err_markup_none_begin_part (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int, int)

Declaration  ]


extern err_style_t const * err_style_from_int (int)

gets a style from a ERR_STYLE_DEFAULT constant

Declaration  ]


extern int err_style_from_string_to_int (char const *)

Declaration  ]


extern err_style_t const * err_style_from_string (char const *)

Declaration  ]


extern int err_position_pieces (err_position_t const *)

Returns the number of valid pieces of the error position. In detail:

returns 0 if file is == NULL otherwise returns 1 if line is <= 0 otherwise returns 2 if pos is <= 0 otherwise returns 3.

Declaration  ]


extern char const * err_tag_string (int tag)

Returns a string that describes a given color tag. E.g. "Error" for C_TAG_ERROR. It returns NULL, if no tag is to be written

Declaration  ]


extern char const * err_tag_description (ERR_BOOL * initial_vowel, int tag, ERR_BOOL plural)

Returns a description of a tag, e.g. "assertion" for C_TAG_ASSERTION. It can also return the plural form.

This never returns NULL.

Declaration  ]


extern err_symbol_t err_tag_abbreviation (int tag)

Returns a symbol of a tag, e.g. "assertion" for C_TAG_ASSERTION. In contrast to err_tag_description, these are not for humans but for computers: a simple one word tag name. No spaces, to bells or whistles.

This never returns NULL.

Declaration  ]


extern void err_ext_address_init (err_ext_address_t *, err_ext_address_class_t const *)

C interface for the super class: currently only _init:

Declaration  ]


extern void err_normal_address_destruct (err_ext_address_t *)

virtual functions and class of the standard implementation:

Declaration  ]


extern err_ext_address_t * err_normal_address_clone (err_ext_address_t const *)

Declaration  ]


extern void err_normal_address_format (err_v_char_t *, err_ext_address_t const *, err_preposition_t)

Declaration  ]


extern void err_normal_address_format_ext (err_v_char_t *, err_ext_address_t const *, err_preposition_t, err_format_style_t)

Declaration  ]


extern err_address_t err_normal_address_to_linear (err_ext_address_t const *)

Declaration  ]


extern void err_normal_address_format_preposition (err_v_char_t *, err_preposition_t)

Declaration  ]


extern err_location_t * err_in_file (char const *)

The following return a reference to a static variable, so you cannot invoke these twice in the same expression.

When using C++, use ErrPosition(...) instead, this does not have this problem.

Declaration  ]


extern err_location_t * err_in_line (char const *, int)

Declaration  ]


extern err_location_t * err_at_position (char const *, int, int)

Declaration  ]


extern err_location_t * err_at_address (err_address_t)

Declaration  ]


extern err_location_t * err_at_ext_address (err_ext_address_t const *)

These define an error position

Info

this function returns a pointer to a static variable!

Declaration  ]


extern err_location_t * err_location_copy (err_location_t const *)

Declaration  ]


extern void err_location_delete (err_location_t *)

Declaration  ]


extern err_location_t * err_upto_file (err_location_t *, char const *)

Declaration  ]


extern err_location_t * err_upto_line (err_location_t *, char const *, int)

Declaration  ]


extern err_location_t * err_upto_position (err_location_t *, char const *, int, int)

Declaration  ]


extern err_location_t * err_upto_address (err_location_t *, err_address_t)

Declaration  ]


extern err_location_t * err_upto_ext_address (err_location_t *, err_ext_address_t const *)

These adds the end of the error area

Declaration  ]


extern err_location_t * err_originally_in_file (err_location_t *, err_location_t *, char const *)

Declaration  ]


extern err_location_t * err_originally_in_line (err_location_t *, char const *, int)

Declaration  ]


extern err_location_t * err_originally_at_position (err_location_t *, char const *, int, int)

Declaration  ]


extern err_location_t * err_originally_at_address (err_location_t *, err_address_t)

Declaration  ]


extern err_location_t * err_originally_at_ext_address (err_location_t *, err_ext_address_t const *)

These adds the original position of the error which can also be modified by the upto functions.

Declaration  ]


extern err_location_t * err_set_next_loc (err_location_t *, err_location_t const *, err_location_printer_t)

Declaration  ]


extern void err_set_in_file (err_position_t *, char const *)

Declaration  ]


extern void err_set_in_line (err_position_t *, char const *, int)

Declaration  ]


extern void err_set_at_position (err_position_t *, char const *, int, int)

for modification of a position (e.g. during resolving of addresses)

Declaration  ]


extern int fxprintf (FILE *, char const * format, ...)

*xprintf family: extended printf implemented with Erwin's VectorChar::format.

By using Erwin for printing:

And they are NULL-safe: if either the file, string or the format is NULL, the functions simply return 0.

Declaration  ]


extern int vfxprintf (FILE *, char const * format, va_list)

Varargs version of fxprintf

Declaration  ]


extern int foxprintf (FILE *, int, char const * format, ...)

Like fxprintf with Erwin format options.

Declaration  ]


extern int vfoxprintf (FILE *, int, char const * format, va_list)

Varargs version of fxprintf with Erwin format options

Declaration  ]


#if defined(ERR_HAVE_STDERR)

extern int xprintf (char const * format, ...)

like fxprintf with stream == stdout

#endif
Declaration  ]


#if defined(ERR_HAVE_STDERR)

extern int vxprintf (char const * format, va_list)

like vfxprintf with stream == stdout

#endif
Declaration  ]


#if defined(ERR_HAVE_STDERR)

extern int oxprintf (int, char const * format, ...)

like foxprintf with stream == stdout

#endif
Declaration  ]


#if defined(ERR_HAVE_STDERR)

extern int voxprintf (int, char const * format, va_list)

like vfoxprintf with stream == stdout

#endif
Declaration  ]


extern int snxprintf (char *, int, char const * format, ...)

Like snprintf, but implemented with Erwin and buffer overflow safe.

Well, better use Erwin directly than this family of functions. They are here for convenience only. However, they work. :-)

Also, sprintf should never be used (-> buffer overflow), so its equivalent is not implemented here.

Declaration  ]


extern int vsnxprintf (char *, int, char const * format, va_list)

Varargs version of snxprintf

Declaration  ]


extern int snoxprintf (char *, int, int, char const * format, ...)

Like snxprintf with Erwin format options.

Declaration  ]


extern int vsnoxprintf (char *, int, int, char const * format, va_list)

Varargs version of snxprintf with Erwin format options.

Declaration  ]


extern int voleprintf (int tag, int number, int options, err_location_t const *, char const *, va_list)

err-renumber

Many variants if eprintf() and deprintf():

The name is a concatenation of (in that very order):

a) The argument passing type:

""

by ...

eprintf  (tag, num, format, ...)
"v"

by va_list e.g.

veprintf (tag, num, format, va)

b) The option argument to Erwin format:

""

options are 0:

eprintf (tag, num, format, ...)
"q"

options are ERR_FO_QUOTE_C_STRING:

qeprintf  (tag, num, format, ...)
vqeprintf (tag, num, format, va)
"o"

options are passed before the format string:

oeprintf  (tag, num, options, format, ...)
voeprintf (tag, num, options, format, va)

c) The location argument:

""

no location:

 eprintf (tag, num, format, ...)
"fl"

file and line are given:

 fleprintf   (tag, num, file, line, format, ...)
 vofleprintf (tag, num, file, line, options, format, va)
"flp"

file, line and position (=column) are given:

 flpeprintf   (tag, num, file, line, pos, format, ...)
 voflpeprintf (tag, num, file, line, pos, options, format, va)
"p"

an err_location_t const * argument is passed. This pointer may always be a local reference even if the message is buffered. The library copies the contents if needed.

 leprintf   (tag, num, loc, format, ...)
 voleprintf (tag, num, loc, options, format, va)

d) The debugging indicator:

""

not a debugging version

 eprintf (tag, num, format, ...)
"d"

debugging version

 deprintf (tag, num, format, ...)

This marks the message as a developer message by adding C_TAG_DEBUG to the tag. Further, with either -DNDEBUG or -DRELEASE, these functions will not produce any message at all (it fact, the calls will not even produce any code, so you can safely use these without fearing that shipped code contains debug code for generating the arguments).

The tag is a single bit C_TAG_xyz constant (see error/tags.h). You may add a subsystem and/or group classification to it by using err_group() and err_subsystem:

eprintf (C_TAG_ERROR | err_subsystem("lexer"), 0, "blahblah");

If num == 0, the number it is not printed. You can use the errcodes script to insert the numbers automatically and to check them into CVS.

Note

the error message will automatically be ensured to end in \n. You, therefore, cannot issue one message using several eprintf() calls. This is vital for the internal handling of error messages anyway: one call = one message. However, multi-line messages with additional lines that give additional information can be implemented with the special error tag C_TAG_MORE.

Options are Erwin vector options (e.g. ERR_FO_QUOTE_C_STRING etc.) (The Erwin library of this error library has the prefix err_/ERR_/Err.)

The functions print the progname, PID, possible color tag, and a prefix depending on the kind of message.

If tag == C_TAG_MORE and num == 0, the previous number is used. The same holds for the tag in this case, which is replaced by the previous tag for formatting. However, C_TAG_MORE may have a different number to allow separate filtering etc.

The q-functions use the ERR_FO_QUOTE_C_STRING as options for printing (this is a convenience abbreviation).

The fl types print a file and a line number in front of the message.

The flp types print a file, a line number and a line position.

The a types print an address or, if they can look up that address, the corresponding file, a line number and possibly a line position.

Note that because of the compatibility with the fprintf family, these routines return the number of characters that were printed, althought this is really quite uninteresting information most of the time. To be precise, the functions return the number of characters printed without the automatic prefix (file, line, etc.), but the amount of characters that resulted from formatting the user format string with its arguments:

fleprintf (C_TAG_ERROR, 0, "hello.c", 24, "abc");

returns 3 (the length of "abc")

The de-variants (instead of e-variants) are for development and are not compiled in when NDEBUG is defined. Messages issued using the de-family never change the message counters, because counting would change in the development version. Further, bodies of messages printed with de-variants are colored using the C_TAG_DEBUG color.

Note that the de-family does not return a value. (This is due to some compilers that do not support macro varargs.)

C_TAG_FATAL should be used with de-printf, since the call-back that exits the program will not be invoked with NDEBUG.

Note

the tag C_TAG_DEBUG is a different message classification: deprintf is thought to be for all kinds of messages that are interesting to the developer, but not to users. E.g. a message might indicate that some strange situation was encountered so that an algorithm is not used, while in the production line of the program, the algorithm is silently not used. C_TAG_DEBUG is more meant to be for larger loads of messages that issue state information about the algorithm during debugging, while deprintf is for messages that are issued when unexpected things happend while you think that an algorithm works.

Declaration  ]


extern int eprintf (int tag, int number, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int fleprintf (int tag, int number, char const * file, int line, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int flpeprintf (int tag, int number, char const * file, int line, int pos, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int leprintf (int tag, int number, err_location_t const *, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int oeprintf (int tag, int number, int options, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int ofleprintf (int tag, int number, int options, char const * file, int line, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int oflpeprintf (int tag, int number, int options, char const * file, int line, int pos, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int oleprintf (int tag, int number, int options, err_location_t const *, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int qeprintf (int tag, int number, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int qfleprintf (int tag, int number, char const * file, int line, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int qflpeprintf (int tag, int number, char const * file, int line, int pos, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int qleprintf (int tag, int number, err_location_t const *, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int veprintf (int tag, int number, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vfleprintf (int tag, int number, char const * file, int line, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vflpeprintf (int tag, int number, char const * file, int line, int pos, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vleprintf (int tag, int number, err_location_t const *, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int voeprintf (int tag, int number, int options, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vofleprintf (int tag, int number, int options, char const * file, int line, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int voflpeprintf (int tag, int number, int options, char const * file, int line, int pos, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vqeprintf (int tag, int number, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vqfleprintf (int tag, int number, char const * file, int line, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vqflpeprintf (int tag, int number, char const * file, int line, int pos, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern int vqleprintf (int tag, int number, err_location_t const *, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void eprintf_devel (int tag, int number, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void fleprintf_devel (int tag, int number, char const * file, int line, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void flpeprintf_devel (int tag, int number, char const * file, int line, int pos, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void leprintf_devel (int tag, int number, err_location_t const *, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void oeprintf_devel (int tag, int number, int options, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void ofleprintf_devel (int tag, int number, int options, char const * file, int line, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void oflpeprintf_devel (int tag, int number, int options, char const * file, int line, int pos, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void oleprintf_devel (int tag, int number, int options, err_location_t const *, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void qeprintf_devel (int tag, int number, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void qfleprintf_devel (int tag, int number, char const * file, int line, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void qflpeprintf_devel (int tag, int number, char const * file, int line, int pos, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void qleprintf_devel (int tag, int number, err_location_t const *, char const *, ...)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void veprintf_devel (int tag, int number, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vfleprintf_devel (int tag, int number, char const * file, int line, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vflpeprintf_devel (int tag, int number, char const * file, int line, int pos, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vleprintf_devel (int tag, int number, err_location_t const *, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void voeprintf_devel (int tag, int number, int options, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vofleprintf_devel (int tag, int number, int options, char const * file, int line, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void voflpeprintf_devel (int tag, int number, int options, char const * file, int line, int pos, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void voleprintf_devel (int tag, int number, int options, err_location_t const *, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vqeprintf_devel (int tag, int number, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vqfleprintf_devel (int tag, int number, char const * file, int line, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vqflpeprintf_devel (int tag, int number, char const * file, int line, int pos, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern void vqleprintf_devel (int tag, int number, err_location_t const *, char const *, va_list)

err-renumber

See voleprintf for more documentation.

Declaration  ]


extern char const * err_markup_plain_color (err_markup_t *, int, int, ERR_BOOL)

Declaration  ]


extern void err_markup_plain_begin_part (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int, int)

Declaration  ]


extern int err_style_plain_format_progname (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, char const * progname, char const * hostname, int pid)

This prints the first part of the error message in plain format, i.e.,

"progname[host.pid]: "

Declaration  ]


extern int err_style_plain_format_tag (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, int number)

This prints the tag and the number in plain format.

Declaration  ]


extern int err_style_plain_format_address_range (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, err_area_t const *)

Print an address (range).

Prints an address:

"At address ...: "

Declaration  ]


extern int err_style_plain_format_time (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, time_t time)

Print an address (range).

Prints the time: "[12:53:60]"

Declaration  ]


extern void err_style_plain_append_cr_perhaps (err_v_char_t *, ERR_BOOL loc_valid, int * nentries, char const * text)

Declaration  ]


extern err_v_char_t * err_style_plain_post_format (err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)

This is the post-format function for plain style.

Declaration  ]


extern void err_style_plain_format (err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)

This is the format function for plain style.

Declaration  ]


extern void err_style_plain_format_marked_up (err_markup_t * markup, err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)

This is the format function for plain style.

Declaration  ]


extern int err_style_plain_format_area (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, err_area_t const *)

The following are functions that are used by err_style_plain_format() any which might be useful for the user in order to compose their own styles.

This prints the first part of the error message in plain format, i.e.,

"file:line:pos: " or "file:line:pos:..line:pos: " or the like.

Currently only prints the first part, since Emacs cannot mark ranges.

Declaration  ]


extern void err_style_colon_format_marked_up (err_markup_t * markup, err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)

This is the format function for plain style.

Declaration  ]


extern void err_style_colon_format (err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)

This is the format function for colon style.

Declaration  ]


extern int err_style_colon_format_flp (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, ERR_ERWIN_BOOL hide_file, ERR_ERWIN_BOOL hide_line, char const * file, int line, int pos)

Declaration  ]


extern int err_style_colon_format_position (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, ERR_ERWIN_BOOL hide_file, ERR_ERWIN_BOOL hide_line, err_position_t const * loc)

Declaration  ]


extern int err_style_colon_format_area (err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_area_t const *)

The following are functions that are used by err_style_colon_format() any which might be useful for the user in order to compose their own styles.

This prints the first part of the error message in colon format, i.e.,

"file:line:pos: " or "file:line:pos--line:pos: " or the like.

Declaration  ]


extern int err_style_colon_format_address_range (err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_location_t const *)

The following functions are currently identical to the err_style_plain versions

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern int err_style_colon_format_progname (err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, char const * progname, char const * hostname, int pid)

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern int err_style_colon_format_tag (err_markup_t * markup, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, int number)

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern err_v_char_t * err_style_colon_post_format (err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern void err_style_quotes_append_shell_quoted (err_v_char_t *, char const *)

This puts the string into double quotes and does the quotation just like a (possibly interactive) shell would expect it. The interactive shell is special wrt. to the character !.

Note

althought the string is in double quotes, it is NOT C-string quoted!

Examples

Literal Shell (C-String) abs.txt "abs.txt" "abs.txt" (trivial) A"B "A\"B" "A\"B" (shell = C) C:\A.TEST "C:\A.TEST" "C:\\A.TEST" (shell != C) A'B "A"'!'"B" "A'B" (shell != C)

Declaration  ]


extern void err_style_quotes_format_marked_up (err_markup_t * markup, err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)

This is the format function for plain style.

Declaration  ]


extern void err_style_quotes_format (err_formatted_stream_t *, err_v_char_t * target, int tag, int orig_tag, int orig_number, err_msg_info_t, err_location_t const * location, char const * progname, char const * hostname, int pid, char const * text)

This is the format function for quotes style.

Declaration  ]


extern int err_style_quotes_format_area (err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_area_t const *)

The following are functions that are used by err_style_quotes_format() any which might be useful for the user in order to compose their own styles.

This prints the first part of the error message in quotes format, i.e.,

"FILE", line LINE(pos) or "FILE", line LINE(pos..pos) or "FILE", lines LINE(pos)..LINE(pos) or the like.

Currently only prints the first part, since Emacs cannot mark ranges.

Declaration  ]


extern int err_style_quotes_format_address_range (err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, err_location_t const *)

The following functions are currently identical to the err_style_plain versions

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern int err_style_quotes_format_progname (err_markup_t * markup, err_formatted_stream_t * stream, err_v_char_t *, int tag, int orig_tag, char const * progname, char const * hostname, int pid)

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern int err_style_quotes_format_tag (err_markup_t * markup, err_formatted_stream_t *, err_v_char_t *, int tag, int orig_tag, int number)

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern err_v_char_t * err_style_quotes_post_format (err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)

simply invokes err_style_plain_post_format (but this may change in the future)

Declaration  ]


extern char const * err_tag_qt (int tag)

one of: "", unclassified, banner, prompt "<n>" notes, infos, progress, "<w>" warning "<e>" assertion, error, fatal, "<d>" debug

Declaration  ]


extern void err_style_qt_format (err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)

Declaration  ]


extern err_v_char_t * err_style_qt_post_format (err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)

This is the post-format function for plain style.

Declaration  ]


extern char const * err_markup_qt3_color (err_markup_t *, int, int, ERR_BOOL)

Declaration  ]


extern void err_markup_qt3_begin_part (err_markup_t *, err_formatted_stream_t *, err_v_char_t *, int, int)

Declaration  ]


extern void err_style_qt3_format (err_formatted_stream_t *, err_v_char_t *, int, int, int, err_msg_info_t, err_location_t const *, char const *, char const *, int, char const *)

Declaration  ]


extern err_v_char_t * err_style_qt3_post_format (err_formatted_stream_t *, int tag, int orig_tag, err_v_char_t const *)

This is the post-format function for plain style.

Declaration  ]

Index

Stoppt die Vorratsdatenspeicherung
November 26th, 2007
Comments? Suggestions? Corrections? You can drop me a line.
zpentrabvagiktu@theiling.de
Schwerpunktpraxis