#ifndef _WINBINDD_PROTO_H_
#define _WINBINDD_PROTO_H_
/* This file is automatically generated with "make winbindd_proto". DO NOT EDIT */

/* The following definitions come from nsswitch/winbindd.c  */

int main __P((int argc, char **argv));

/* The following definitions come from nsswitch/winbindd_cache.c  */

void wcache_flush_cache __P((void));
void winbindd_check_cache_size __P((time_t t));
struct cache_entry *centry_start __P((struct winbindd_domain *domain, NTSTATUS status));

/* The following definitions come from nsswitch/winbindd_cm.c  */

NTSTATUS cm_get_lsa_handle __P((char *domain, CLI_POLICY_HND **return_hnd));
NTSTATUS cm_get_sam_handle __P((char *domain, CLI_POLICY_HND **return_hnd));
CLI_POLICY_HND *cm_get_sam_dom_handle __P((char *domain, DOM_SID *domain_sid));
CLI_POLICY_HND *cm_get_sam_user_handle __P((char *domain, DOM_SID *domain_sid,
				       uint32 user_rid));
CLI_POLICY_HND *cm_get_sam_group_handle __P((char *domain, DOM_SID *domain_sid,
					uint32 group_rid));
NTSTATUS cm_get_netlogon_cli __P((char *domain, unsigned char *trust_passwd,
			     struct cli_state **cli));
void winbindd_cm_status __P((void));
void winbindd_cm_flush __P((void));

/* The following definitions come from nsswitch/winbindd_group.c  */

enum winbindd_result winbindd_getgrnam __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_getgrgid __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_setgrent __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_endgrent __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_getgrent __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_list_groups __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_getgroups __P((struct winbindd_cli_state *state));

/* The following definitions come from nsswitch/winbindd_idmap.c  */

BOOL winbindd_idmap_get_uid_from_sid __P((DOM_SID *sid, uid_t *uid));
BOOL winbindd_idmap_get_gid_from_sid __P((DOM_SID *sid, gid_t *gid));
BOOL winbindd_idmap_get_uid_from_rid __P((const char *dom_name, uint32 rid, uid_t *uid));
BOOL winbindd_idmap_get_gid_from_rid __P((const char *dom_name, uint32 rid, gid_t *gid));
BOOL get_sid_from_id __P((int id, DOM_SID *sid, BOOL isgroup));
BOOL winbindd_idmap_get_sid_from_uid __P((uid_t uid, DOM_SID *sid));
BOOL winbindd_idmap_get_sid_from_gid __P((gid_t gid, DOM_SID *sid));
BOOL winbindd_idmap_get_rid_from_uid __P((uid_t uid, uint32 *user_rid,
                                     struct winbindd_domain **domain));
BOOL winbindd_idmap_get_rid_from_gid __P((gid_t gid, uint32 *group_rid, 
                                     struct winbindd_domain **domain));
BOOL winbindd_idmap_init __P((void));
BOOL winbindd_idmap_close __P((void));
void winbindd_idmap_status __P((void));

/* The following definitions come from nsswitch/winbindd_misc.c  */

enum winbindd_result winbindd_check_machine_acct __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_list_trusted_domains __P((struct winbindd_cli_state
						   *state));
enum winbindd_result winbindd_show_sequence __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_ping __P((struct winbindd_cli_state
						   *state));
enum winbindd_result winbindd_info __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_interface_version __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_domain_name __P((struct winbindd_cli_state *state));

/* The following definitions come from nsswitch/winbindd_pam.c  */

enum winbindd_result winbindd_pam_auth __P((struct winbindd_cli_state *state) );
enum winbindd_result winbindd_pam_auth_crap __P((struct winbindd_cli_state *state) );
enum winbindd_result winbindd_pam_chauthtok __P((struct winbindd_cli_state *state));

/* The following definitions come from nsswitch/winbindd_rpc.c  */

int get_ldap_seq __P((const char *server, uint32 *seq));

/* The following definitions come from nsswitch/winbindd_sid.c  */

enum winbindd_result winbindd_lookupsid __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_lookupname __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_sid_to_uid __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_sid_to_gid __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_uid_to_sid __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_gid_to_sid __P((struct winbindd_cli_state *state));

/* The following definitions come from nsswitch/winbindd_user.c  */

enum winbindd_result winbindd_getpwnam __P((struct winbindd_cli_state *state) );
enum winbindd_result winbindd_getpwuid __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_setpwent __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_endpwent __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_getpwent __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_list_users __P((struct winbindd_cli_state *state));

/* The following definitions come from nsswitch/winbindd_util.c  */

struct winbindd_domain *domain_list __P((void));
void free_domain_list __P((void));
BOOL init_domain_list __P((void));
struct winbindd_domain *find_domain_from_name __P((const char *domain_name));
struct winbindd_domain *find_domain_from_sid __P((DOM_SID *sid));
BOOL winbindd_lookup_sid_by_name __P((struct winbindd_domain *domain, 
				 const char *name, DOM_SID *sid, 
				 enum SID_NAME_USE *type));
BOOL winbindd_lookup_name_by_sid __P((DOM_SID *sid,
				 fstring dom_name,
				 fstring name,
				 enum SID_NAME_USE *type));
void free_getent_state __P((struct getent_state *state));
BOOL winbindd_param_init __P((void));
BOOL check_domain_env __P((char *domain_env, char *domain));
BOOL parse_domain_user __P((const char *domuser, fstring domain, fstring user));
void fill_domain_username __P((fstring name, const char *domain, const char *user));

/* The following definitions come from nsswitch/winbindd_wins.c  */

enum winbindd_result winbindd_wins_byip __P((struct winbindd_cli_state *state));
enum winbindd_result winbindd_wins_byname __P((struct winbindd_cli_state *state));
#endif /* _WINBINDD_PROTO_H_ */
