libsss_sudo  1.8.5
sss_sudo.h
1 /*
2  Authors:
3  Pavel Březina <pbrezina@redhat.com>
4 
5  Copyright (C) 2011 Red Hat
6 
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 #ifndef SSS_SUDO_H_
22 #define SSS_SUDO_H_
23 
32 #include <stdint.h>
33 
35 #ifndef EOK
36 #define EOK 0
37 #endif
38 
42 #define SSS_SUDO_ERROR_OK 0
43 
49 struct sss_sudo_attr {
51  char *name;
53  char **values;
54 
59  unsigned int num_values;
60 };
61 
66 struct sss_sudo_rule {
68  unsigned int num_attrs;
69 
72 };
73 
87  unsigned int num_rules;
88 
91 };
92 
117 int sss_sudo_send_recv(const char *username,
118  uint32_t *_error,
119  struct sss_sudo_result **_result);
120 
141 int sss_sudo_send_recv_defaults(uint32_t *_error,
142  struct sss_sudo_result **_result);
143 
150 void sss_sudo_free_result(struct sss_sudo_result *result);
151 
168 int sss_sudo_get_values(struct sss_sudo_rule *e,
169  const char *attrname,
170  char ***values);
171 
178 void sss_sudo_free_values(char **values);
179 
183 #endif /* SSS_SUDO_H_ */