#ifndef SP_ENV_H #define SP_ENV_H #pragma once #ifdef __cplusplus extern "C" { #endif #include "sp_dir.h" #include "sp_cfg.h" #include "sp_mod.h" #include "sp_btr.h" #include "sp_gui.h" typedef struct sp_env_t { sp_dir_t *dir; sp_cfg_t *cfg; sp_mod_mgr_t *mod_mgr; void *shm_addr; int shm_range; char *url; int seq_id; // unique seq no sp_btr_context_t *btr_ctx; #if defined(_MSC_VER) sp_gui_t* gui; #else sp_gui_format_t* gui; #endif //_MSC_VER } sp_env_t; SPBASE_API int sp_env_create(void *hint_addr, int range, const sp_cfg_start_args_t* args, sp_env_t **p_env, int* err); SPBASE_API void sp_env_destroy(sp_env_t* env); SPBASE_API void set_ld_library_path(sp_env_t* env); int sp_env_new_id(sp_env_t *env); int load_mod_mgr(sp_mod_mgr_t* mod_mgr, sp_cfg_t* cfg); SPBASE_API sp_env_t *sp_get_env(); #ifdef __cplusplus } // extern "C" { #endif #endif // SP_ENV_H