sp_env.h 664 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef SP_ENV_H
  2. #define SP_ENV_H
  3. #pragma once
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #include "sp_dir.h"
  8. #include "sp_cfg.h"
  9. #include "sp_mod.h"
  10. #include "sp_btr.h"
  11. #include "sp_gui.h"
  12. typedef struct sp_env_t {
  13. sp_dir_t *dir;
  14. sp_cfg_t *cfg;
  15. sp_mod_mgr_t *mod_mgr;
  16. void *shm_addr;
  17. int shm_range;
  18. char *url;
  19. int seq_id; // unique seq no
  20. sp_btr_context_t *btr_ctx;
  21. sp_gui_t *gui;
  22. } sp_env_t;
  23. SPBASE_API int sp_env_create(void *hint_addr, int range, sp_env_t **p_env);
  24. SPBASE_API void sp_env_destroy(sp_env_t* env);
  25. int sp_env_new_id(sp_env_t *env);
  26. SPBASE_API sp_env_t *sp_get_env();
  27. #ifdef __cplusplus
  28. } // extern "C" {
  29. #endif
  30. #endif // SP_ENV_H