From de744cb970f5e3afb174a2d923d4e7d11b266173 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 1 Dec 2001 12:31:43 +0000 Subject: The beginnings of alternative backends for winbindd This just splits off the dispinfo call behind a methods structure. I'll split off a few more functions soon, then we will be ready for LDAP replacement methods (This used to be commit 0216b0fca115c903ec31ed21427a83c62077dc95) --- source3/nsswitch/winbindd.h | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'source3/nsswitch/winbindd.h') diff --git a/source3/nsswitch/winbindd.h b/source3/nsswitch/winbindd.h index 1380d5cc88..c4a7c82bc6 100644 --- a/source3/nsswitch/winbindd.h +++ b/source3/nsswitch/winbindd.h @@ -77,11 +77,33 @@ struct winbindd_state { extern struct winbindd_state server_state; /* Server information */ -/* Structures to hold per domain information */ +typedef struct { + char *acct_name; + char *full_name; + uint32 user_rid; + uint32 group_rid; /* primary group */ +} WINBIND_DISPINFO; + +/* per-domain methods. This is how LDAP vs RPC is selected + This will eventually be the sole entry point to all the methods, + I'm just starting small + */ +struct winbindd_methods { + NTSTATUS (*query_dispinfo)(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + uint32 *start_ndx, uint32 *num_entries, + WINBIND_DISPINFO **info); + +}; + +/* Structures to hold per domain information */ struct winbindd_domain { fstring name; /* Domain name */ DOM_SID sid; /* SID for this domain */ + struct winbindd_methods *methods; /* lookup methods for + this domain (LDAP or + RPC) */ struct winbindd_domain *prev, *next; /* Linked list info */ }; -- cgit