Rizin
unix-like reverse engineering framework and cli tools
|
Printing messages to stderr. More...
Go to the source code of this file.
Macros | |
#define | FILTERS_STR_SIZE 512 |
Buffer size for message_filters_to_str() More... | |
Enumerations | |
enum | message_verbosity { V_SILENT , V_ERROR , V_WARNING , V_VERBOSE , V_DEBUG } |
Verbosity levels. More... | |
Functions | |
void | message_init (void) |
Initializes the message functions. More... | |
void | message_verbosity_increase (void) |
Increase verbosity level by one step unless it was at maximum. More... | |
void | message_verbosity_decrease (void) |
Decrease verbosity level by one step unless it was at minimum. More... | |
enum message_verbosity | message_verbosity_get (void) |
Get the current verbosity level. More... | |
void | message (enum message_verbosity verbosity, const char *fmt,...) lzma_attribute((__format__(__printf__ |
Print a message if verbosity level is at least "verbosity". More... | |
void void | message_warning (const char *fmt,...) lzma_attribute((__format__(__printf__ |
Prints a warning and possibly sets exit status. More... | |
void void void | message_error (const char *fmt,...) lzma_attribute((__format__(__printf__ |
Prints an error message and sets exit status. More... | |
void void void void | message_fatal (const char *fmt,...) lzma_attribute((__format__(__printf__ |
Prints an error message and exits with EXIT_ERROR. More... | |
void void void void | lzma_attribute ((__noreturn__)) |
void | message_bug (void) lzma_attribute((__noreturn__)) |
void | message_signal_handler (void) lzma_attribute((__noreturn__)) |
const char * | message_strm (lzma_ret code) |
Convert lzma_ret to a string. More... | |
void | message_mem_needed (enum message_verbosity v, uint64_t memusage) |
Display how much memory was needed and how much the limit was. More... | |
void | message_filters_to_str (char buf[FILTERS_STR_SIZE], const lzma_filter *filters, bool all_known) |
Get the filter chain as a string. More... | |
void | message_filters_show (enum message_verbosity v, const lzma_filter *filters) |
Print the filter chain. More... | |
void | message_try_help (void) |
Print a message that user should try –help. More... | |
void | message_version (void) lzma_attribute((__noreturn__)) |
Prints the version number to stdout and exits with exit status SUCCESS. More... | |
void | message_help (bool long_help) lzma_attribute((__noreturn__)) |
Print the help message. More... | |
void | message_set_files (unsigned int files) |
Set the total number of files to be processed. More... | |
void | message_filename (const char *src_name) |
Set the name of the current file and possibly print it too. More... | |
void | message_progress_start (lzma_stream *strm, bool is_passthru, uint64_t in_size) |
Start progress info handling. More... | |
void | message_progress_update (void) |
void | message_progress_end (bool finished) |
Finishes the progress message if we were in verbose mode. More... | |
Variables | |
const int | message_progress_sigs [] |
Signals used for progress message handling. More... | |
Printing messages to stderr.
Definition in file message.h.
#define FILTERS_STR_SIZE 512 |
Buffer size for message_filters_to_str()
enum message_verbosity |
static void lzma_attribute | ( | (__noreturn__) | ) |
Definition at line 84 of file xzdec.c.
References display_errors, LZMA_VERSION_STRING, PACKAGE_NAME, printf(), TOOL_FORMAT, and tuklib_exit.
void message | ( | enum message_verbosity | verbosity, |
const char * | fmt, | ||
... | |||
) |
Print a message if verbosity level is at least "verbosity".
This doesn't touch the exit status.
void message_bug | ( | void | ) |
Print an error message that an internal error occurred and exit with EXIT_ERROR.
Definition at line 789 of file message.c.
References _, and message_fatal().
Referenced by coder_init(), io_read(), options_lzma(), parse_block_header(), and parse_indexes().
void void void message_error | ( | const char * | fmt, |
... | |||
) |
Prints an error message and sets exit status.
The message is printed only if verbosity level is at least V_ERROR. The exit status is set to ERROR.
void void void void message_fatal | ( | const char * | fmt, |
... | |||
) |
Prints an error message and exits with EXIT_ERROR.
The message is printed only if verbosity level is at least V_ERROR.
void message_filename | ( | const char * | src_name | ) |
Set the name of the current file and possibly print it too.
The name is printed immediately if –list was used or if –verbose was used and stderr is a terminal. Even when the filename isn't printed, it is stored so that it can be printed later if needed for progress messages.
Definition at line 232 of file message.c.
References current_filename_printed, files_pos, MODE_LIST, opt_mode, print_filename(), progress_automatic, V_VERBOSE, and verbosity.
Referenced by coder_run(), and list_file().
void message_filters_show | ( | enum message_verbosity | v, |
const lzma_filter * | filters | ||
) |
Print the filter chain.
Definition at line 1050 of file message.c.
References _, filters, FILTERS_STR_SIZE, message_filters_to_str(), progname, v, and verbosity.
Referenced by coder_init().
void message_filters_to_str | ( | char | buf[FILTERS_STR_SIZE], |
const lzma_filter * | filters, | ||
bool | all_known | ||
) |
Get the filter chain as a string.
buf | Pointer to caller allocated buffer to hold the filter chain string |
filters | Pointer to the filter chain |
all_known | If true, all filter options are printed. If false, only the options that get stored into .xz headers are printed. |
Definition at line 917 of file message.c.
References assert(), lzma_options_lzma::depth, lzma_options_lzma::dict_size, lzma_options_delta::dist, filters, FILTERS_STR_SIZE, i, lzma_filter::id, lzma_options_lzma::lc, lzma_options_lzma::lp, LZMA_FILTER_ARM, LZMA_FILTER_ARMTHUMB, LZMA_FILTER_DELTA, LZMA_FILTER_IA64, LZMA_FILTER_LZMA1, LZMA_FILTER_LZMA2, LZMA_FILTER_POWERPC, LZMA_FILTER_SPARC, LZMA_FILTER_X86, LZMA_MF_BT2, LZMA_MF_BT3, LZMA_MF_BT4, LZMA_MF_HC3, LZMA_MF_HC4, LZMA_MODE_FAST, LZMA_MODE_NORMAL, LZMA_VLI_UNKNOWN, lzma_options_lzma::mf, lzma_options_lzma::mode, my_snprintf(), lzma_options_lzma::nice_len, NULL, lzma_filter::options, lzma_options_lzma::pb, pos, PRIu32, lzma_options_bcj::start_offset, and uint32_to_optstr().
Referenced by message_filters_show(), and parse_block_header().
void message_help | ( | bool | long_help | ) |
Print the help message.
Definition at line 1091 of file message.c.
References _, E_ERROR, E_SUCCESS, PACKAGE_BUGREPORT, PACKAGE_NAME, PACKAGE_URL, printf(), progname, tuklib_exit, V_SILENT, and verbosity.
Referenced by parse_real().
void message_init | ( | void | ) |
Initializes the message functions.
If an error occurs, this function doesn't return.
Definition at line 114 of file message.c.
References i, message_progress_sigs, message_signal_handler(), NULL, progress_automatic, and STDERR_FILENO.
Referenced by main().
void message_mem_needed | ( | enum message_verbosity | v, |
uint64_t | memusage | ||
) |
Display how much memory was needed and how much the limit was.
Definition at line 846 of file message.c.
References _, hardware_memlimit_get(), memlimit, message(), opt_mode, round_up_to_mib(), snprintf, UINT32_C, UINT64_MAX, uint64_to_str(), v, and verbosity.
Referenced by coder_init(), coder_normal(), lzma_attribute(), and parse_indexes().
void message_progress_end | ( | bool | finished | ) |
Finishes the progress message if we were in verbose mode.
finished | True if the whole stream was successfully coded and output written to the output stream. |
Definition at line 707 of file message.c.
References assert(), progress_flush(), and progress_started.
Referenced by coder_run().
void message_progress_start | ( | lzma_stream * | strm, |
bool | is_passthru, | ||
uint64_t | in_size | ||
) |
Start progress info handling.
message_filename() must be called before this function to set the filename.
This must be paired with a call to message_progress_end() before the given *strm becomes invalid.
strm | Pointer to lzma_stream used for the coding. |
in_size | Size of the input file, or zero if unknown. |
Definition at line 249 of file message.c.
References alarm, expected_in_size, in_size, progress_automatic, progress_is_from_passthru, progress_needs_updating, progress_next_update, progress_started, progress_strm, strm, V_VERBOSE, and verbosity.
Referenced by coder_run().
void message_progress_update | ( | void | ) |
Update the progress info if in verbose mode and enough time has passed since the previous update. This can be called only when message_progress_start() has already been used.
Definition at line 545 of file message.c.
References alarm, assert(), current_filename_printed, in_pos, mytime_get_elapsed(), print_filename(), progress_active, progress_automatic, progress_needs_updating, progress_next_update, progress_percentage(), progress_pos(), progress_remaining(), progress_sizes(), progress_speed(), progress_time(), signals_block(), signals_unblock(), tuklib_mbstr_fw, V_VERBOSE, and verbosity.
Referenced by coder_normal(), and coder_passthru().
Set the total number of files to be processed.
Standard input is counted as a file here. This is used when printing the filename via message_filename().
Definition at line 188 of file message.c.
References files, and files_total.
Referenced by main().
void message_signal_handler | ( | void | ) |
Print a message that establishing signal handlers failed, and exit with exit status ERROR.
Definition at line 796 of file message.c.
References _, and message_fatal().
Referenced by message_init(), and signals_init().
Convert lzma_ret to a string.
Definition at line 803 of file message.c.
References _, ENOMEM, LZMA_BUF_ERROR, LZMA_DATA_ERROR, LZMA_FORMAT_ERROR, LZMA_GET_CHECK, LZMA_MEM_ERROR, LZMA_MEMLIMIT_ERROR, LZMA_NO_CHECK, LZMA_OK, LZMA_OPTIONS_ERROR, LZMA_PROG_ERROR, LZMA_STREAM_END, and LZMA_UNSUPPORTED_CHECK.
Referenced by coder_normal(), parse_block_header(), and parse_indexes().
void message_try_help | ( | void | ) |
void message_verbosity_decrease | ( | void | ) |
enum message_verbosity message_verbosity_get | ( | void | ) |
Get the current verbosity level.
Definition at line 171 of file message.c.
Referenced by hardware_memlimit_show(), list_file(), list_totals(), main(), print_info_adv(), print_info_robot(), print_totals_adv(), and print_totals_robot().
void message_verbosity_increase | ( | void | ) |
void message_version | ( | void | ) |
Prints the version number to stdout and exits with exit status SUCCESS.
Definition at line 1074 of file message.c.
References E_ERROR, E_SUCCESS, LZMA_VERSION, LZMA_VERSION_STRING, opt_robot, PACKAGE_NAME, printf(), PRIu32, tuklib_exit, V_SILENT, and verbosity.
Referenced by parse_real().
void void message_warning | ( | const char * | fmt, |
... | |||
) |
Prints a warning and possibly sets exit status.
The message is printed only if verbosity level is at least V_WARNING. The exit status is set to WARNING unless it was already at ERROR.
Signals used for progress message handling.
Referenced by message_init(), and signals_init().