41 lines
635 B
C
41 lines
635 B
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C"
|
||
|
|
{
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#include "stellar/module_manager.h"
|
||
|
|
|
||
|
|
#include "uthash/utarray.h"
|
||
|
|
#include "stellar/mq.h"
|
||
|
|
|
||
|
|
#include <limits.h>
|
||
|
|
|
||
|
|
struct stellar_module
|
||
|
|
{
|
||
|
|
char name[NAME_MAX];
|
||
|
|
void *module_ctx;
|
||
|
|
};
|
||
|
|
|
||
|
|
struct stellar_module_manager
|
||
|
|
{
|
||
|
|
struct
|
||
|
|
{
|
||
|
|
UT_array *module_specs_array;
|
||
|
|
int max_thread_num;
|
||
|
|
struct mq_schema *mq_schema;
|
||
|
|
}schema;
|
||
|
|
|
||
|
|
}__attribute__((aligned(sizeof(void*))));
|
||
|
|
|
||
|
|
struct module_specific
|
||
|
|
{
|
||
|
|
struct stellar_module *mod;
|
||
|
|
module_on_init_func *load_cb;
|
||
|
|
module_on_exit_func *unload_cb;
|
||
|
|
}__attribute__((aligned(sizeof(void*))));
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|