sssctl.h revision 552390afcc81af96ca201fa6c25ddefbbecbeb4e
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina/*
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina Authors:
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina Pavel Březina <pbrezina@redhat.com>
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina Copyright (C) 2016 Red Hat
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina This program is free software; you can redistribute it and/or modify
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina it under the terms of the GNU General Public License as published by
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina the Free Software Foundation; either version 3 of the License, or
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina (at your option) any later version.
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina This program is distributed in the hope that it will be useful,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina but WITHOUT ANY WARRANTY; without even the implied warranty of
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina GNU General Public License for more details.
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina You should have received a copy of the GNU General Public License
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina along with this program. If not, see <http://www.gnu.org/licenses/>.
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina*/
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina#ifndef _SSSCTL_H_
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina#define _SSSCTL_H_
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina#include "lib/sifp/sss_sifp.h"
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina#include "lib/sifp/sss_sifp_dbus.h"
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina#include "tools/common/sss_tools.h"
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaenum sssctl_prompt_result {
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina SSSCTL_PROMPT_YES,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina SSSCTL_PROMPT_NO,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina SSSCTL_PROMPT_ERROR
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina};
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaenum sssctl_svc_action {
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina SSSCTL_SVC_START,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina SSSCTL_SVC_STOP,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina SSSCTL_SVC_RESTART
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina};
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaenum sssctl_prompt_result
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinasssctl_prompt(const char *message,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina enum sssctl_prompt_result defval);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_run_command(const char *command);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinabool sssctl_start_sssd(bool force);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinabool sssctl_stop_sssd(bool force);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinabool sssctl_restart_sssd(bool force);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinasss_sifp_error sssctl_sifp_init(struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina sss_sifp_ctx **_sifp);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinavoid _sssctl_sifp_error(sss_sifp_ctx *sifp,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina sss_sifp_error error,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina const char *message);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina#define sssctl_sifp_error(sifp, error, message) \
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina _sssctl_sifp_error(sifp, error, _(message))
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_list_domains(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_domain_status(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_backup_local_data(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_restore_local_data(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_remove_cache(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
552390afcc81af96ca201fa6c25ddefbbecbeb4eJakub Hrozekerrno_t sssctl_upgrade_cache(struct sss_cmdline *cmdline,
552390afcc81af96ca201fa6c25ddefbbecbeb4eJakub Hrozek struct sss_tool_ctx *tool_ctx,
552390afcc81af96ca201fa6c25ddefbbecbeb4eJakub Hrozek void *pvt);
552390afcc81af96ca201fa6c25ddefbbecbeb4eJakub Hrozek
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_remove_logs(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_fetch_logs(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_user(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_group(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březinaerrno_t sssctl_netgroup(struct sss_cmdline *cmdline,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina struct sss_tool_ctx *tool_ctx,
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina void *pvt);
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina
e157b9f6cb370e1b94bcac2044d26ad66d640fbaPavel Březina#endif /* _SSSCTL_H_ */