doveadm-quota.c revision de88de2e8c616af3cf6f5ab20035791a71ce7746
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainen/* Copyright (c) 2005-2010 Dovecot authors, see the included COPYING file */
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainenconst char *doveadm_quota_plugin_version = DOVECOT_VERSION;
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainenvoid doveadm_quota_plugin_init(struct module *module);
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainenstatic void cmd_quota_get_root(struct mail_user *user, struct quota_root *root)
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainen const char *const *res;
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainen printf("%s(%s): ", user->username, root->set->name);
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainen ret = quota_get_resource(root, "", *res, &value, &limit);
18792f1110ecd1fca5306f3be96fcbe887f6dbccTimo Sirainen (unsigned long long)value,
18792f1110ecd1fca5306f3be96fcbe887f6dbccTimo Sirainen (unsigned long long)limit);
de88de2e8c616af3cf6f5ab20035791a71ce7746Timo Sirainen } else if (ret == 0) {
de88de2e8c616af3cf6f5ab20035791a71ce7746Timo Sirainen (unsigned long long)value);
cf63dc8723b971cc80638fccbf494d961cbafc7fTimo Sirainencmd_quota_get_run(struct doveadm_mail_cmd_context *ctx ATTR_UNUSED,
bc85bdcdebb2224e45e6c2bbc288e9ce59f651d9Timo Sirainen struct quota_user *quser = QUOTA_USER_CONTEXT(user);
bc10373fc050eb9dd23f6ed5ee8207d0e4d142eeTimo Sirainen ctx = doveadm_mail_cmd_alloc(struct doveadm_mail_cmd_context);
cf63dc8723b971cc80638fccbf494d961cbafc7fTimo Sirainencmd_quota_recalc_run(struct doveadm_mail_cmd_context *ctx ATTR_UNUSED,
bc85bdcdebb2224e45e6c2bbc288e9ce59f651d9Timo Sirainen struct quota_user *quser = QUOTA_USER_CONTEXT(user);
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainen (void)(*root)->backend.v.update(*root, &trans);
bc10373fc050eb9dd23f6ed5ee8207d0e4d142eeTimo Sirainen ctx = doveadm_mail_cmd_alloc(struct doveadm_mail_cmd_context);
bc85bdcdebb2224e45e6c2bbc288e9ce59f651d9Timo Sirainenstatic struct doveadm_mail_cmd quota_commands[] = {
bc10373fc050eb9dd23f6ed5ee8207d0e4d142eeTimo Sirainen { cmd_quota_recalc_alloc, "quota recalc", NULL }
9563e6542b7a8a13b13a0ef62ec68b0383b99293Timo Sirainenvoid doveadm_quota_plugin_init(struct module *module ATTR_UNUSED)
bc85bdcdebb2224e45e6c2bbc288e9ce59f651d9Timo Sirainen unsigned int i;
bc85bdcdebb2224e45e6c2bbc288e9ce59f651d9Timo Sirainen for (i = 0; i < N_ELEMENTS(quota_commands); i++)