util:datablob: data_blob_pad checks its alignment assumption
[samba.git] / source3 / winbindd / winbindd_locator.c
blob277a68bbbd8fca8456fdb754419806094da78ef5
1 /*
2 Unix SMB/CIFS implementation.
4 Winbind daemon - miscellaneous other functions
6 Copyright (C) Tim Potter 2000
7 Copyright (C) Andrew Bartlett 2002
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #include "includes.h"
24 #include "winbindd.h"
26 #undef DBGC_CLASS
27 #define DBGC_CLASS DBGC_WINBIND
30 static struct winbindd_child *static_locator_child = NULL;
32 struct winbindd_child *locator_child(void)
34 return static_locator_child;
37 bool is_locator_child(const struct winbindd_child *child)
39 if (child == static_locator_child) {
40 return true;
43 return false;
46 struct dcerpc_binding_handle *locator_child_handle(void)
48 return static_locator_child->binding_handle;
51 NTSTATUS init_locator_child(TALLOC_CTX *mem_ctx)
53 if (static_locator_child != NULL) {
54 DBG_ERR("locator child already allocated\n");
55 return NT_STATUS_INTERNAL_ERROR;
58 static_locator_child = talloc_zero(mem_ctx, struct winbindd_child);
59 if (static_locator_child == NULL) {
60 return NT_STATUS_NO_MEMORY;
63 setup_child(NULL, static_locator_child, "log.winbindd", "locator");
64 return NT_STATUS_OK;