smbd: Fix bug 9544, part 1
[Samba/gbeck.git] / source3 / lib / id_cache.h
blob53731b55f5fe14401ae7ecc70d6ce191d75e2f05
1 /*
2 * Samba Unix/Linux SMB client library
4 * Copyright (C) Gregor Beck 2011
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.
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.
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/>.
20 struct id_cache_ref {
21 union {
22 uid_t uid;
23 gid_t gid;
24 struct dom_sid sid;
25 const char *name;
26 } id;
27 enum {UID, GID, SID, USERNAME} type;
30 bool id_cache_ref_parse(const char* str, struct id_cache_ref* id);
32 void id_cache_delete_from_cache(const struct id_cache_ref* id);
34 void id_cache_register_msgs(struct messaging_context *ctx);
36 void id_cache_delete_message(struct messaging_context *msg_ctx,
37 void *private_data,
38 uint32_t msg_type,
39 struct server_id server_id,
40 DATA_BLOB* data);
42 void id_cache_flush_message(struct messaging_context *msg_ctx,
43 void* private_data,
44 uint32_t msg_type,
45 struct server_id server_id,
46 DATA_BLOB* data);