1 // SPDX-License-Identifier: 0BSD 2 3 /////////////////////////////////////////////////////////////////////////////// 4 // 5 /// \file args.h 6 /// \brief Argument parsing 7 // 8 // Authors: Lasse Collin 9 // Jia Tan 10 // 11 /////////////////////////////////////////////////////////////////////////////// 12 13 typedef struct { 14 /// Filenames from command line 15 char **arg_names; 16 17 /// Number of filenames from command line 18 unsigned int arg_count; 19 20 /// Name of the file from which to read filenames. This is NULL 21 /// if --files or --files0 was not used. 22 const char *files_name; 23 24 /// File opened for reading from which filenames are read. This is 25 /// non-NULL only if files_name is non-NULL. 26 FILE *files_file; 27 28 /// Delimiter for filenames read from files_file 29 char files_delim; 30 31 } args_info; 32 33 34 extern bool opt_stdout; 35 extern bool opt_force; 36 extern bool opt_keep_original; 37 extern bool opt_synchronous; 38 extern bool opt_robot; 39 extern bool opt_ignore_check; 40 41 extern const char stdin_filename[]; 42 43 extern void args_parse(args_info *args, int argc, char **argv); 44 extern void args_free(void); 45