pyldb: avoid segfault when adding an element with no name
[nivanova/samba-autobuild/.git] / lib / util / setid.h
1 /*
2    Unix SMB/CIFS implementation.
3    setXXid() functions for Samba.
4    Copyright (C) Jeremy Allison 2012
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef _SETID_H
21 #define _SETID_H
22
23 /*
24  * NB. We don't wrap initgroups although on some systems
25  * this can call setgroups. On systems with thread-specific
26  * credentials (Linux so far) we know they have getgrouplist()
27  * which doesn't make a system call.
28  */
29
30 /* All the setXX[ug]id functions and setgroups Samba uses. */
31 int samba_setresuid(uid_t ruid, uid_t euid, uid_t suid);
32 int samba_setresgid(gid_t rgid, gid_t egid, gid_t sgid);
33 int samba_setreuid(uid_t ruid, uid_t euid);
34 int samba_setregid(gid_t rgid, gid_t egid);
35 int samba_seteuid(uid_t euid);
36 int samba_setegid(gid_t egid);
37 int samba_setuid(uid_t uid);
38 int samba_setgid(gid_t gid);
39 int samba_setuidx(int flags, uid_t uid);
40 int samba_setgidx(int flags, gid_t gid);
41 int samba_setgroups(size_t setlen, const gid_t *gidset);
42
43 #endif