ini.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /** @file ini.h
  2. * @brief Public interface to work with ini files and strings.
  3. */
  4. #ifndef _faux_ini_h
  5. #define _faux_ini_h
  6. #include <faux/faux.h>
  7. #include <faux/list.h>
  8. typedef struct faux_pair_s faux_pair_t;
  9. typedef struct faux_ini_s faux_ini_t;
  10. typedef faux_list_node_t faux_ini_node_t;
  11. C_DECL_BEGIN
  12. // Pair
  13. const char *faux_pair_name(const faux_pair_t *pair);
  14. const char *faux_pair_value(const faux_pair_t *pair);
  15. // Ini
  16. faux_ini_t *faux_ini_new(void);
  17. void faux_ini_free(faux_ini_t *ini);
  18. const faux_pair_t *faux_ini_set(faux_ini_t *ini, const char *name, const char *value);
  19. void faux_ini_unset(faux_ini_t *ini, const char *name);
  20. const faux_pair_t *faux_ini_find_pair(const faux_ini_t *ini, const char *name);
  21. const char *faux_ini_find(const faux_ini_t *ini, const char *name);
  22. faux_ini_node_t *faux_ini_iter(const faux_ini_t *ini);
  23. const faux_pair_t *faux_ini_each(faux_ini_node_t **iter);
  24. int faux_ini_parse_str(faux_ini_t *ini, const char *str);
  25. int faux_ini_parse_file(faux_ini_t *ini, const char *fn);
  26. int faux_ini_write_file(const faux_ini_t *ini, const char *fn);
  27. C_DECL_END
  28. #endif /* _faux_ini_h */