summaryrefslogtreecommitdiffstats
path: root/runtime/modules.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-03-11 10:24:58 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2011-03-11 10:24:58 +0100
commit6c3ef4dacfa0a0fb0099299e30335c788704fe2a (patch)
treecb43da8a6fd9508f872059d6dada70ed02348b10 /runtime/modules.h
parentcd61ecd459d7ba915ac5b31743e7ded8db62e30e (diff)
parentfd26a42bdc04eaf497cafd9ef806a54f3de1a7e9 (diff)
downloadrsyslog-6c3ef4dacfa0a0fb0099299e30335c788704fe2a.tar.gz
rsyslog-6c3ef4dacfa0a0fb0099299e30335c788704fe2a.tar.xz
rsyslog-6c3ef4dacfa0a0fb0099299e30335c788704fe2a.zip
Merge branch 'v5-beta'
Conflicts: ChangeLog configure.ac doc/manual.html plugins/omlibdbi/omlibdbi.c tests/Makefile.am tests/diag.sh
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 a78cd6f1..c1c38a26 100644
--- a/runtime/modules.h
+++ b/runtime/modules.h
@@ -77,12 +77,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 */