files
Table/includes/MODULES.H
Mikhail Frolov b3981d174a Table: All editor code files have been added from the flash drive.
The start date of development is September 12, 2024.
2025-03-30 22:56:32 +05:00

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