You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
801B

  1. #ifndef _CMD_UTILS_H
  2. #define _CMD_UTILS_H
  3. typedef struct {
  4. const char *name;
  5. int flags;
  6. #define HAS_ARG 0x0001
  7. #define OPT_BOOL 0x0002
  8. #define OPT_EXPERT 0x0004
  9. #define OPT_STRING 0x0008
  10. #define OPT_VIDEO 0x0010
  11. #define OPT_AUDIO 0x0020
  12. #define OPT_GRAB 0x0040
  13. #define OPT_INT 0x0080
  14. #define OPT_FLOAT 0x0100
  15. union {
  16. void (*func_arg)(const char *);
  17. int *int_arg;
  18. char **str_arg;
  19. float *float_arg;
  20. } u;
  21. const char *help;
  22. const char *argname;
  23. } OptionDef;
  24. void show_help_options(const OptionDef *options, const char *msg, int mask, int value);
  25. void parse_options(int argc, char **argv, const OptionDef *options);
  26. void parse_arg_file(const char *filename);
  27. void print_error(const char *filename, int err);
  28. #endif /* _CMD_UTILS_H */