s4:kdc: strictly have 2 16-bit parts in krbtgt kvnos
[Samba.git] / source3 / libsmb / samlogon_cache.h
blob29e0cea6c24627ebd8fcee2b489d40afd85afdfd
1 /*
2 * Unix SMB/CIFS implementation.
3 * Net_sam_logon info3 helpers
4 * Copyright (C) Alexander Bokovoy 2002.
5 * Copyright (C) Andrew Bartlett 2002.
6 * Copyright (C) Gerald Carter 2003.
7 * Copyright (C) Tim Potter 2003.
8 * Copyright (C) Guenther Deschner 2008.
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 3 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #ifndef __LIBSMB_SAMLOGON_CACHE_H__
25 #define __LIBSMB_SAMLOGON_CACHE_H__
27 #include "replace.h"
28 #include <talloc.h>
30 struct dom_sid;
31 struct netr_SamInfo3;
33 bool netsamlogon_cache_init(void);
34 void netsamlogon_clear_cached_user(const struct dom_sid *user_sid);
35 bool netsamlogon_cache_store(const char *username,
36 struct netr_SamInfo3 *info3);
37 struct netr_SamInfo3 *netsamlogon_cache_get(TALLOC_CTX *mem_ctx,
38 const struct dom_sid *user_sid);
39 bool netsamlogon_cache_have(const struct dom_sid *sid);
40 int netsamlog_cache_for_all(int (*cb)(const char *sid_str,
41 time_t when_cached,
42 struct netr_SamInfo3 *,
43 void *private_data),
44 void *private_data);
46 #endif