args.c File Reference

#include "config.h"
#include "headers.h"
#include "error.h"
#include "fd.h"
#include "io.h"
#include "display.h"
#include "args.h"

Include dependency graph for args.c:

Go to the source code of this file.

Data Structures

struct  _options_list
struct  _colors_list

Typedefs

typedef _options_list options_list
typedef _colors_list colors_list

Functions

int parse_infile_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_outfile_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_size_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_completed_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throttle_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_buffer_size_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_block_size_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_interval_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_timeout_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_kilo_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_width_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_minus_one_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_twiddle_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_count_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_time_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_elapsed_only_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_percent_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_bar_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_summary_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_ansi_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_displays_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_help_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_version_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_bits_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_count_bits_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_title_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_display_title_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_total_percent_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_space_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_twiddle_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_twiddle_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_twiddle_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_title_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_title_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_title_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_count_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_count_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_count_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_label_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_label_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_label_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throughput_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_time_label_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_time_label_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_time_label_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_time_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_time_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_time_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_percent_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_percent_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_percent_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_barbrace_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_barbrace_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_barbrace_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_bar_fg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_bar_bg_color_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_bar_fg_bold_commandline (FILE *ferr, int argc, char *argv[], int *arg_num, int option_num)
int parse_throttle_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_buffer_size_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_block_size_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_interval_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_timeout_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_kilo_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_width_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_minus_one_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_twiddle_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_count_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_time_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_elapsed_only_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_percent_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_bar_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_summary_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_ansi_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_bits_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_count_bits_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_title_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_display_title_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_total_percent_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_space_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_twiddle_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_twiddle_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_twiddle_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_title_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_title_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_title_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_count_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_count_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_count_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_label_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_label_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_label_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_throughput_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_time_label_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_time_label_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_time_label_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_time_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_time_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_time_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_percent_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_percent_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_percent_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_barbrace_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_barbrace_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_barbrace_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_bar_fg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_bar_bg_color_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_bar_fg_bold_rc (FILE *ferr, char *filename, int line, char *tag, char *value)
void version (FILE *out)
void help (FILE *out)
int isOpt (char *s)
int safe_add (uint64 *n, uint64 a)
int safe_mul (uint64 *n, uint64 x)
int parse_num (FILE *ferr, char *s, uint64 *n, uint64 min, uint64 max)
int parse_infile_value (FILE *ferr, char *value)
int parse_outfile_value (FILE *ferr, char *value)
int parse_size_value (FILE *ferr, char *value)
int parse_completed_value (FILE *ferr, char *value)
int parse_throttle_value (FILE *ferr, char *value)
int parse_buffer_size_value (FILE *ferr, char *value)
int parse_block_size_value (FILE *ferr, char *value)
int parse_interval_value (FILE *ferr, char *value)
int parse_timeout_value (FILE *ferr, char *value)
int parse_kilo_value (FILE *ferr, char *value)
int parse_width_value (FILE *ferr, char *value)
int parse_switch_commandline (char *arg, options_list *option, int *sw)
int parse_switch_rc (FILE *ferr, char *filename, int line, char *value, int *sw)
int parse_switch_all_commandline (char *arg, options_list *option)
int isColor (char *s, colors_list *list)
int parse_color (FILE *ferr, char *value, colors_list *list, char **code_ptr)
int parse_args (FILE *ferr, int argc, char *argv[])
int parse_rc_by_tag (FILE *ferr, char *filename, int line, char *tag, char *value)
int parse_rcfile (FILE *ferr, char *filename)
int parse_rcfiles (FILE *ferr)

Variables

char _parsing_blocks = 0
options_list options []
colors_list fg_colors []
colors_list bg_colors []


Typedef Documentation

typedef struct _colors_list colors_list

Definition at line 33 of file args.c.

typedef struct _options_list options_list

Definition at line 26 of file args.c.


Function Documentation

void help ( FILE *  out  ) 

Definition at line 560 of file args.c.

References _options_list::arg_description, _options_list::cl_func, d, _options_list::description, _options_list::long_option1, _options_list::long_option2, options, _display::screen_width, and _options_list::short_option2.

Referenced by parse_help_commandline().

