XZ Utils 5.2.10
|
Listing information about .xz files. More...
Data Structures | |
struct | xz_file_info |
Information about a .xz file. More... | |
struct | block_header_info |
Information about a .xz Block. More... | |
Macros | |
#define | XZ_FILE_INFO_INIT { NULL, 0, 0, true, 50000002 } |
#define | CHECKS_STR_SIZE 1024 |
Functions | |
static const char * | xz_ver_to_str (uint32_t ver) |
Convert XZ Utils version number to a string. More... | |
static bool | parse_indexes (xz_file_info *xfi, file_pair *pair) |
Parse the Index(es) from the given .xz file. More... | |
static bool | parse_block_header (file_pair *pair, const lzma_index_iter *iter, block_header_info *bhi, xz_file_info *xfi) |
Parse the Block Header. More... | |
static bool | parse_check_value (file_pair *pair, const lzma_index_iter *iter) |
Parse the Check field and put it into check_value[]. More... | |
static bool | parse_details (file_pair *pair, const lzma_index_iter *iter, block_header_info *bhi, xz_file_info *xfi) |
Parse detailed information about a Block. More... | |
static const char * | get_ratio (uint64_t compressed_size, uint64_t uncompressed_size) |
Get the compression ratio. More... | |
static void | get_check_names (char buf[CHECKS_STR_SIZE], uint32_t checks, bool space_after_comma) |
Get a comma-separated list of Check names. More... | |
static bool | print_info_basic (const xz_file_info *xfi, file_pair *pair) |
static void | print_adv_helper (uint64_t stream_count, uint64_t block_count, uint64_t compressed_size, uint64_t uncompressed_size, uint32_t checks, uint64_t stream_padding) |
static bool | print_info_adv (xz_file_info *xfi, file_pair *pair) |
static bool | print_info_robot (xz_file_info *xfi, file_pair *pair) |
static void | update_totals (const xz_file_info *xfi) |
static void | print_totals_basic (void) |
static void | print_totals_adv (void) |
static void | print_totals_robot (void) |
void | list_totals (void) |
Show the totals after all files have been listed. More... | |
void | list_file (const char *filename) |
List information about the given .xz file. More... | |
Variables | |
static const char | check_names [LZMA_CHECK_ID_MAX+1][12] |
Check ID to string mapping. More... | |
static char | check_value [2 *LZMA_CHECK_SIZE_MAX+1] |
struct { | |
uint64_t files | |
uint64_t streams | |
uint64_t blocks | |
uint64_t compressed_size | |
uint64_t uncompressed_size | |
uint64_t stream_padding | |
uint64_t memusage_max | |
uint32_t checks | |
uint32_t min_version | |
bool all_have_sizes | |
} | totals = { 0, 0, 0, 0, 0, 0, 0, 0, 50000002, true } |
Listing information about .xz files.
#define CHECKS_STR_SIZE 1024 |
Buffer size for get_check_names(). This may be a bit ridiculous, but at least it's enough if some language needs many multibyte chars.
|
static |
Convert XZ Utils version number to a string.
|
static |
Parse the Index(es) from the given .xz file.
xfi | Pointer to structure where the decoded information is stored. |
pair | Input file |
References message_error(), and file_pair::src_st.
|
static |
Parse the Block Header.
The result is stored into *bhi. The caller takes care of initializing it.
Referenced by parse_details().
|
static |
Parse the Check field and put it into check_value[].
References lzma_stream_flags::check, check_value, lzma_index_iter::compressed_file_offset, lzma_index_iter::flags, io_pread(), LZMA_CHECK_NONE, lzma_check_size(), and lzma_index_iter::total_size.
Referenced by parse_details().
|
static |
Parse detailed information about a Block.
Since this requires seek(s), listing information about all Blocks can be slow.
pair | Input file |
iter | Location of the Block whose Check value should be printed. |
bhi | Pointer to structure where to store the information about the Block Header field. |
References parse_block_header(), and parse_check_value().
|
static |
Get the compression ratio.
This has slightly different format than that is used in message.c.
|
static |
Get a comma-separated list of Check names.
The check names are translated with gettext except when in robot mode.
buf | Buffer to hold the resulting string |
checks | Bit mask of Checks to print |
space_after_comma | It's better to not use spaces in table-like listings, but in more verbose formats a space after a comma is good for readability. |
void list_totals | ( | void | ) |
Show the totals after all files have been listed.
void list_file | ( | const char * | filename | ) |
List information about the given .xz file.
References opt_format.
|
static |
Check ID to string mapping.
|
static |
Value of the Check field as hexadecimal string. This is set by parse_check_value().
Referenced by parse_check_value().
struct { ... } totals |
Totals that are displayed if there was more than one file. The "files" counter is also used in print_info_adv() to show the file number.