]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/dir_plugins.h
Tweak Windows tray monitor build
[bacula/bacula] / bacula / src / dird / dir_plugins.h
index 68362429adceb8d022c61985e8451e0025011777..b1c572489d2b9989a8b000d929eadcafa0404262 100644 (file)
@@ -1,12 +1,12 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2007-2008 Free Software Foundation Europe e.V.
+   Copyright (C) 2007-2009 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    This program is Free Software; you can redistribute it and/or
-   modify it under the terms of version two of the GNU General Public
+   modify it under the terms of version three of the GNU Affero General Public
    License as published by the Free Software Foundation, which is 
    listed in the file LICENSE.
 
@@ -15,7 +15,7 @@
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
+   You should have received a copy of the GNU Affero General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
@@ -69,42 +69,52 @@ extern "C" {
  *                                                                          *
  ****************************************************************************/
 
-/* Bacula Variable Ids */
+/* Bacula Variable Ids */       /* return value */
 typedef enum {
-  bVarJob       = 1,
-  bVarLevel     = 2,
-  bVarType      = 3,
-  bVarJobId     = 4,
-  bVarClient    = 5,
-  bVarNumVols   = 6,
-  bVarPool      = 7,
-  bVarStorage   = 8,
-  bVarCatalog   = 9,
-  bVarMediaType = 10,
-  bVarJobName   = 11,
-  bVarJobStatus = 12,
-  bVarPriority  = 13,
-  bVarVolumeName = 14,
-  bVarCatalogRes = 15,
-  bVarJobErrors  = 16,
-  bVarJobFiles   = 17,
-  bVarSDJobFiles = 18,
-  bVarSDErrors   = 19,
-  bVarFDJobStatus = 20,
-  bVarSDJobStatus = 21
+  bVarJob       = 1,            // string
+  bVarLevel     = 2,            // int   
+  bVarType      = 3,            // int   
+  bVarJobId     = 4,            // int   
+  bVarClient    = 5,            // string
+  bVarNumVols   = 6,            // int   
+  bVarPool      = 7,            // string
+  bVarStorage   = 8,            // string
+  bVarWriteStorage = 9,         // string
+  bVarReadStorage  = 10,        // string
+  bVarCatalog   = 11,           // string
+  bVarMediaType = 12,           // string
+  bVarJobName   = 13,           // string
+  bVarJobStatus = 14,           // int   
+  bVarPriority  = 15,           // int   
+  bVarVolumeName = 16,          // string
+  bVarCatalogRes = 17,          // NYI      
+  bVarJobErrors  = 18,          // int   
+  bVarJobFiles   = 19,          // int   
+  bVarSDJobFiles = 20,          // int   
+  bVarSDErrors   = 21,          // int   
+  bVarFDJobStatus = 22,         // int   
+  bVarSDJobStatus = 23          // int   
 } brVariable;
 
 typedef enum {
   bwVarJobReport  = 1,
   bwVarVolumeName = 2,
   bwVarPriority   = 3,
-  bwVarJobLevel   = 4,
+  bwVarJobLevel   = 4
 } bwVariable;
 
 
 typedef enum {
   bEventJobStart      = 1,
   bEventJobEnd        = 2,
+  bEventJobInit       = 3,
+  bEventJobRun        = 4,
+  bEventVolumePurged  = 5,
+  bEventNewVolume     = 6,
+  bEventNeedVolume    = 7,
+  bEventVolumeFull    = 8,
+  bEventRecyle        = 9,
+  bEventGetScratch    = 10
 } bEventType;
 
 typedef struct s_bEvent {
@@ -124,17 +134,18 @@ typedef struct s_baculaFuncs {
    bRC (*getBaculaValue)(bpContext *ctx, brVariable var, void *value);
    bRC (*setBaculaValue)(bpContext *ctx, bwVariable var, void *value);
    bRC (*JobMessage)(bpContext *ctx, const char *file, int line, 
-       int type, time_t mtime, const char *msg);     
+       int type, utime_t mtime, const char *msg);     
    bRC (*DebugMessage)(bpContext *ctx, const char *file, int line,
        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
 
 
 /****************************************************************************
@@ -155,12 +166,12 @@ typedef enum {
 typedef struct s_pluginInfo {
    uint32_t size;
    uint32_t version;
-   char *plugin_magic;
-   char *plugin_license;
-   char *plugin_author;
-   char *plugin_date;
-   char *plugin_version;
-   char *plugin_description;
+   const char *plugin_magic;
+   const char *plugin_license;
+   const char *plugin_author;
+   const char *plugin_date;
+   const char *plugin_version;
+   const char *plugin_description;
 } pInfo;
 
 typedef struct s_pluginFuncs {