1 #ifndef _WINBINDD_PROTO_H_
2 #define _WINBINDD_PROTO_H_
3 /* This file is automatically generated with "make proto". DO NOT EDIT */
6 /*The following definitions come from nsswitch/winbindd.c */
8 int main(int argc
, char **argv
);
10 /*The following definitions come from nsswitch/winbindd_cache.c */
12 void winbindd_cache_init(void);
13 void winbindd_store_user_cache(struct winbindd_domain
*domain
,
14 struct getpwent_user
*sam_entries
,
16 void winbindd_store_group_cache(struct winbindd_domain
*domain
,
17 struct acct_info
*sam_entries
,
19 void winbindd_store_name_cache_entry(struct winbindd_domain
*domain
,
20 char *sid
, struct winbindd_name
*name
);
21 void winbindd_store_sid_cache_entry(struct winbindd_domain
*domain
,
22 char *name
, struct winbindd_sid
*sid
);
23 void winbindd_store_user_cache_entry(struct winbindd_domain
*domain
,
24 char *user_name
, struct winbindd_pw
*pw
);
25 void winbindd_store_uid_cache_entry(struct winbindd_domain
*domain
, uid_t uid
,
26 struct winbindd_pw
*pw
);
27 void winbindd_store_group_cache_entry(struct winbindd_domain
*domain
,
28 char *group_name
, struct winbindd_gr
*gr
,
29 void *extra_data
, int extra_data_len
);
30 void winbindd_store_gid_cache_entry(struct winbindd_domain
*domain
, gid_t gid
,
31 struct winbindd_gr
*gr
, void *extra_data
,
33 BOOL
winbindd_fetch_user_cache(struct winbindd_domain
*domain
,
34 struct getpwent_user
**sam_entries
,
36 BOOL
winbindd_fetch_group_cache(struct winbindd_domain
*domain
,
37 struct acct_info
**sam_entries
,
39 BOOL
winbindd_fetch_sid_cache_entry(struct winbindd_domain
*domain
,
40 char *name
, struct winbindd_sid
*sid
);
41 BOOL
winbindd_fetch_name_cache_entry(struct winbindd_domain
*domain
,
42 char *sid
, struct winbindd_name
*name
);
43 BOOL
winbindd_fetch_user_cache_entry(struct winbindd_domain
*domain
,
44 char *user
, struct winbindd_pw
*pw
);
45 BOOL
winbindd_fetch_uid_cache_entry(struct winbindd_domain
*domain
, uid_t uid
,
46 struct winbindd_pw
*pw
);
47 BOOL
winbindd_fetch_group_cache_entry(struct winbindd_domain
*domain
,
48 char *group
, struct winbindd_gr
*gr
,
49 void **extra_data
, int *extra_data_len
);
50 BOOL
winbindd_fetch_gid_cache_entry(struct winbindd_domain
*domain
, gid_t gid
,
51 struct winbindd_gr
*gr
,
52 void **extra_data
, int *extra_data_len
);
53 void winbindd_flush_cache(void);
54 void winbindd_cache_status(void);
56 /*The following definitions come from nsswitch/winbindd_cm.c */
58 void cm_init_creds(struct ntuser_creds
*creds
);
59 CLI_POLICY_HND
*cm_get_lsa_handle(char *domain
);
60 CLI_POLICY_HND
*cm_get_sam_handle(char *domain
);
61 CLI_POLICY_HND
*cm_get_sam_dom_handle(char *domain
, DOM_SID
*domain_sid
);
62 CLI_POLICY_HND
*cm_get_sam_user_handle(char *domain
, DOM_SID
*domain_sid
,
64 CLI_POLICY_HND
*cm_get_sam_group_handle(char *domain
, DOM_SID
*domain_sid
,
66 NTSTATUS
cm_get_netlogon_cli(char *domain
, unsigned char *trust_passwd
,
67 struct cli_state
**cli
);
68 void winbindd_cm_status(void);
70 /*The following definitions come from nsswitch/winbindd_group.c */
72 enum winbindd_result
winbindd_getgrnam_from_group(struct winbindd_cli_state
*state
);
73 enum winbindd_result
winbindd_getgrnam_from_gid(struct winbindd_cli_state
75 enum winbindd_result
winbindd_setgrent(struct winbindd_cli_state
*state
);
76 enum winbindd_result
winbindd_endgrent(struct winbindd_cli_state
*state
);
77 enum winbindd_result
winbindd_getgrent(struct winbindd_cli_state
*state
);
78 enum winbindd_result
winbindd_list_groups(struct winbindd_cli_state
*state
);
79 enum winbindd_result
winbindd_getgroups(struct winbindd_cli_state
*state
);
81 /*The following definitions come from nsswitch/winbindd_idmap.c */
83 BOOL
winbindd_idmap_get_uid_from_rid(char *domain_name
, uint32 user_rid
,
85 BOOL
winbindd_idmap_get_gid_from_rid(char *domain_name
, uint32 group_rid
,
87 BOOL
get_rid_from_id(int id
, uint32
*rid
, struct winbindd_domain
**domain
,
89 BOOL
winbindd_idmap_get_rid_from_uid(uid_t uid
, uint32
*user_rid
,
90 struct winbindd_domain
**domain
);
91 BOOL
winbindd_idmap_get_rid_from_gid(gid_t gid
, uint32
*group_rid
,
92 struct winbindd_domain
**domain
);
93 BOOL
winbindd_idmap_init(void);
94 BOOL
winbindd_idmap_close(void);
95 void winbindd_idmap_status(void);
97 /*The following definitions come from nsswitch/winbindd_misc.c */
99 enum winbindd_result
winbindd_check_machine_acct(struct winbindd_cli_state
*state
);
100 enum winbindd_result
winbindd_list_trusted_domains(struct winbindd_cli_state
103 /*The following definitions come from nsswitch/winbindd_pam.c */
105 enum winbindd_result
winbindd_pam_auth(struct winbindd_cli_state
*state
) ;
106 enum winbindd_result
winbindd_pam_auth_crap(struct winbindd_cli_state
*state
) ;
107 enum winbindd_result
winbindd_pam_chauthtok(struct winbindd_cli_state
*state
);
109 /*The following definitions come from nsswitch/winbindd_sid.c */
111 enum winbindd_result
winbindd_lookupsid(struct winbindd_cli_state
*state
);
112 enum winbindd_result
winbindd_lookupname(struct winbindd_cli_state
*state
);
113 enum winbindd_result
winbindd_sid_to_uid(struct winbindd_cli_state
*state
);
114 enum winbindd_result
winbindd_sid_to_gid(struct winbindd_cli_state
*state
);
115 enum winbindd_result
winbindd_uid_to_sid(struct winbindd_cli_state
*state
);
116 enum winbindd_result
winbindd_gid_to_sid(struct winbindd_cli_state
*state
);
118 /*The following definitions come from nsswitch/winbindd_user.c */
120 enum winbindd_result
winbindd_getpwnam_from_user(struct winbindd_cli_state
*state
) ;
121 enum winbindd_result
winbindd_getpwnam_from_uid(struct winbindd_cli_state
*state
);
122 enum winbindd_result
winbindd_setpwent(struct winbindd_cli_state
*state
);
123 enum winbindd_result
winbindd_endpwent(struct winbindd_cli_state
*state
);
124 enum winbindd_result
winbindd_getpwent(struct winbindd_cli_state
*state
);
125 enum winbindd_result
winbindd_list_users(struct winbindd_cli_state
*state
);
127 /*The following definitions come from nsswitch/winbindd_util.c */
129 struct winbindd_domain
*find_domain_from_name(char *domain_name
);
130 struct winbindd_domain
*find_domain_from_sid(DOM_SID
*sid
);
131 BOOL
get_domain_info(void);
132 void free_domain_info(void);
133 BOOL
lookup_domain_sid(char *domain_name
, struct winbindd_domain
*domain
);
134 BOOL
winbindd_lookup_sid_by_name(char *name
, DOM_SID
*sid
, enum SID_NAME_USE
*type
);
135 BOOL
winbindd_lookup_name_by_sid(DOM_SID
*sid
,
137 enum SID_NAME_USE
*type
);
138 BOOL
winbindd_lookup_userinfo(struct winbindd_domain
*domain
,
139 TALLOC_CTX
*mem_ctx
, uint32 user_rid
,
140 SAM_USERINFO_CTR
**user_info
);
141 BOOL
winbindd_lookup_usergroups(struct winbindd_domain
*domain
,
143 uint32 user_rid
, uint32
*num_groups
,
144 DOM_GID
**user_groups
);
145 BOOL
winbindd_lookup_groupmem(struct winbindd_domain
*domain
,
147 uint32 group_rid
, uint32
*num_names
,
148 uint32
**rid_mem
, char ***names
,
149 uint32
**name_types
);
150 BOOL
create_samr_domain_handle(struct winbindd_domain
*domain
, POLICY_HND
*pdom_pol
);
151 void close_samr_domain_handle(struct winbindd_domain
*domain
, POLICY_HND
*pdom_pol
);
152 void free_getent_state(struct getent_state
*state
);
153 struct getent_state
*create_getent_state(struct winbindd_domain
*domain
);
154 BOOL
winbindd_param_init(void);
155 NTSTATUS
winbindd_query_dispinfo(struct winbindd_domain
*domain
,
156 TALLOC_CTX
*mem_ctx
, POLICY_HND
*pdom_pol
,
157 uint32
*start_ndx
, uint16 info_level
,
158 uint32
*num_entries
, SAM_DISPINFO_CTR
*ctr
);
159 BOOL
check_domain_env(char *domain_env
, char *domain
);
160 BOOL
parse_domain_user(char *domuser
, fstring domain
, fstring user
);
162 /*The following definitions come from nsswitch/winbindd_wins.c */
164 enum winbindd_result
winbindd_wins_byip(struct winbindd_cli_state
*state
);
165 enum winbindd_result
winbindd_wins_byname(struct winbindd_cli_state
*state
);
166 #endif /* _PROTO_H_ */