summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/Makefile.am2
-rw-r--r--runtime/lmsig_gt.c40
-rw-r--r--runtime/sigprov.h5
3 files changed, 42 insertions, 5 deletions
diff --git a/runtime/Makefile.am b/runtime/Makefile.am
index b6009b98..20824494 100644
--- a/runtime/Makefile.am
+++ b/runtime/Makefile.am
@@ -184,7 +184,7 @@ if ENABLE_GUARDTIME
lmsig_gt_la_SOURCES = lmsig_gt.c
lmsig_gt_la_CPPFLAGS = $(RSRT_CFLAGS) $(GUARDTIME_CFLAGS)
lmsig_gt_la_LDFLAGS = -module -avoid-version
- lmsig_gt_la_LIBADD = librsgt.c $(GUARDTIME_LIBS)
+ lmsig_gt_la_LIBADD = librsgt.la $(GUARDTIME_LIBS)
endif
diff --git a/runtime/lmsig_gt.c b/runtime/lmsig_gt.c
index c390457a..f58d46c3 100644
--- a/runtime/lmsig_gt.c
+++ b/runtime/lmsig_gt.c
@@ -55,14 +55,46 @@ CODESTARTobjDestruct(lmsig_gt)
dbgprintf("DDDD: lmsig_gt: called destruct\n");
ENDobjDestruct(lmsig_gt)
+static rsRetVal
+OnFileOpen(void *pT, uchar *fn)
+{
+ lmsig_gt_t *pThis = (lmsig_gt_t*) pT;
+ DEFiRet;
+dbgprintf("DDDD: onFileOpen: %s\n", fn);
+
+ RETiRet;
+}
+
+static rsRetVal
+OnRecordWrite(void *pT, uchar *rec, rs_size_t lenRec)
+{
+ lmsig_gt_t *pThis = (lmsig_gt_t*) pT;
+ DEFiRet;
+dbgprintf("DDDD: onRecordWrite (%d): %s\n", lenRec, rec);
+
+ RETiRet;
+}
+
+static rsRetVal
+OnFileClose(void *pT)
+{
+ lmsig_gt_t *pThis = (lmsig_gt_t*) pT;
+ DEFiRet;
+dbgprintf("DDDD: onFileClose\n");
+
+ RETiRet;
+}
BEGINobjQueryInterface(lmsig_gt)
CODESTARTobjQueryInterface(lmsig_gt)
if(pIf->ifVersion != sigprovCURR_IF_VERSION) {/* check for current version, increment on each change */
ABORT_FINALIZE(RS_RET_INTERFACE_NOT_SUPPORTED);
}
- pIf->Construct = lmsig_gtConstruct;
- pIf->Destruct = lmsig_gtDestruct;
+ pIf->Construct = (rsRetVal(*)(void*)) lmsig_gtConstruct;
+ pIf->Destruct = (rsRetVal(*)(void*)) lmsig_gtDestruct;
+ pIf->OnFileOpen = OnFileOpen;
+ pIf->OnRecordWrite = OnRecordWrite;
+ pIf->OnFileClose = OnFileClose;
finalize_it:
ENDobjQueryInterface(lmsig_gt)
@@ -72,6 +104,8 @@ CODESTARTObjClassExit(lmsig_gt)
/* release objects we no longer need */
objRelease(errmsg, CORE_COMPONENT);
objRelease(glbl, CORE_COMPONENT);
+
+ rsgtExit();
ENDObjClassExit(lmsig_gt)
@@ -80,7 +114,7 @@ BEGINObjClassInit(lmsig_gt, 1, OBJ_IS_LOADABLE_MODULE) /* class, version */
CHKiRet(objUse(errmsg, CORE_COMPONENT));
CHKiRet(objUse(glbl, CORE_COMPONENT));
- /* set our own handlers */
+ rsgtInit("rsyslogd " VERSION);
ENDObjClassInit(lmsig_gt)
diff --git a/runtime/sigprov.h b/runtime/sigprov.h
index f0eb9350..0154a1f4 100644
--- a/runtime/sigprov.h
+++ b/runtime/sigprov.h
@@ -27,7 +27,10 @@
/* interface */
BEGINinterface(sigprov) /* name must also be changed in ENDinterface macro! */
rsRetVal (*Construct)(void *ppThis);
- rsRetVal (*Destruct)(void **ppThis);
+ rsRetVal (*Destruct)(void *ppThis);
+ rsRetVal (*OnFileOpen)(void *pThis, uchar *fn);
+ rsRetVal (*OnRecordWrite)(void *pThis, uchar *rec, rs_size_t lenRec);
+ rsRetVal (*OnFileClose)(void *pThis);
ENDinterface(sigprov)
#define sigprovCURR_IF_VERSION 1 /* increment whenever you change the interface structure! */
#endif /* #ifndef INCLUDED_SIGPROV_H */