WHATSNEW: Add release notes for Samba 4.0.7.
[Samba.git] / source3 / lib / idmap_cache.h
blob088526635e6716bd93fd0fb5cd83fccc72b82d9a
1 /*
2 * Unix SMB/CIFS implementation.
3 * ID Mapping Cache
5 * Copyright (C) Volker Lendecke 2008
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.
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.
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/>.
21 #ifndef _LIB_IDMAP_CACHE_H_
22 #define _LIB_IDMAP_CACHE_H_
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);
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);
43 #endif /* _LIB_IDMAP_CACHE_H_ */