lib: modules: Change XXX_init interface from XXX_init(void) to XXX_init(TALLOC_CTX *)
[sfrench/samba-autobuild/.git] / source3 / winbindd / nss_info_template.c
1 /* 
2    Unix SMB/CIFS implementation.
3    idMap nss template plugin
4
5    Copyright (C) Gerald Carter             2006
6
7    This library is free software; you can redistribute it and/or
8    modify it under the terms of the GNU Lesser General Public
9    License as published by the Free Software Foundation; either
10    version 3 of the License, or (at your option) any later version.
11
12    This library 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 GNU
15    Library General Public License for more details.
16
17    You should have received a copy of the GNU Lesser General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #include "includes.h"
22 #include "ads.h"
23 #include "nss_info.h"
24
25 /************************************************************************
26  ***********************************************************************/
27
28 static NTSTATUS nss_template_init( struct nss_domain_entry *e )
29 {
30         return NT_STATUS_OK;
31 }
32
33 /**********************************************************************
34  *********************************************************************/
35
36 static NTSTATUS nss_template_map_to_alias( TALLOC_CTX *mem_ctx,
37                                            struct nss_domain_entry *e,
38                                            const char *name,
39                                            char **alias )
40 {
41         return NT_STATUS_NOT_IMPLEMENTED;
42 }
43
44 /**********************************************************************
45  *********************************************************************/
46
47 static NTSTATUS nss_template_map_from_alias( TALLOC_CTX *mem_ctx,
48                                              struct nss_domain_entry *e,
49                                              const char *alias,
50                                              char **name )
51 {
52         return NT_STATUS_NOT_IMPLEMENTED;
53 }
54
55 /************************************************************************
56  ***********************************************************************/
57
58 static NTSTATUS nss_template_close( void )
59 {
60         return NT_STATUS_OK;
61 }
62
63
64 /************************************************************************
65  ***********************************************************************/
66
67 static struct nss_info_methods nss_template_methods = {
68         .init           = nss_template_init,
69         .map_to_alias   = nss_template_map_to_alias,
70         .map_from_alias = nss_template_map_from_alias,
71         .close_fn       = nss_template_close
72 };
73
74 NTSTATUS nss_info_template_init(TALLOC_CTX *mem_ctx)
75 {
76         return smb_register_idmap_nss(SMB_NSS_INFO_INTERFACE_VERSION, 
77                                       "template", 
78                                       &nss_template_methods);   
79 }
80