43 lines
986 B
C
43 lines
986 B
C
#ifndef MODULES_H
|
|
#define MODULES_H
|
|
|
|
#include "formulas.h"
|
|
#include "formats.h"
|
|
|
|
|
|
/*
|
|
Œ®¤ã«¨ § £à㦠îâ table_lib á ¬¨
|
|
Œ®¤ã«¨ ä®à¬ ⮢ ¨á¯«ì§ãîâ ⮫쪮 íâã ¡¨¡«¨®â¥ªã, â® ¥áâì ¨¬ íâ®â íªá¯®àâ ¨ ¥ 㦥
|
|
Œ®¤ã«¨ ä®à¬ã« ¨á¯®«ì§ãîâ ¥éñ ¨ íªá¯®àâë ¯à¨«®¦¥¨ï
|
|
( ¯à¨¬¥à, ¯à¨ ®¡à ¡®âª¥ ¯¥à¥ç¨á«¥¨© ë)
|
|
*/
|
|
typedef struct {
|
|
uint32_t version;
|
|
// functions for formulas
|
|
int (*get_obj_str)();
|
|
} table_exports_t;
|
|
|
|
|
|
typedef struct module_t {
|
|
struct module_t* next;
|
|
uint32_t flags; // bitflag 0 - not using this module; 1 - using
|
|
ksys_dll_t* dll;
|
|
uint32_t pdata; // module context
|
|
|
|
import_format_t* formats;
|
|
import_formula_t* formulas;
|
|
// callbacks
|
|
uint32_t __stdcall (*fn_init)(table_exports_t*, char*, char*);
|
|
void __stdcall (*fn_close)(uint32_t);
|
|
char namespace [64];
|
|
char* dll_path;
|
|
} module_t;
|
|
|
|
#define MODULE_FLAG_EMMBEDED 0x80000000
|
|
#define MODULE_FLAG_BLOCKED 0x00000001
|
|
|
|
|
|
extern int module_init(char* dll_name, char* cmdline, char* namespace);
|
|
extern void modules_exit();
|
|
|
|
#endif |