the plugin gets control, it can interact with Bacula by getting and setting
Bacula variables. In this way, it behaves much like a RunScript. Currently
very few Bacula variables are defined, but they will be implemented as the need
-arrises, and it is very extensible.
+arises, and it is very extensible.
We plan to have plugins register to receive events that they normally would
not receive, such as an event for each file examined for backup or restore.
both these external entry points to the shared object are defined as C entry
points to avoid name mangling complications with C++. However, the shared
-object can actually be written in any language (preferrably C or C++) providing
+object can actually be written in any language (preferably C or C++) providing
that it follows C language calling conventions.
The definitions for {\bf bRC} and the arguments are {\bf
Aside from the {\bf bc\_types.h} and {\bf confit.h} headers, the plugin
definition uses the minimum code from Bacula. The bc\_types.h file is required
-to ensure that the data type defintions in arguments correspond to the Bacula
+to ensure that the data type definitions in arguments correspond to the Bacula
core code.
The return codes are defined as:
(malloc the memory) and store a pointer to
its private working storage in the {\bf pContext} variable.
Note: since Bacula is a multi-threaded program, you must not
- keep any variable data in your plugin unless it is truely meant
+ keep any variable data in your plugin unless it is truly meant
to apply globally to the whole plugin. In addition, you must
be aware that except the first and last call to the plugin
(loadPlugin and unloadPlugin) all the other calls will be
made by threads that correspond to a Bacula job. The
bpContext that will be passed for each thread will remain the
- same throughout the Job thus you can keep your privat Job specific
+ same throughout the Job thus you can keep your private Job specific
data in it ({\bf bContext}).
\begin{verbatim}
When actually writing your own plugin, you may use the example-plugin-fd.c
code as a template for your code.
-