int isColor ( char *  s,
colors_list list 
)

Definition at line 1757 of file args.c.

Referenced by parse_color().

int isOpt ( char *  s  ) 

Definition at line 662 of file args.c.

References options.

Referenced by parse_args(), and parse_rc_by_tag().

int parse_ansi_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 1668 of file args.c.

References d, _display::display_ansi, options, and parse_switch_commandline().

Here is the call graph for this function:

int parse_ansi_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 1680 of file args.c.

References d, _display::display_ansi, and parse_switch_rc().

Here is the call graph for this function:

int parse_args ( FILE *  ferr,
int  argc,
char *  argv[] 
)

Definition at line 2635 of file args.c.

References _io::in, io, isOpt(), options, _io::out, parse_block_size_commandline(), parse_help_commandline(), parse_infile_value(), parse_kilo_commandline(), parse_outfile_value(), parse_version_commandline(), and print_error().

Referenced by main(), test10(), test11(), test12(), test13(), test135(), test136(), test137(), test138(), test14(), test140(), test141(), test15(), test16(), test17(), test18(), test19(), test20(), test21(), test22(), test23(), test24(), test25(), test26(), test27(), test28(), test29(), test30(), test31(), test32(), test33(), test34(), test35(), test36(), test37(), test38(), test39(), test4(), test40(), test41(), test42(), test43(), test44(), test45(), test46(), test47(), test48(), test49(), test5(), test50(), test51(), test52(), test53(), test54(), test55(), test56(), test57(), test58(), test59(), test6(), test60(), test61(), test62(), test63(), test64(), test65(), test66(), test67(), test68(), test69(), test7(), test70(), test71(), test72(), test73(), test74(), test75(), test76(), test77(), test78(), test79(), test8(), test80(), test81(), test82(), test83(), test84(), test85(), test86(), test87(), test88(), test89(), test9(), test90(), test91(), test92(), and test93().

Here is the call graph for this function:

int parse_bar_bg_color_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 2583 of file args.c.

References _display::bar_bg_color, bg_colors, d, parse_color(), print_error(), and print_esup().

Here is the call graph for this function:

int parse_bar_bg_color_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 2601 of file args.c.

References _display::bar_bg_color, bg_colors, d, parse_color(), and print_esup().

Here is the call graph for this function:

int parse_bar_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 1563 of file args.c.

References d, _display::display_bar, options, and parse_switch_commandline().

Here is the call graph for this function:

int parse_bar_fg_bold_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 2613 of file args.c.

References _display::bar_fg_bold, d, options, and parse_switch_commandline().

Here is the call graph for this function:

int parse_bar_fg_bold_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 2625 of file args.c.

References _display::bar_fg_bold, d, and parse_switch_rc().

Here is the call graph for this function:

int parse_bar_fg_color_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 2553 of file args.c.

References _display::bar_fg_color, d, fg_colors, parse_color(), print_error(), and print_esup().

Here is the call graph for this function:

int parse_bar_fg_color_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 2571 of file args.c.

References _display::bar_fg_color, d, fg_colors, parse_color(), and print_esup().

Here is the call graph for this function:

int parse_bar_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 1575 of file args.c.

References d, _display::display_bar, and parse_switch_rc().

Here is the call graph for this function:

int parse_barbrace_bg_color_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 2501 of file args.c.

References _display::barbrace_bg_color, bg_colors, d, parse_color(), print_error(), and print_esup().

Here is the call graph for this function:

int parse_barbrace_bg_color_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 2519 of file args.c.

References _display::barbrace_bg_color, bg_colors, d, parse_color(), and print_esup().

Here is the call graph for this function:

int parse_barbrace_fg_bold_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 2531 of file args.c.

References _display::barbrace_fg_bold, d, options, and parse_switch_commandline().

Here is the call graph for this function:

int parse_barbrace_fg_bold_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 2543 of file args.c.

References _display::barbrace_fg_bold, d, and parse_switch_rc().

Here is the call graph for this function:

int parse_barbrace_fg_color_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 2471 of file args.c.

References _display::barbrace_fg_color, d, fg_colors, parse_color(), print_error(), and print_esup().

Here is the call graph for this function:

