XZ Utils  5.1.0alpha
Macros | Enumerations | Functions | Variables
message.h File Reference

Printing messages to stderr. More...

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, 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...
 

Detailed Description

Printing messages to stderr.

Macro Definition Documentation

#define FILTERS_STR_SIZE   512

Enumeration Type Documentation

Verbosity levels.

Enumerator
V_SILENT 

No messages.

V_ERROR 

Only error messages.

V_WARNING 

Errors and warnings.

V_VERBOSE 

Errors, warnings, and verbose statistics.

V_DEBUG 

Very verbose.

Function Documentation

void message_init ( void  )

Initializes the message functions.

If an error occurs, this function doesn't return.

References message_progress_sigs, message_signal_handler(), and progress_automatic.

Referenced by set_exit_no_warn().

void message_verbosity_increase ( void  )

Increase verbosity level by one step unless it was at maximum.

References V_DEBUG, and verbosity.

Referenced by parse_memlimit().

void message_verbosity_decrease ( void  )

Decrease verbosity level by one step unless it was at minimum.

References V_SILENT, and verbosity.

Referenced by parse_memlimit().

enum message_verbosity message_verbosity_get ( void  )

Get the current verbosity level.

References verbosity.

Referenced by get_check_names(), hardware_memlimit_show(), list_file(), list_totals(), and set_exit_no_warn().

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.

Referenced by coder_add_filter(), message_mem_needed(), message_progress_end(), message_try_help(), and str_to_uint64().

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.

Referenced by coder_normal(), io_copy_attrs(), io_open_src_real(), message_progress_end(), msg_suffix(), and uncompressed_name().

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.

Referenced by coder_init(), coder_normal(), compressed_name(), io_close(), io_close_dest(), io_close_src(), io_open_src_real(), io_pread(), io_read(), io_unlink(), io_write(), is_empty_filename(), is_tty_stdin(), is_tty_stdout(), list_file(), message_progress_end(), parse_block_header(), parse_indexes(), set_exit_no_warn(), and uncompressed_name().

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.

Referenced by coder_add_filter(), list_file(), message_bug(), message_progress_end(), message_signal_handler(), options_bcj(), options_lzma(), parse_memlimit(), parse_options(), set_exit_no_warn(), str_to_uint64(), suffix_set(), and xrealloc().

void message_bug ( void  )

Print an error message that an internal error occurred and exit with EXIT_ERROR.

References message_fatal().

Referenced by coder_add_filter(), options_lzma(), parse_block_header(), and parse_indexes().

void message_signal_handler ( void  )

Print a message that establishing signal handlers failed, and exit with exit status ERROR.

References message_fatal().

Referenced by message_init(), signals_exit(), and signals_init().

const char* message_strm ( lzma_ret  code)
void message_mem_needed ( enum message_verbosity  v,
uint64_t  memusage 
)

Display how much memory was needed and how much the limit was.

References hardware_memlimit_get(), message(), opt_mode, round_up_to_mib(), uint64_to_str(), and verbosity.

Referenced by coder_add_filter(), coder_init(), coder_normal(), and parse_indexes().

void message_filters_to_str ( char  buf[FILTERS_STR_SIZE],
const lzma_filter filters,
bool  all_known 
)
void message_filters_show ( enum message_verbosity  v,
const lzma_filter filters 
)

Print the filter chain.

References FILTERS_STR_SIZE, message_filters_to_str(), and verbosity.

Referenced by coder_add_filter().

void message_try_help ( void  )

Print a message that user should try –help.

References message(), and V_WARNING.

Referenced by parse_memlimit(), and set_exit_no_warn().

void message_version ( void  )

Prints the version number to stdout and exits with exit status SUCCESS.

References LZMA_VERSION, lzma_version_number(), LZMA_VERSION_STRING, lzma_version_string(), V_SILENT, and verbosity.

Referenced by parse_memlimit().

void message_help ( bool  long_help)

Print the help message.

References V_SILENT, and verbosity.

Referenced by parse_memlimit().

void message_set_files ( unsigned int  files)

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().

References files_total.

Referenced by set_exit_no_warn().

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.

References current_filename_printed, filename, files_pos, opt_mode, print_filename(), progress_automatic, V_VERBOSE, and verbosity.

Referenced by coder_run(), and list_file().

void message_progress_start ( lzma_stream strm,
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.

Parameters
strmPointer to lzma_stream used for the coding.
in_sizeSize of the input file, or zero if unknown.

References expected_in_size, my_time(), progress_automatic, progress_needs_updating, progress_next_update, progress_started, start_time, strm, V_VERBOSE, and verbosity.

Referenced by coder_run().

void message_progress_update ( void  )
void message_progress_end ( bool  finished)

Finishes the progress message if we were in verbose mode.

Parameters
finishedTrue if the whole stream was successfully coded and output written to the output stream.

References message(), message_error(), message_fatal(), message_warning(), progress_started, set_exit_status(), signals_block(), signals_unblock(), V_ERROR, V_WARNING, and verbosity.

Referenced by coder_run().

Variable Documentation

const int message_progress_sigs[]

Signals used for progress message handling.

Referenced by message_init(), and signals_init().