kudata.h 605 B

123456789101112131415161718192021222324252627
  1. /** @file kudata.h
  2. *
  3. * @brief Klish user data
  4. */
  5. #ifndef _klish_kudata_h
  6. #define _klish_kudata_h
  7. typedef struct kudata_s kudata_t;
  8. typedef bool_t (*kudata_data_free_fn)(void *data);
  9. C_DECL_BEGIN
  10. // kudata_t
  11. kudata_t *kudata_new(const char *name);
  12. void kudata_free(kudata_t *udata);
  13. const char *kudata_name(const kudata_t *udata);
  14. void *kudata_data(const kudata_t *udata);
  15. bool_t kudata_set_data(kudata_t *udata, void *data);
  16. kudata_data_free_fn kudata_free_fn(const kudata_t *udata);
  17. bool_t kudata_set_free_fn(kudata_t *udata, kudata_data_free_fn free_fn);
  18. C_DECL_END
  19. #endif // _klish_kudata_h