int parse_barbrace_fg_color_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 2489 of file args.c.

References _display::barbrace_fg_color, d, fg_colors, parse_color(), and print_esup().

Here is the call graph for this function:

int parse_block_size_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 1149 of file args.c.

References parse_block_size_value(), and print_error().

Referenced by parse_args().

Here is the call graph for this function:

int parse_block_size_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 1160 of file args.c.

References parse_block_size_value(), and print_esup().

Here is the call graph for this function:

int parse_block_size_value ( FILE *  ferr,
char *  value 
)

Definition at line 1134 of file args.c.

References _parsing_blocks, _io::block_size, io, MAX_SIZE_T, and parse_num().

Referenced by parse_block_size_commandline(), and parse_block_size_rc().

Here is the call graph for this function:

int parse_buffer_size_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 1114 of file args.c.

References parse_buffer_size_value(), and print_error().

Here is the call graph for this function:

int parse_buffer_size_rc ( FILE *  ferr,
char *  filename,
int  line,
char *  tag,
char *  value 
)

Definition at line 1125 of file args.c.

References parse_buffer_size_value(), and print_esup().

Here is the call graph for this function:

int parse_buffer_size_value ( FILE *  ferr,
char *  value 
)

Definition at line 1103 of file args.c.

References _io::buffer_size, io, MAX_SIZE_T, and parse_num().

Referenced by parse_buffer_size_commandline(), and parse_buffer_size_rc().

Here is the call graph for this function:

int parse_color ( FILE *  ferr,
char *  value,
colors_list list,
char **  code_ptr 
)

Definition at line 1769 of file args.c.

References _colors_list::code, isColor(), and print_error().

Referenced by parse_bar_bg_color_commandline(), parse_bar_bg_color_rc(), parse_bar_fg_color_commandline(), parse_bar_fg_color_rc(), parse_barbrace_bg_color_commandline(), parse_barbrace_bg_color_rc(), parse_barbrace_fg_color_commandline(), parse_barbrace_fg_color_rc(), parse_count_bg_color_commandline(), parse_count_bg_color_rc(), parse_count_fg_color_commandline(), parse_count_fg_color_rc(), parse_percent_bg_color_commandline(), parse_percent_bg_color_rc(), parse_percent_fg_color_commandline(), parse_percent_fg_color_rc(), parse_space_bg_color_commandline(), parse_space_bg_color_rc(), parse_throughput_bg_color_commandline(), parse_throughput_bg_color_rc(), parse_throughput_fg_color_commandline(), parse_throughput_fg_color_rc(), parse_throughput_label_bg_color_commandline(), parse_throughput_label_bg_color_rc(), parse_throughput_label_fg_color_commandline(), parse_throughput_label_fg_color_rc(), parse_time_bg_color_commandline(), parse_time_bg_color_rc(), parse_time_fg_color_commandline(), parse_time_fg_color_rc(), parse_time_label_bg_color_commandline(), parse_time_label_bg_color_rc(), parse_time_label_fg_color_commandline(), parse_time_label_fg_color_rc(), parse_title_bg_color_commandline(), parse_title_bg_color_rc(), parse_title_fg_color_commandline(), parse_title_fg_color_rc(), parse_twiddle_bg_color_commandline(), parse_twiddle_bg_color_rc(), parse_twiddle_fg_color_commandline(), and parse_twiddle_fg_color_rc().

Here is the call graph for this function:

int parse_completed_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 1072 of file args.c.

References parse_completed_value(), and print_error().

Here is the call graph for this function:

int parse_completed_value ( FILE *  ferr,
char *  value 
)

Definition at line 1037 of file args.c.

References _io::continue_size, io, MAX_UINT64, parse_num(), _io::total_read, and _io::total_write.

Referenced by parse_completed_commandline().

Here is the call graph for this function:

int parse_count_bg_color_commandline ( FILE *  ferr,
int  argc,
char *  argv[],
int *  arg_num,
int  option_num 
)

Definition at line 2009 of file args.c.

References bg_colors, d, _display::datacount_bg_color, parse_color(), print_error(), and print_esup().

Here is the call graph for this function:

int parse_count_bg_color_rc ( FILE *  ferr,
char *  filename,
int