context.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef ACLK_SCHEMA_WRAPPER_CONTEXT_H
  3. #define ACLK_SCHEMA_WRAPPER_CONTEXT_H
  4. #include <stdint.h>
  5. #include <sys/types.h>
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. typedef void* contexts_updated_t;
  10. typedef void* contexts_snapshot_t;
  11. struct context_updated {
  12. // context id
  13. const char *id;
  14. uint64_t version;
  15. uint64_t first_entry;
  16. uint64_t last_entry;
  17. int deleted;
  18. const char *title;
  19. uint64_t priority;
  20. const char *chart_type;
  21. const char *units;
  22. const char *family;
  23. };
  24. // ContextS Snapshot related
  25. contexts_snapshot_t contexts_snapshot_new(const char *claim_id, const char *node_id, uint64_t version);
  26. void contexts_snapshot_delete(contexts_snapshot_t ctxs_snapshot);
  27. void contexts_snapshot_set_version(contexts_snapshot_t ctxs_snapshot, uint64_t version);
  28. void contexts_snapshot_add_ctx_update(contexts_snapshot_t ctxs_snapshot, struct context_updated *ctx_update);
  29. char *contexts_snapshot_2bin(contexts_snapshot_t ctxs_snapshot, size_t *len);
  30. // ContextS Updated related
  31. contexts_updated_t contexts_updated_new(const char *claim_id, const char *node_id, uint64_t version_hash, uint64_t created_at);
  32. void contexts_updated_delete(contexts_updated_t ctxs_updated);
  33. void contexts_updated_update_version_hash(contexts_updated_t ctxs_updated, uint64_t version_hash);
  34. void contexts_updated_add_ctx_update(contexts_updated_t ctxs_updated, struct context_updated *ctx_update);
  35. char *contexts_updated_2bin(contexts_updated_t ctxs_updated, size_t *len);
  36. #ifdef __cplusplus
  37. }
  38. #endif
  39. #endif /* ACLK_SCHEMA_WRAPPER_CONTEXT_H */