コード例 #1
0
static void cmd_quota_get_root(struct quota_root *root)
{
	const char *const *res;
	uint64_t value, limit;
	int ret;

	res = quota_root_get_resources(root);
	for (; *res != NULL; res++) {
		ret = quota_get_resource(root, "", *res, &value, &limit);
		doveadm_print(root->set->name);
		doveadm_print(*res);
		if (ret > 0) {
			doveadm_print_num(value);
			doveadm_print_num(limit);
			if (limit > 0)
				doveadm_print_num(value*100 / limit);
			else
				doveadm_print("0");
		} else if (ret == 0) {
			doveadm_print_num(value);
			doveadm_print("-");
			doveadm_print("0");
		} else {
			doveadm_print("error");
			doveadm_print("error");
			doveadm_print("error");
		}
	}
}
コード例 #2
0
ファイル: doveadm-auth-server.c プロジェクト: manuelm/dovecot
static void cmd_auth_cache_flush(int argc, char *argv[])
{
    const char *master_socket_path = NULL;
    struct auth_master_connection *conn;
    unsigned int count;
    int c;

    while ((c = getopt(argc, argv, "a:")) > 0) {
        switch (c) {
        case 'a':
            master_socket_path = optarg;
            break;
        default:
            doveadm_exit_code = EX_USAGE;
            return;
        }
    }
    argv += optind;

    if (master_socket_path == NULL) {
        master_socket_path = t_strconcat(doveadm_settings->base_dir,
                                         "/auth-master", NULL);
    }

    conn = doveadm_get_auth_master_conn(master_socket_path);
    if (auth_master_cache_flush(conn, (void *)argv, &count) < 0) {
        i_error("Cache flush failed");
        doveadm_exit_code = EX_TEMPFAIL;
    } else {
        doveadm_print_init("formatted");
        doveadm_print_formatted_set_format("%{entries} cache entries flushed\n");
        doveadm_print_header_simple("entries");
        doveadm_print_num(count);
    }
    auth_master_deinit(&conn);
}
コード例 #3
0
status_output(struct status_cmd_context *ctx, struct mailbox *box,
	      const struct mailbox_status *status,
	      const struct mailbox_metadata *metadata)
{
	if (box != NULL)
		doveadm_print(mailbox_get_vname(box));

	if ((ctx->status_items & STATUS_MESSAGES) != 0)
		doveadm_print_num(status->messages);
	if ((ctx->status_items & STATUS_RECENT) != 0)
		doveadm_print_num(status->recent);
	if ((ctx->status_items & STATUS_UIDNEXT) != 0)
		doveadm_print_num(status->uidnext);
	if ((ctx->status_items & STATUS_UIDVALIDITY) != 0)
		doveadm_print_num(status->uidvalidity);
	if ((ctx->status_items & STATUS_UNSEEN) != 0)
		doveadm_print_num(status->unseen);
	if ((ctx->status_items & STATUS_HIGHESTMODSEQ) != 0)
		doveadm_print_num(status->highest_modseq);
	if ((ctx->metadata_items & MAILBOX_METADATA_VIRTUAL_SIZE) != 0)
		doveadm_print_num(metadata->virtual_size);
	if ((ctx->metadata_items & MAILBOX_METADATA_GUID) != 0)
		doveadm_print(guid_128_to_string(metadata->guid));
}