summaryrefslogtreecommitdiffstats
path: root/runtime/modules.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-03-06 14:57:29 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2011-03-06 14:57:29 +0100
commit5c84debabb4154d0574f6ce8f1d2b95c1910859d (patch)
tree6d2719b4d30aefd347244c9e68242585d1361d89 /runtime/modules.h
parentb8610a107ee4fd9e4b1ba06e7bd43dd6cbd72ea7 (diff)
parent87f8ac6dc4343eb4664ca5e234c163c399afca1b (diff)
downloadrsyslog-5c84debabb4154d0574f6ce8f1d2b95c1910859d.tar.gz
rsyslog-5c84debabb4154d0574f6ce8f1d2b95c1910859d.tar.bz2
rsyslog-5c84debabb4154d0574f6ce8f1d2b95c1910859d.zip
Merge branch 'v5-beta-gtls-fix' 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 */