binlex
args.h
1 #ifndef ARGS_H
2 #define ARGS_H
3 
4 #define ARGS_MODE_COUNT 7
5 
6 #define ARGS_IO_TYPE_UNKNOWN 0
7 #define ARGS_IO_TYPE_FILE 1
8 #define ARGS_IO_TYPE_DIR 2
9 
14 namespace binlex{
15  class Args {
16  public:
17  char version[7] = "v1.1.0";
18  const char *modes[ARGS_MODE_COUNT] = {"elf:x86", "elf:x86_64", "pe:x86", "pe:x86_64", "raw:x86", "raw:x86_64", "raw:cil"};
19  struct{
20  char *input;
21  int io_type;
22  char *output;
23  unsigned int threads;
24  bool help;
25  bool list_modes;
26  char *mode;
27  bool pretty;
28  } options;
29  Args();
30  void SetDefault();
31  bool check_mode(char *mode);
32  int is_file(const char *path);
33  int is_dir(const char *path);
34  void set_io_type(char *input);
35  void print_help();
36  void parse(int argc, char **argv);
37  ~Args();
38  };
39 }
40 #endif
binlex::Args
Definition: args.h:15
binlex
the binlex namespace