]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/filed/fd_plugins.h
Add bVarWorkingDir to filed plugins
[bacula/bacula] / bacula / src / filed / fd_plugins.h
index 39f64558a0b574bfdf5ab1b104855789649013cd..cbfe199e8019c33c35e21942ca46620f24a17c5e 100644 (file)
 #include "../win32/filed/vss.h"
 #endif
 
+/*
+ * This packet is used for the restore objects
+ *  It is passed to the plugin when restoring
+ *  the object.
+ */
+struct restore_object_pkt {
+   int32_t pkt_size;                  /* size of this packet */
+   char *object_name;                 /* Object name */
+   char *object;                      /* restore object data to save */
+   int32_t object_type;               /* FT_xx for this file */             
+   int32_t object_len;                /* restore object length */
+   int32_t object_index;              /* restore object index */
+   int32_t stream;                    /* attribute stream id */
+   uint32_t JobId;                    /* JobId object came from */
+   int32_t pkt_end;                   /* end packet sentinel */
+};
+
 /*
  * This packet is used for file save info transfer.
 */
@@ -82,6 +99,10 @@ struct save_pkt {
    uint32_t flags;                    /* Bacula internal flags */
    bool portable;                     /* set if data format is portable */
    char *cmd;                         /* command */
+   char *object_name;                 /* Object name to create */
+   char *object;                      /* restore object data to save */
+   int32_t object_len;                /* restore object length */
+   int32_t index;                     /* restore object index */
    int32_t pkt_end;                   /* end packet sentinel */
 };
 
@@ -152,24 +173,28 @@ typedef enum {
   bVarFileSeen  = 10,
   bVarVssObject = 11,
   bVarVssDllHandle = 12,
+  bVarWorkingDir = 13
 } bVariable;
 
 /* Events that are passed to plugin */
 typedef enum {
-  bEventJobStart        = 1,
-  bEventJobEnd          = 2,
-  bEventStartBackupJob  = 3,
-  bEventEndBackupJob    = 4,
-  bEventStartRestoreJob = 5,
-  bEventEndRestoreJob   = 6,
-  bEventStartVerifyJob  = 7,
-  bEventEndVerifyJob    = 8,
-  bEventBackupCommand   = 9,
-  bEventRestoreCommand  = 10,
-  bEventLevel           = 11,
-  bEventSince           = 12,
-  bEventCancelCommand   = 13,
-  bEventInitializeVSS   = 14
+  bEventJobStart                        = 1,
+  bEventJobEnd                          = 2,
+  bEventStartBackupJob                  = 3,
+  bEventEndBackupJob                    = 4,
+  bEventStartRestoreJob                 = 5,
+  bEventEndRestoreJob                   = 6,
+  bEventStartVerifyJob                  = 7,
+  bEventEndVerifyJob                    = 8,
+  bEventBackupCommand                   = 9,
+  bEventRestoreCommand                  = 10,
+  bEventLevel                           = 11,
+  bEventSince                           = 12,
+  bEventCancelCommand                   = 13,
+  bEventVssBackupAddComponents          = 14,
+  bEventVssRestoreLoadComponentMetadata = 15,
+  bEventVssRestoreSetComponentsSelected = 16,
+  bEventRestoreObject                   = 17,
 } bEventType;
 
 typedef struct s_bEvent {