Lines Matching refs:sh

50 int remove_ldap_connection_callbacks(struct sdap_handle *sh)
55 if (sh->sdap_fd_events) {
57 talloc_zfree(sh->sdap_fd_events->conncb);
59 talloc_zfree(sh->sdap_fd_events->fde);
75 lret = ldap_get_option(cb_data->sh->ldap, LDAP_OPT_CONNECT_CB, conncb);
123 cb_data->sh);
174 static int sdap_install_ldap_callbacks(struct sdap_handle *sh,
180 if (sh->sdap_fd_events) {
187 sh->sdap_fd_events = talloc_zero(sh, struct sdap_fd_events);
188 if (!sh->sdap_fd_events) {
193 ret = get_fd_from_ldap(sh->ldap, &fd);
196 sh->sdap_fd_events->fde = tevent_add_fd(ev, sh->sdap_fd_events, fd,
198 sh);
199 if (!sh->sdap_fd_events->fde) {
200 talloc_zfree(sh->sdap_fd_events);
205 "Trace: sh[%p], connected[%d], ops[%p], fde[%p], ldap[%p]\n",
206 sh, (int)sh->connected, sh->ops, sh->sdap_fd_events->fde,
207 sh->ldap);
215 errno_t setup_ldap_connection_callbacks(struct sdap_handle *sh,
222 sh->sdap_fd_events = talloc_zero(sh, struct sdap_fd_events);
223 if (sh->sdap_fd_events == NULL) {
229 sh->sdap_fd_events->conncb = talloc_zero(sh->sdap_fd_events,
231 if (sh->sdap_fd_events->conncb == NULL) {
237 cb_data = talloc_zero(sh->sdap_fd_events->conncb, struct ldap_cb_data);
243 cb_data->sh = sh;
246 sh->sdap_fd_events->conncb->lc_add = sdap_ldap_connect_callback_add;
247 sh->sdap_fd_events->conncb->lc_del = sdap_ldap_connect_callback_del;
248 sh->sdap_fd_events->conncb->lc_arg = cb_data;
250 ret = ldap_set_option(sh->ldap, LDAP_OPT_CONNECT_CB,
251 sh->sdap_fd_events->conncb);
258 talloc_set_destructor((TALLOC_CTX *) sh->sdap_fd_events->conncb,
264 talloc_zfree(sh->sdap_fd_events);
272 errno_t sdap_set_connected(struct sdap_handle *sh, struct tevent_context *ev)
276 sh->connected = true;
279 ret = sdap_install_ldap_callbacks(sh, ev);
285 errno_t sdap_call_conn_cb(const char *uri,int fd, struct sdap_handle *sh)
314 sh->sdap_fd_events->conncb);