ipath.h 885 B

123456789101112131415161718192021222324252627282930313233343536
  1. /** @file ipath.h
  2. * @brief Internal path structures.
  3. */
  4. #ifndef _ipath_h
  5. #define _ipath_h
  6. #include <faux/faux.h>
  7. #include <faux/list.h>
  8. typedef struct ipath_s ipath_t;
  9. typedef faux_list_node_t ipath_node_t;
  10. C_DECL_BEGIN
  11. ipath_t *ipath_new(void);
  12. void ipath_free(ipath_t *fargv);
  13. void ipath_set_quotes(ipath_t *fargv, const char *quotes);
  14. ssize_t ipath_len(ipath_t *fargv);
  15. ipath_node_t *ipath_iter(const ipath_t *fargv);
  16. const char *ipath_each(ipath_node_t **iter);
  17. const char *ipath_current(ipath_node_t *iter);
  18. const char *ipath_index(const ipath_t *fargv, size_t index);
  19. ssize_t ipath_parse(ipath_t *fargv, const char *str);
  20. bool_t ipath_add(ipath_t *fargv, const char *arg);
  21. bool_t ipath_is_continuable(const ipath_t *fargv);
  22. void ipath_set_continuable(ipath_t *fargv, bool_t continuable);
  23. bool_t ipath_is_last(ipath_node_t *iter);
  24. C_DECL_END
  25. #endif /* _ipath_h */