doveadm-instance.c revision 2e533fb1283b5f06a4063b519e47f1861c910386
/* Copyright (c) 2012 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "master-instance.h"
#include "master-service-settings.h"
#include "doveadm.h"
#include "doveadm-print.h"
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
extern struct doveadm_cmd doveadm_cmd_instance[];
static bool pid_file_read(const char *path)
{
char buf[32];
int fd;
if (fd == -1) {
return FALSE;
}
if (ret < 0)
}
}
i_close_fd(&fd);
return found;
}
{
struct master_instance_list *list;
struct master_instance_list_iter *iter;
const struct master_instance *inst;
const char *instance_path, *pidfile_path;
bool show_config = FALSE;
int c;
switch (c) {
case 'c':
show_config = TRUE;
break;
default:
help(&doveadm_cmd_instance[0]);
}
}
if (!show_config) {
doveadm_print_header_simple("name");
doveadm_print_header_simple("last used");
doveadm_print_header_simple("running");
}
continue;
if (show_config) {
inst->config_path);
continue;
}
if (pid_file_read(pidfile_path))
doveadm_print("yes");
else
doveadm_print("no");
}
}
{
struct master_instance_list *list;
const struct master_instance *inst;
const char *base_dir, *instance_path;
int ret;
if (argc != 2)
i_error("Failed to remove instance");
} else if (ret == 0) {
i_error("Instance already didn't exist");
}
}
struct doveadm_cmd doveadm_cmd_instance[] = {
};
{
unsigned int i;
for (i = 0; i < N_ELEMENTS(doveadm_cmd_instance); i++) {
help(&doveadm_cmd_instance[i]);
}
i_unreached();
}
void doveadm_register_instance_commands(void)
{
unsigned int i;
for (i = 0; i < N_ELEMENTS(doveadm_cmd_instance); i++)
}