summaryrefslogtreecommitdiffstats
path: root/src/sss_client/sudo/sss_sudo.h
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2011-12-02 12:10:27 +0100
committerStephen Gallagher <sgallagh@redhat.com>2011-12-16 14:46:18 -0500
commit6f701a4dc295ddc997ba5190a3cd72d948d799dc (patch)
tree56e008eeab0c1e13648cf14765174771ac126db8 /src/sss_client/sudo/sss_sudo.h
parent20e310e32a47e861ce0c11bcd1dcf89dc78d8aba (diff)
downloadsssd-6f701a4dc295ddc997ba5190a3cd72d948d799dc.tar.gz
sssd-6f701a4dc295ddc997ba5190a3cd72d948d799dc.tar.xz
sssd-6f701a4dc295ddc997ba5190a3cd72d948d799dc.zip
SUDO Integration - API for sudo
Diffstat (limited to 'src/sss_client/sudo/sss_sudo.h')
-rw-r--r--src/sss_client/sudo/sss_sudo.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/sss_client/sudo/sss_sudo.h b/src/sss_client/sudo/sss_sudo.h
new file mode 100644
index 000000000..04e19db24
--- /dev/null
+++ b/src/sss_client/sudo/sss_sudo.h
@@ -0,0 +1,60 @@
+/*
+ Authors:
+ Pavel Březina <pbrezina@redhat.com>
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef SSS_SUDO_H_
+#define SSS_SUDO_H_
+
+#include <stdint.h>
+
+#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_ */