]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl Make example plugins for dird and filed working
authorEric Bollengier <eric@eb.homelinux.org>
Wed, 12 Nov 2008 13:26:16 +0000 (13:26 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Wed, 12 Nov 2008 13:26:16 +0000 (13:26 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8039 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/dir_plugins.h
bacula/src/filed/fd_plugins.h
bacula/src/plugins/dir/Makefile.in [new file with mode: 0644]
bacula/src/plugins/dir/example-plugin-dir.c
bacula/src/plugins/fd/example-plugin-fd.c

index d631e98a8e44dbedd1d1ea4d06c5816443233c97..7db456bc6c778f3e53333ce86dc3ef72c21e0b5e 100644 (file)
@@ -129,12 +129,13 @@ typedef struct s_baculaFuncs {
        int level, const char *msg);
 } bFuncs;
 
-/* Bacula Subroutines */
+/* Bacula Core Routines -- not used within a plugin */
+#ifdef DIRECTOR_DAEMON
 void load_dir_plugins(const char *plugin_dir);
 void new_plugins(JCR *jcr);
 void free_plugins(JCR *jcr);
 void generate_plugin_event(JCR *jcr, bEventType event, void *value=NULL);
-
+#endif
 
 
 /****************************************************************************
index afeb7ecadd392f696b46c17b5a04dfcb2d43227d..899f6503cbd5982f3dbdb17efc097c2dd531ed86 100644 (file)
@@ -46,7 +46,7 @@
 #define _FILE_OFFSET_BITS 64
 #define _LARGEFILE_SOURCE 1
 #define _LARGE_FILES 1
-#endif
+#endif  /* ! _BACULA_H */
 
 #include <sys/types.h>
 
@@ -56,7 +56,7 @@
 #else
 #include "winconfig.h"
 #endif
-#else
+#else  /* !HAVE_WIN32 */
 #ifndef __CONFIG_H
 #include "config.h"
 #define __CONFIG_H
diff --git a/bacula/src/plugins/dir/Makefile.in b/bacula/src/plugins/dir/Makefile.in
new file mode 100644 (file)
index 0000000..0a6fa27
--- /dev/null
@@ -0,0 +1,64 @@
+#
+# Simple Makefile for building test FD plugins for Bacula
+#
+# Version $Id: Makefile.in 7841 2008-10-19 10:34:03Z kerns $
+#
+@MCOMMON@
+
+
+# No optimization for now for easy debugging
+
+DIRDIR=../../dird
+SRCDIR=../..
+LIBDIR=../../lib
+
+.SUFFIXES:    .c .o .lo
+
+.c.o:
+       $(CXX) $(DEFS) $(DEBUG) $(CPPFLAGS) -I${SRCDIR} -I${DIRDIR} -DTEST_PROGRAM -c $<
+
+.c.lo:
+       $(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) $(CPPFLAGS) -I${SRCDIR} -I${DIRDIR} -DTEST_PROGRAM -c $<
+
+all: example-plugin-dir$(DEFAULT_SHARED_OBJECT_TYPE)
+
+test: main example-plugin-dir.so
+
+dir_plugins.o: ${DIRDIR}/dir_plugins.h ${DIRDIR}/dir_plugins.c
+       $(CXX) -I${SRCDIR} -I${DIRDIR} -DTEST_PROGRAM -c ${DIRDIR}/dir_plugins.c 
+
+main: dir_plugins.o
+       $(CXX) $(LDFLAGS) -L${LIBDIR} dir_plugins.o -o main -lbac -lpthread -lssl -l crypto -ldl
+
+example-plugin-dir.o: example-plugin-dir.c ${DIRDIR}/dir_plugins.h
+       $(CXX) -fPIC -I../.. -I${DIRDIR} -c example-plugin-fd.c
+
+example-plugin-dir.so: example-plugin-dir.o 
+       $(CXX) $(LDFLAGS) -shared example-plugin-dir.o -o example-plugin-dir.so
+
+example-plugin-dir.lo: example-plugin-dir.c ${DIRDIR}/dir_plugins.h
+       $(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) $(CFLAGS) -I../.. -I${DIRDIR} -c example-plugin-dir.c
+
+example-plugin-dir.la: Makefile example-plugin-dir$(DEFAULT_OBJECT_TYPE)
+       $(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) $(CFLAGS) -I../.. -I${DIRDIR} -c example-plugin-dir.c
+
+install: all
+       $(MKDIR) $(DESTDIR)$(plugindir)
+       $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) example-plugin-dir$(DEFAULT_SHARED_OBJECT_TYPE) $(DESTDIR)$(plugindir)
+       $(RMF) $(DESTDIR)$(plugindir)/example-plugin-dir.la
+
+libtool-clean:
+       find . -name '*.lo' -print | xargs $(LIBTOOL_CLEAN) $(RMF)
+       $(RMF) *.la
+       $(RMF) -r .libs _libs
+
+clean: @LIBTOOL_CLEAN_TARGET@
+       rm -f main *.so *.o 1 2 3
+
+distclean: clean
+       rm -f Makefile
+
+uninstall:
+       $(RMF) $(DESTDIR)$(plugindir)/example-plugin-dir.so
+
+depend:
index ff1474a770bcea5cb737350cd26de541b6466023..e1441933be9b64e29526d7536aa7554ea004d620 100644 (file)
@@ -31,7 +31,7 @@
  *  Kern Sibbald, October 2007
  *
  */
-#include <stdio.h>
+#include "bacula.h"
 #include "dir_plugins.h"
 
 #ifdef __cplusplus
index 458537f364f4a6b1c40d2a045647bab5f7c98c30..52f1d83ecbac6fb1cd28635679ebe8397c24a492 100644 (file)
@@ -9,7 +9,7 @@
    the code in any way. 
 
 */
-#include <stdio.h>
+#include "bacula.h"
 #include "fd_plugins.h"
 
 #ifdef __cplusplus
@@ -136,10 +136,10 @@ static bRC handlePluginEvent(bpContext *ctx, bEvent *event, void *value)
       printf("plugin: BackupEnd\n");
       break;
    case bEventLevel:
-      printf("plugin: JobLevel=%c %d\n", (int)value, (int)value);
+      printf("plugin: JobLevel=%c %d\n", *(int*)value, *(int*)value);
       break;
    case bEventSince:
-      printf("plugin: since=%d\n", (int)value);
+      printf("plugin: since=%d\n", *(int*)value);
       break;
    case bEventStartRestoreJob:
       printf("plugin: StartRestoreJob\n");