#undef M_ERROR_TERM
#undef M_TERM
#undef M_RESTORED
+#undef M_SECURITY
+#undef M_ALERT
/*
- * Most of these message levels are more or less obvious.
+ * Most of these message levels are more or less obvious.
* They have evolved somewhat during the development of Bacula,
* and here are some of the details of where I am trying to
* head (in the process of changing the code) as of 15 June 2002.
* M_FATAL Bacula detected a fatal Job error. The Job will be killed,
* but Bacula continues running.
* M_ERROR Bacula detected a Job error. The Job will continue running
- * but the termination status will be error.
+ * but the termination status will be error.
* M_WARNING Job warning message.
* M_INFO Job information message.
*
* M_RESTORED An ls -l of each restored file.
*
+ * M_SECURITY For security viloations. This is equivalent to FATAL.
+ * (note, this is currently being implemented in 1.33).
+ *
+ * M_ALERT For Tape Alert messages.
+ *
*/
-#define M_DEBUG 1 /* debug message */
-#define M_ABORT 2 /* MUST abort immediately */
-#define M_FATAL 3 /* Fatal error, stopping job */
-#define M_ERROR 4 /* Error, but recoverable */
-#define M_WARNING 5 /* Warning message */
-#define M_INFO 6 /* Informational message */
-#define M_SAVED 7 /* Info on saved file */
-#define M_NOTSAVED 8 /* Info on notsaved file */
-#define M_SKIPPED 9 /* File skipped by option setting */
-#define M_MOUNT 10 /* Mount requests */
-#define M_ERROR_TERM 11 /* Error termination request (no dump) */
-#define M_TERM 12 /* Terminating daemon */
-#define M_RESTORED 13 /* ls -l of restored files */
+enum {
+ /* Keep M_ABORT=1 for dlist.h */
+ M_ABORT = 1, /* MUST abort immediately */
+ M_DEBUG, /* debug message */
+ M_FATAL, /* Fatal error, stopping job */
+ M_ERROR, /* Error, but recoverable */
+ M_WARNING, /* Warning message */
+ M_INFO, /* Informational message */
+ M_SAVED, /* Info on saved file */
+ M_NOTSAVED, /* Info on notsaved file */
+ M_SKIPPED, /* File skipped during backup by option setting */
+ M_MOUNT, /* Mount requests */
+ M_ERROR_TERM, /* Error termination request (no dump) */
+ M_TERM, /* Terminating daemon normally */
+ M_RESTORED, /* ls -l of restored files */
+ M_SECURITY, /* security violation */
+ M_ALERT /* tape alert messages */
+};
-#define M_MAX M_RESTORED /* keep this updated ! */
+#define M_MAX M_ALERT /* keep this updated ! */
/* Define message destination structure */
/* *** FIXME **** where should be extended to handle multiple values */
#define MD_CONSOLE 9 /* send msg to UserAgent or console */
#define MD_MAIL_ON_ERROR 10 /* email messages if job errors */
+/* Queued message item */
+struct MQUEUE_ITEM {
+ dlink link;
+ int type;
+ time_t mtime;
+ char msg[1];
+};
+
-void d_msg(char *file, int line, int level, char *fmt,...);
-void e_msg(char *file, int line, int type, int level, char *fmt,...);
-void Jmsg(JCR *jcr, int type, int level, char *fmt,...);
+void d_msg(const char *file, int line, int level, const char *fmt,...);
+void e_msg(const char *file, int line, int type, int level, const char *fmt,...);
+void Jmsg(JCR *jcr, int type, time_t mtime, const char *fmt,...);
extern int debug_level;
extern int verbose;
extern char my_name[];
-extern char *working_directory;
+extern const char *working_directory;
extern time_t daemon_start_time;
+extern char catalog_db[];