This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
stellar-stellar/infra/module_manager/module_manager_interna.h

53 lines
914 B
C
Raw Normal View History

#pragma once
#ifdef __cplusplus
extern "C"
{
#endif
#include "stellar/module_manager.h"
#include "stellar/mq.h"
#include <limits.h>
#include <stdbool.h>
struct stellar_module
{
char name[NAME_MAX];
void *module_ctx;
};
struct module_spec_load
{
struct stellar_module *mod;
module_on_init_func *on_init_cb;
module_on_exit_func *on_exit_cb;
char *path;
char *init_cb_name;
char *exit_cb_name;
bool is_init_succ;
}__attribute__((aligned(sizeof(void*))));
struct stellar_module_manager
{
char *module_spec_toml_path;
struct module_spec_load *module_specs;
int load_module_num;
int topic_polling_id;
struct
{
int max_thread_num;
struct mq_schema *mq_schema;
struct logger *logger;
}schema;
}__attribute__((aligned(sizeof(void*))));
void stellar_polling_dispatch(struct stellar_module_manager *mod_mgr);
#ifdef __cplusplus
}
#endif