summaryrefslogtreecommitdiffstats
path: root/runtime/modules.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-03-06 15:11:08 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2011-03-06 15:11:08 +0100
commitaf3de3d45104820dfdfdf2fe96ddac058b8fad9d (patch)
treee4c6b59a337e707442b30817042007f58837139d /runtime/modules.h
parenteeb3212dad4d72eedad04a37b28b38fc831f67ed (diff)
parenteb8e018d5a7b27700bbae1b8681b4f2f8e8a4f99 (diff)
downloadrsyslog-af3de3d45104820dfdfdf2fe96ddac058b8fad9d.tar.gz
rsyslog-af3de3d45104820dfdfdf2fe96ddac058b8fad9d.tar.bz2
rsyslog-af3de3d45104820dfdfdf2fe96ddac058b8fad9d.zip
Merge branch 'v5-beta' of git+ssh://git.adiscon.com/git/rsyslog into v5-beta
Diffstat (limited to 'runtime/modules.h')
-rw-r--r--runtime/modules.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/runtime/modules.h b/runtime/modules.h
index df1afbc3..4daaf1f9 100644
--- a/runtime/modules.h
+++ b/runtime/modules.h
@@ -75,12 +75,26 @@ typedef enum eModLinkType_ {
eMOD_LINK_ALL /* special: all linkage types, e.g. for unload */
} eModLinkType_t;
+/* remember which shared libs we dlopen()-ed */
+struct dlhandle_s {
+ uchar *pszName;
+ void *pModHdlr;
+ struct dlhandle_s *next;
+};
+
+/* should this module be kept linked? */
+typedef enum eModKeepType_ {
+ eMOD_NOKEEP,
+ eMOD_KEEP
+} eModKeepType_t;
+
struct modInfo_s {
struct modInfo_s *pPrev; /* support for creating a double linked module list */
struct modInfo_s *pNext; /* support for creating a linked module list */
int iIFVers; /* Interface version of module */
eModType_t eType; /* type of this module */
eModLinkType_t eLinkType;
+ eModKeepType_t eKeepType; /* keep the module dynamically linked on unload */
uchar* pszName; /* printable module name, e.g. for dbgprintf */
unsigned uRefCnt; /* reference count for this module; 0 -> may be unloaded */
/* functions supported by all types of modules */