enhanced module handling
This commit is contained in:
@ -84,6 +84,8 @@ public:
|
||||
|
||||
typedef qse_awk_fnc_info_t fnc_info_t;
|
||||
|
||||
typedef qse_awk_mod_info_t mod_info_t;
|
||||
|
||||
class Run;
|
||||
friend class Run;
|
||||
|
||||
@ -1224,7 +1226,7 @@ protected:
|
||||
virtual flt_t exp (flt_t x) = 0;
|
||||
virtual flt_t sqrt (flt_t x) = 0;
|
||||
|
||||
virtual void* modopen (const char_t* dir, const char_t* name) = 0;
|
||||
virtual void* modopen (const mod_info_t* info) = 0;
|
||||
virtual void modclose (void* handle) = 0;
|
||||
virtual void* modsym (void* handle, const char_t* name) = 0;
|
||||
|
||||
@ -1263,7 +1265,7 @@ protected:
|
||||
static flt_t exp (awk_t* awk, flt_t x);
|
||||
static flt_t sqrt (awk_t* awk, flt_t x);
|
||||
|
||||
static void* modopen (awk_t* awk, const char_t* dir, const char_t* name);
|
||||
static void* modopen (awk_t* awk, const mod_info_t* info);
|
||||
static void modclose (awk_t* awk, void* handle);
|
||||
static void* modsym (awk_t* awk, void* handle, const char_t* name);
|
||||
|
||||
|
@ -200,7 +200,7 @@ protected:
|
||||
flt_t exp (flt_t x);
|
||||
flt_t sqrt (flt_t x);
|
||||
|
||||
void* modopen (const char_t* dir, const char_t* name);
|
||||
void* modopen (const mod_info_t* info);
|
||||
void modclose (void* handle);
|
||||
void* modsym (void* handle, const char_t* name);
|
||||
|
||||
|
@ -414,10 +414,18 @@ typedef qse_flt_t (*qse_awk_math2_t) (
|
||||
qse_flt_t y
|
||||
);
|
||||
|
||||
typedef struct qse_awk_mod_info_t qse_awk_mod_info_t;
|
||||
|
||||
struct qse_awk_mod_info_t
|
||||
{
|
||||
const qse_char_t* prefix;
|
||||
const qse_char_t* postfix;
|
||||
const qse_char_t* name;
|
||||
};
|
||||
|
||||
typedef void* (*qse_awk_modopen_t) (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* dir,
|
||||
const qse_char_t* name
|
||||
qse_awk_t* awk,
|
||||
const qse_awk_mod_info_t* info
|
||||
);
|
||||
|
||||
typedef void* (*qse_awk_modsym_t) (
|
||||
@ -821,6 +829,7 @@ struct qse_awk_mod_sym_t
|
||||
} u;
|
||||
};
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
/**
|
||||
@ -911,7 +920,9 @@ struct qse_awk_rtx_ecb_t
|
||||
enum qse_awk_opt_t
|
||||
{
|
||||
QSE_AWK_TRAIT = 0,
|
||||
QSE_AWK_MODDIR,
|
||||
|
||||
QSE_AWK_MODPREFIX,
|
||||
QSE_AWK_MODPOSTFIX,
|
||||
|
||||
QSE_AWK_DEPTH_INCLUDE,
|
||||
QSE_AWK_DEPTH_BLOCK_PARSE,
|
||||
|
Reference in New Issue
Block a user