s3: in sys_popen(), validate input before opening the pipe.
[kai/samba.git] / source3 / lib / idmap_cache.h
1 /*
2  * Unix SMB/CIFS implementation.
3  * ID Mapping Cache
4  *
5  * Copyright (C) Volker Lendecke        2008
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 _LIB_IDMAP_CACHE_H_
22 #define _LIB_IDMAP_CACHE_H_
23
24 /* The following definitions come from lib/idmap_cache.c  */
25 struct unixid;
26 bool idmap_cache_find_sid2unixid(const struct dom_sid *sid, struct unixid *id,
27                                   bool *expired);
28 bool idmap_cache_find_sid2uid(const struct dom_sid *sid, uid_t *puid,
29                               bool *expired);
30 bool idmap_cache_find_sid2gid(const struct dom_sid *sid, gid_t *pgid,
31                               bool *expired);
32 bool idmap_cache_find_uid2sid(uid_t uid, struct dom_sid *sid, bool *expired);
33 bool idmap_cache_find_gid2sid(gid_t gid, struct dom_sid *sid, bool *expired);
34 void idmap_cache_set_sid2unixid(const struct dom_sid *sid, struct unixid *unix_id);
35 void idmap_cache_set_sid2uid(const struct dom_sid *sid, uid_t uid);
36 void idmap_cache_set_sid2gid(const struct dom_sid *sid, gid_t gid);
37
38 bool idmap_cache_del_uid(uid_t uid);
39 bool idmap_cache_del_gid(gid_t gid);
40 bool idmap_cache_del_both(uid_t uid);
41 bool idmap_cache_del_sid(const struct dom_sid *sid);
42
43 #endif /* _LIB_IDMAP_CACHE_H_ */