*/
/*
- Copyright (C) 2000-2003 Kern Sibbald and John Walker
+ Copyright (C) 2000-2004 Kern Sibbald and John Walker
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
extern int r_first;
extern int r_last;
extern RES_TABLE resources[];
+extern RES **res_head;
extern int console_msg_pending;
extern FILE *con_fd;
extern brwlock_t con_lock;
/* Imported functions */
/* Forward referenced functions */
-static int do_list_cmd(UAContext *ua, char *cmd, e_list_type llist);
+static int do_list_cmd(UAContext *ua, const char *cmd, e_list_type llist);
/*
* Turn auto display of console messages on/off
*/
-int autodisplay_cmd(UAContext *ua, char *cmd)
+int autodisplay_cmd(UAContext *ua, const char *cmd)
{
- static char *kw[] = {
+ static const char *kw[] = {
N_("on"),
N_("off"),
NULL};
/*
* Turn gui processing on/off
*/
-int gui_cmd(UAContext *ua, char *cmd)
+int gui_cmd(UAContext *ua, const char *cmd)
{
- static char *kw[] = {
+ static const char *kw[] = {
N_("on"),
N_("off"),
NULL};
-struct showstruct {char *res_name; int type;};
+struct showstruct {const char *res_name; int type;};
static struct showstruct reses[] = {
{N_("directors"), R_DIRECTOR},
{N_("clients"), R_CLIENT},
* show <resource-keyword-name>=<name> e.g. show director=HeadMan
*
*/
-int show_cmd(UAContext *ua, char *cmd)
+int show_cmd(UAContext *ua, const char *cmd)
{
int i, j, type, len;
int recurse;
if (strncasecmp(res_name, _(reses[j].res_name), len) == 0) {
type = reses[j].type;
if (type > 0) {
- res = resources[type-r_first].res_head;
+ res = res_head[type-r_first];
+// res = resources[type-r_first].res_head;
} else {
res = NULL;
}
switch (type) {
case -1: /* all */
for (j=r_first; j<=r_last; j++) {
- dump_resource(j, resources[j-r_first].res_head, bsendmsg, ua);
+ dump_resource(j, res_head[j-r_first], bsendmsg, ua);
+// dump_resource(j, resources[j-r_first].res_head, bsendmsg, ua);
}
break;
case -2:
*/
/* Do long or full listing */
-int llist_cmd(UAContext *ua, char *cmd)
+int llist_cmd(UAContext *ua, const char *cmd)
{
return do_list_cmd(ua, cmd, VERT_LIST);
}
/* Do short or summary listing */
-int list_cmd(UAContext *ua, char *cmd)
+int list_cmd(UAContext *ua, const char *cmd)
{
return do_list_cmd(ua, cmd, HORZ_LIST);
}
-static int do_list_cmd(UAContext *ua, char *cmd, e_list_type llist)
+static int do_list_cmd(UAContext *ua, const char *cmd, e_list_type llist)
{
POOLMEM *VolumeName;
int jobid, n;
Dmsg1(000, "bit_set_month=%d\n", bit_is_set(month, run->month));
Dmsg1(000, "bit_set_wom=%d\n", bit_is_set(wom, run->wom));
Dmsg1(000, "bit_set_woy=%d\n", bit_is_set(woy, run->woy));
-#endif xxx
+#endif
if (tod) { /* Jobs scheduled today (next 24 hours) */
#ifdef xxx
char buf[300], num[10];
Vw(con_lock);
}
-void do_messages(UAContext *ua, char *cmd)
+void do_messages(UAContext *ua, const char *cmd)
{
char msg[2000];
int mlen;
}
-int qmessagescmd(UAContext *ua, char *cmd)
+int qmessagescmd(UAContext *ua, const char *cmd)
{
if (console_msg_pending && ua->auto_display_messages) {
do_messages(ua, cmd);
return 1;
}
-int messagescmd(UAContext *ua, char *cmd)
+int messagescmd(UAContext *ua, const char *cmd)
{
if (console_msg_pending) {
do_messages(ua, cmd);
/*
* Callback routine for "printing" database file listing
*/
-void prtit(void *ctx, char *msg)
+void prtit(void *ctx, const char *msg)
{
UAContext *ua = (UAContext *)ctx;
* agent, so we are being called from Bacula core. In
* that case direct the messages to the Job.
*/
-void bsendmsg(void *ctx, char *fmt, ...)
+void bsendmsg(void *ctx, const char *fmt, ...)
{
va_list arg_ptr;
UAContext *ua = (UAContext *)ctx;