+ talloc_free(dbfile);
+
+ dbfile = talloc_asprintf(ctx, "%s/secrets.tdb", libdir);
+ samba3_read_secrets(dbfile, ctx, &ret->secrets);
+ talloc_free(dbfile);
+
+ dbfile = talloc_asprintf(ctx, "%s/share_info.tdb", libdir);
+ samba3_read_share_info(dbfile, ctx, ret);
+ talloc_free(dbfile);
+
+ dbfile = talloc_asprintf(ctx, "%s/winbindd_idmap.tdb", libdir);
+ samba3_read_idmap(dbfile, ctx, &ret->idmap);
+ talloc_free(dbfile);
+
+ dbfile = talloc_asprintf(ctx, "%s/wins.dat", libdir);
+ samba3_read_winsdb(dbfile, ret, &ret->winsdb_entries, &ret->winsdb_count);
+ talloc_free(dbfile);
+
+ dbfile = talloc_asprintf(ctx, "%s/passdb.tdb", libdir);
+ samba3_read_tdbsam(dbfile, ctx, &ret->samaccounts, &ret->samaccount_count);
+ talloc_free(dbfile);
+
+ dbfile = talloc_asprintf(ctx, "%s/group_mapping.tdb", libdir);
+ samba3_read_grouptdb(dbfile, ctx, &ret->group);
+ talloc_free(dbfile);
+
+ *samba3 = ret;