doveadm-proxy.c revision adad68df4602d80639d7f28e4c7550fbafbd8d60
7cb128dc4cae2a03a742f63ba7afee23c78e3af0Phil Carmody/* Copyright (c) 2011-2016 Dovecot authors, see the included COPYING file */
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenextern struct doveadm_cmd_ver2 doveadm_cmd_proxy[];
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenstatic void proxy_cmd_help(doveadm_command_t *cmd) ATTR_NORETURN;
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainencmd_proxy_init(int argc, char *argv[], const char *getopt_args,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen socket_path = t_strconcat(doveadm_settings->base_dir, "/ipc", NULL);
2e5d624013c30633e8ded148d338ce46c321a995Timo Sirainen while ((c = getopt(argc, argv, getopt_args)) > 0) {
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenstatic void cmd_proxy_list_header(const char *const *args)
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen const char *key;
db9ad8c821c01a18a520c2a07b2d6dc501b4017aTimo Sirainen for (unsigned int i = 0; args[i] != NULL; i++) {
db9ad8c821c01a18a520c2a07b2d6dc501b4017aTimo Sirainen for (unsigned int j = 0; j < N_ELEMENTS(header_map); j++) {
5b6470e0e2ef4012430cdeca7d9b89c1278a0ed4Timo Sirainenstatic void cmd_proxy_list_callback(enum ipc_client_cmd_state state,
bfcca12a441275b7f4cd510b95669b163263b2e7Timo Sirainen const char *const *args = t_strsplit_tab(data);
eeb03434472130f9631f164440566fd8d09e6380Timo Sirainenstatic void cmd_proxy_list(int argc, char *argv[])
4ba3717a04823875c2a1d60ff9dc8177ae033d12Timo Sirainen ctx = cmd_proxy_init(argc, argv, "a:", cmd_proxy_list);
5b6470e0e2ef4012430cdeca7d9b89c1278a0ed4Timo Sirainen ipc_client_cmd(ctx->ipc, "proxy\t*\tLIST-FULL",
eeb03434472130f9631f164440566fd8d09e6380Timo Sirainenstatic void cmd_proxy_kick_callback(enum ipc_client_cmd_state state,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenstatic void cmd_proxy_kick(int argc, char *argv[])
57f4445a46726a17bfe78b0964dd301a6ccb40ecTimo Sirainen ctx = cmd_proxy_init(argc, argv, "a:", cmd_proxy_kick);
i_unreached();
void doveadm_register_proxy_commands(void)