error.h 957 B

123456789101112131415161718192021222324252627282930313233
  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. typedef struct faux_error_s faux_error_t;
  9. typedef faux_list_node_t faux_error_node_t;
  10. C_DECL_BEGIN
  11. faux_error_t *faux_error_new(void);
  12. void faux_error_free(faux_error_t *error);
  13. void faux_error_reset(faux_error_t *error);
  14. ssize_t faux_error_len(const faux_error_t *error);
  15. bool_t faux_error(const faux_error_t *error);
  16. bool_t faux_error_add(faux_error_t *error, const char *str);
  17. faux_error_node_t *faux_error_iter(const faux_error_t *error);
  18. faux_error_node_t *faux_error_iterr(const faux_error_t *error);
  19. const char *faux_error_each(faux_error_node_t **iter);
  20. const char *faux_error_eachr(faux_error_node_t **iter);
  21. bool_t faux_error_fprint(const faux_error_t *error, FILE *handle);
  22. bool_t faux_error_print(const faux_error_t *error);
  23. C_DECL_END
  24. #endif /* _faux_error_h */