37576a8642a6a1ce94355b1fd4e7e4ee4aee4645
[sfrench/samba-autobuild/.git] / source4 / lib / samba3 / samba3.c
1 /* 
2  *  Unix SMB/CIFS implementation.
3  *  Copyright (C) Jelmer Vernooij                       2005
4  *  
5  *  This program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2 of the License, or
8  *  (at your option) any later version.
9  *  
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *  
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program; if not, write to the Free Software
17  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19
20 #include "includes.h"
21 #include "lib/samba3/samba3.h"
22
23 struct samba3 *samba3_read(const char *libdir, TALLOC_CTX *ctx)
24 {
25         struct samba3 *ret;
26         char *dbfile;
27
28         ret = talloc(ctx, struct samba3);
29         
30         asprintf(&dbfile, "%s/winsdb.dat", libdir);
31         samba3_read_winsdb(dbfile, ret, &ret->winsdb_entries, &ret->winsdb_count);
32         SAFE_FREE(dbfile);
33
34         asprintf(&dbfile, "%s/passdb.tdb", libdir);
35         samba3_read_tdbsam(dbfile, ctx, &ret->samaccounts, &ret->samaccount_count);
36         SAFE_FREE(dbfile);
37
38         asprintf(&dbfile, "%s/groupdb.tdb", libdir);
39         samba3_read_grouptdb(dbfile, ctx, &ret->group);
40         SAFE_FREE(dbfile);
41
42         asprintf(&dbfile, "%s/idmap.tdb", libdir);
43         samba3_read_idmap(dbfile, ctx, &ret->idmap);
44         SAFE_FREE(dbfile);
45
46         asprintf(&dbfile, "%s/account_policy.tdb", libdir);
47         samba3_read_account_policy(dbfile, ctx, &ret->policy);
48         SAFE_FREE(dbfile);
49
50         return ret;
51 }