error.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /** @file error.h
  2. * @brief Public interface to work with advanced error class.
  3. */
  4. #ifndef _faux_error_h
  5. #define _faux_error_h
  6. #include <stdio.h>
  7. #include <faux/faux.h>
  8. #include <faux/list.h>
  9. typedef struct faux_error_s faux_error_t;
  10. typedef faux_list_node_t faux_error_node_t;
  11. C_DECL_BEGIN
  12. faux_error_t *faux_error_new(void);
  13. void faux_error_free(faux_error_t *error);
  14. void faux_error_reset(faux_error_t *error);
  15. ssize_t faux_error_len(const faux_error_t *error);
  16. bool_t faux_error(const faux_error_t *error);
  17. bool_t faux_error_add(faux_error_t *error, const char *str);
  18. bool_t faux_error_sprintf(faux_error_t *error, const char *fmt, ...);
  19. faux_error_node_t *faux_error_iter(const faux_error_t *error);
  20. faux_error_node_t *faux_error_iterr(const faux_error_t *error);
  21. const char *faux_error_each(faux_error_node_t **iter);
  22. const char *faux_error_eachr(faux_error_node_t **iter);
  23. bool_t faux_error_fshow(const faux_error_t *error, FILE *handle);
  24. bool_t faux_error_show(const faux_error_t *error);
  25. char *faux_error_cstr(const faux_error_t *error);
  26. C_DECL_END
  27. #endif /* _faux_error_h */