ksym.h 600 B

12345678910111213141516171819202122232425262728293031323334
  1. /** @file ksym.h
  2. *
  3. * @brief Klish symbol
  4. */
  5. #ifndef _klish_ksym_h
  6. #define _klish_ksym_h
  7. #include <faux/error.h>
  8. typedef struct ksym_s ksym_t;
  9. typedef enum {
  10. KSYM_ERROR_OK,
  11. KSYM_ERROR_INTERNAL,
  12. KSYM_ERROR_ALLOC,
  13. } ksym_error_e;
  14. C_DECL_BEGIN
  15. // ksym_t
  16. ksym_t *ksym_new(ksym_error_e *error);
  17. void ksym_free(ksym_t *sym);
  18. const char *ksym_strerror(ksym_error_e error);
  19. const char *ksym_name(const ksym_t *sym);
  20. bool_t ksym_set_name(ksym_t *sym, const char *name);
  21. const void *ksym_fn(const ksym_t *sym);
  22. bool_t ksym_set_fn(ksym_t *sym, const void *fn);
  23. C_DECL_END
  24. #endif // _klish_ksym_h