2 Unix SMB/CIFS implementation.
3 SAM_DOMAIN access routines
4 Copyright (C) Andrew Bartlett 2002
5 Copyright (C) Stefan (metze) Metzmacher 2002
6 Copyright (C) Jelmer Vernooij 2002
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 #define DBGC_CLASS DBGC_SAM
28 NTSTATUS sam_get_domain_sid(SAM_DOMAIN_HANDLE *domain, const DOM_SID **sid)
30 SAM_ASSERT(domain &&sid);
32 *sid = &(domain->private.sid);
37 NTSTATUS sam_get_domain_num_accounts(SAM_DOMAIN_HANDLE *domain, uint32 *num_accounts)
39 SAM_ASSERT(domain &&num_accounts);
41 *num_accounts = domain->private.num_accounts;
46 NTSTATUS sam_get_domain_num_groups(SAM_DOMAIN_HANDLE *domain, uint32 *num_groups)
48 SAM_ASSERT(domain &&num_groups);
50 *num_groups = domain->private.num_groups;
55 NTSTATUS sam_get_domain_num_aliases(SAM_DOMAIN_HANDLE *domain, uint32 *num_aliases)
57 SAM_ASSERT(domain &&num_aliases);
59 *num_aliases = domain->private.num_aliases;
64 NTSTATUS sam_get_domain_name(SAM_DOMAIN_HANDLE *domain, const char **domain_name)
66 SAM_ASSERT(domain &&domain_name);
68 *domain_name = domain->private.name;
73 NTSTATUS sam_get_domain_server(SAM_DOMAIN_HANDLE *domain, const char **server_name)
75 SAM_ASSERT(domain &&server_name);
77 *server_name = domain->private.servername;
82 NTSTATUS sam_get_domain_max_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME *max_passwordage)
84 SAM_ASSERT(domain &&max_passwordage);
86 *max_passwordage = domain->private.max_passwordage;
91 NTSTATUS sam_get_domain_min_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME *min_passwordage)
93 SAM_ASSERT(domain &&min_passwordage);
95 *min_passwordage = domain->private.min_passwordage;
100 NTSTATUS sam_get_domain_lockout_duration(SAM_DOMAIN_HANDLE *domain, NTTIME *lockout_duration)
102 SAM_ASSERT(domain &&lockout_duration);
104 *lockout_duration = domain->private.lockout_duration;
109 NTSTATUS sam_get_domain_reset_count(SAM_DOMAIN_HANDLE *domain, NTTIME *reset_lockout_count)
111 SAM_ASSERT(domain &&reset_lockout_count);
113 *reset_lockout_count = domain->private.reset_count;
118 NTSTATUS sam_get_domain_min_pwdlength(SAM_DOMAIN_HANDLE *domain, uint16 *min_passwordlength)
120 SAM_ASSERT(domain &&min_passwordlength);
122 *min_passwordlength = domain->private.min_passwordlength;
127 NTSTATUS sam_get_domain_pwd_history(SAM_DOMAIN_HANDLE *domain, uint16 *password_history)
129 SAM_ASSERT(domain &&password_history);
131 *password_history = domain->private.password_history;
136 NTSTATUS sam_get_domain_lockout_count(SAM_DOMAIN_HANDLE *domain, uint16 *lockout_count)
138 SAM_ASSERT(domain &&lockout_count);
140 *lockout_count = domain->private.lockout_count;
145 NTSTATUS sam_get_domain_force_logoff(SAM_DOMAIN_HANDLE *domain, BOOL *force_logoff)
147 SAM_ASSERT(domain &&force_logoff);
149 *force_logoff = domain->private.force_logoff;
155 NTSTATUS sam_get_domain_login_pwdchange(SAM_DOMAIN_HANDLE *domain, BOOL *login_pwdchange)
157 SAM_ASSERT(domain && login_pwdchange);
159 *login_pwdchange = domain->private.login_pwdchange;
166 NTSTATUS sam_set_domain_name(SAM_DOMAIN_HANDLE *domain, const char *domain_name)
170 domain->private.name = talloc_strdup(domain->mem_ctx, domain_name);
176 NTSTATUS sam_set_domain_max_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME max_passwordage)
180 domain->private.max_passwordage = max_passwordage;
185 NTSTATUS sam_set_domain_min_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME min_passwordage)
189 domain->private.min_passwordage = min_passwordage;
194 NTSTATUS sam_set_domain_lockout_duration(SAM_DOMAIN_HANDLE *domain, NTTIME lockout_duration)
198 domain->private.lockout_duration = lockout_duration;
202 NTSTATUS sam_set_domain_reset_count(SAM_DOMAIN_HANDLE *domain, NTTIME reset_lockout_count)
206 domain->private.reset_count = reset_lockout_count;
211 NTSTATUS sam_set_domain_min_pwdlength(SAM_DOMAIN_HANDLE *domain, uint16 min_passwordlength)
215 domain->private.min_passwordlength = min_passwordlength;
220 NTSTATUS sam_set_domain_pwd_history(SAM_DOMAIN_HANDLE *domain, uint16 password_history)
224 domain->private.password_history = password_history;
229 NTSTATUS sam_set_domain_lockout_count(SAM_DOMAIN_HANDLE *domain, uint16 lockout_count)
233 domain->private.lockout_count = lockout_count;
238 NTSTATUS sam_set_domain_force_logoff(SAM_DOMAIN_HANDLE *domain, BOOL force_logoff)
242 domain->private.force_logoff = force_logoff;
247 NTSTATUS sam_set_domain_login_pwdchange(SAM_DOMAIN_HANDLE *domain, BOOL login_pwdchange)
251 domain->private.login_pwdchange = login_pwdchange;
256 NTSTATUS sam_set_domain_server(SAM_DOMAIN_HANDLE *domain, const char *server_name)
260 domain->private.servername = talloc_strdup(domain->mem_ctx, server_name);