Lines Matching refs:state

57                              struct ipa_host_state *state);
75 struct ipa_host_state *state;
78 req = tevent_req_create(mem_ctx, &state, struct ipa_host_state);
83 state->ev = ev;
84 state->sh = sh;
85 state->opts = opts;
86 state->hostname = hostname;
87 state->search_bases = search_bases;
88 state->search_base_iter = 0;
89 state->cur_filter = NULL;
90 state->hostgroup_map = hostgroup_map;
109 struct ipa_host_state *state =
115 ret = sdap_host_info_recv(subreq, state,
116 &state->host_count,
117 &state->hosts);
124 if (state->hostgroup_map) {
125 ret = build_attrs_from_map(state, state->hostgroup_map,
127 &state->attrs, NULL);
134 if (state->hostname == NULL) {
135 talloc_zfree(state->host_filter);
136 state->host_filter = talloc_asprintf(state, "(objectClass=%s)",
137 state->hostgroup_map[IPA_OC_HOSTGROUP].name);
138 if (state->host_filter == NULL) {
142 state->search_base_iter = 0;
144 ret = ipa_hostgroup_info_next(req, state);
154 ret = sysdb_attrs_get_string(state->hosts[0], SYSDB_ORIG_DN, &host_dn);
160 if (!sdap_has_deref_support(state->sh, state->opts)) {
166 maps = talloc_array(state, struct sdap_attr_map_info, num_maps + 1);
171 maps[0].map = state->hostgroup_map;
175 subreq = sdap_deref_search_send(state, state->ev, state->opts, state->sh,
177 state->hostgroup_map[IPA_AT_HOSTGROUP_MEMBER_OF].name,
178 state->attrs,
180 dp_opt_get_int(state->opts->basic,
197 struct ipa_host_state *state)
202 base = state->search_bases[state->search_base_iter];
207 talloc_zfree(state->cur_filter);
208 state->cur_filter = sdap_combine_filters(state, state->host_filter,
210 if (state->cur_filter == NULL) {
214 subreq = sdap_get_generic_send(state, state->ev, state->opts, state->sh,
216 state->cur_filter, state->attrs,
217 state->hostgroup_map,
219 dp_opt_get_int(state->opts->basic,
224 talloc_zfree(state->cur_filter);
238 struct ipa_host_state *state =
249 if (state->hostname == NULL) {
250 ret = sdap_get_generic_recv(subreq, state,
263 hostgroups_total = hostgroup_count + state->hostgroup_count;
264 state->hostgroups = talloc_realloc(state, state->hostgroups,
267 if (state->hostgroups == NULL) {
273 while(state->hostgroup_count < hostgroups_total) {
274 state->hostgroups[state->hostgroup_count] =
275 talloc_steal(state->hostgroups, hostgroups[i]);
276 state->hostgroup_count++;
282 state->search_base_iter++;
283 ret = ipa_hostgroup_info_next(req, state);
294 ret = sdap_deref_search_recv(subreq, state,
295 &state->hostgroup_count,
300 if (state->hostgroup_count == 0) {
303 state->hostgroups = talloc_zero_array(state, struct sysdb_attrs *,
304 state->hostgroup_count);
305 if (state->hostgroups == NULL) {
311 for (i = 0; i < state->hostgroup_count; i++) {
316 if (!sss_ldap_dn_in_search_bases(state, hostgroup_dn,
317 state->search_bases,
323 state->hostgroup_map[IPA_AT_HOSTGROUP_NAME].sys_name,
329 state->hostgroups[j] = talloc_steal(state->hostgroups,
333 state->hostgroup_count = j;
353 struct ipa_host_state *state =
358 *host_count = state->host_count;
359 *hosts = talloc_steal(mem_ctx, state->hosts);
361 if (hostgroup_count) *hostgroup_count = state->hostgroup_count;
362 if (hostgroups) *hostgroups = talloc_steal(mem_ctx, state->hostgroups);