From 6f701a4dc295ddc997ba5190a3cd72d948d799dc Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Fri, 2 Dec 2011 12:10:27 +0100 Subject: SUDO Integration - API for sudo --- src/sss_client/sudo/sss_sudo.h | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/sss_client/sudo/sss_sudo.h (limited to 'src/sss_client/sudo/sss_sudo.h') diff --git a/src/sss_client/sudo/sss_sudo.h b/src/sss_client/sudo/sss_sudo.h new file mode 100644 index 00000000..04e19db2 --- /dev/null +++ b/src/sss_client/sudo/sss_sudo.h @@ -0,0 +1,60 @@ +/* + Authors: + Pavel Březina + + Copyright (C) 2011 Red Hat + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef SSS_SUDO_H_ +#define SSS_SUDO_H_ + +#include + +#ifndef EOK +#define EOK 0 +#endif + +#define SSS_SUDO_ERROR_OK 0 + +struct sss_attr { + char *name; + char **values; + unsigned int num_values; +}; + +struct sss_rule { + unsigned int num_attrs; + struct sss_attr *attrs; +}; + +struct sss_result { + unsigned int num_rules; + struct sss_rule *rules; +}; + +int sss_sudo_get_result(const char *username, + uint32_t *_error, + struct sss_result **_result); + +void sss_sudo_free_result(struct sss_result *result); + +int sss_sudo_get_values(struct sss_rule *e, + const char *attrname, + char ***values); + +void sss_sudo_free_values(char **values); + +#endif /* SSS_SUDO_H_ */ -- cgit