kustore.h 686 B

1234567891011121314151617181920212223242526272829
  1. /** @file kustore.h
  2. *
  3. * @brief Klish user data store. List of kudata_t object.
  4. */
  5. #ifndef _klish_kustore_h
  6. #define _klish_kustore_h
  7. #include <klish/kudata.h>
  8. typedef struct kustore_s kustore_t;
  9. C_DECL_BEGIN
  10. kustore_t *kustore_new();
  11. void kustore_free(kustore_t *ustore);
  12. bool_t kustore_add_udatas(kustore_t *ustore, kudata_t *udata);
  13. kudata_t *kustore_find_udata(const kustore_t *ustore, const char *name);
  14. // Helper functions for easy access to udata entries
  15. kudata_t *kustore_slot_new(kustore_t *ustore,
  16. const char *name, void *data, kudata_data_free_fn free_fn);
  17. void *kustore_slot_data(kustore_t *ustore, const char *udata_name);
  18. C_DECL_END
  19. #endif // _klish_kustore_h