argv.h 942 B

1234567891011121314151617181920212223242526272829303132333435
  1. /** @file argv.h
  2. * @brief Parse string to arguments.
  3. */
  4. #ifndef _faux_argv_h
  5. #define _faux_argv_h
  6. #include <faux/faux.h>
  7. #include <faux/list.h>
  8. typedef struct faux_argv_s faux_argv_t;
  9. typedef faux_list_node_t faux_argv_node_t;
  10. C_DECL_BEGIN
  11. faux_argv_t *faux_argv_new(void);
  12. void faux_argv_free(faux_argv_t *fargv);
  13. void faux_argv_set_quotes(faux_argv_t *fargv, const char *quotes);
  14. faux_argv_node_t *faux_argv_iter(const faux_argv_t *fargv);
  15. const char *faux_argv_each(faux_argv_node_t **iter);
  16. const char *faux_argv_current(faux_argv_node_t *iter);
  17. ssize_t faux_argv_len(faux_argv_t *fargv);
  18. ssize_t faux_argv_parse(faux_argv_t *fargv, const char *str);
  19. bool_t faux_argv_add(faux_argv_t *fargv, const char *arg);
  20. bool_t faux_argv_is_continuable(faux_argv_t *fargv);
  21. void faux_argv_set_continuable(faux_argv_t *fargv, bool_t continuable);
  22. bool_t faux_argv_is_last(faux_argv_node_t *iter);
  23. C_DECL_END
  24. #endif /* _faux_argv_h */