• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/usr.sbin/ypldap/

Lines Matching defs:env

50 void		 main_configure_client(struct env *);
52 void main_start_update(struct env *);
53 void main_trash_update(struct env *);
54 void main_end_update(struct env *);
55 int main_create_user_groups(struct env *);
56 void purge_config(struct env *);
57 void reconfigure(struct env *);
128 main_start_update(struct env *env)
130 env->update_trashed = 0;
133 env->sc_user_line_len = 0;
134 env->sc_group_line_len = 0;
135 if ((env->sc_user_names_t = calloc(1,
136 sizeof(*env->sc_user_names_t))) == NULL ||
137 (env->sc_group_names_t = calloc(1,
138 sizeof(*env->sc_group_names_t))) == NULL)
140 RB_INIT(env->sc_user_names_t);
141 RB_INIT(env->sc_group_names_t);
150 main_trash_update(struct env *env)
155 env->update_trashed = 1;
157 while ((ue = RB_ROOT(env->sc_user_names_t)) != NULL) {
159 env->sc_user_names_t, ue);
164 free(env->sc_user_names_t);
165 env->sc_user_names_t = NULL;
166 while ((ge = RB_ROOT(env->sc_group_names_t))
169 env->sc_group_names_t, ge);
173 free(env->sc_group_names_t);
174 env->sc_group_names_t = NULL;
178 main_create_user_groups(struct env *env)
189 RB_FOREACH(ue, user_name_tree, env->sc_user_names_t) {
225 RB_FOREACH(ge, group_name_tree, env->sc_group_names_t) {
245 if ((ue = RB_FIND(user_name_tree, env->sc_user_names_t,
275 main_end_update(struct env *env)
280 if (env->update_trashed)
285 if (main_create_user_groups(env) == -1) {
286 main_trash_update(env);
290 if (env->sc_user_names == NULL) {
291 env->sc_user_names = env->sc_user_names_t;
292 env->sc_user_lines = NULL;
293 env->sc_user_names_t = NULL;
295 env->sc_group_names = env->sc_group_names_t;
296 env->sc_group_lines = NULL;
297 env->sc_group_names_t = NULL;
299 flatten_entries(env);
306 while ((ue = RB_ROOT(env->sc_user_names)) != NULL) {
307 RB_REMOVE(user_name_tree, env->sc_user_names,
312 free(env->sc_user_names);
313 free(env->sc_user_lines);
315 env->sc_user_names = env->sc_user_names_t;
316 env->sc_user_lines = NULL;
317 env->sc_user_names_t = NULL;
319 while ((ge = RB_ROOT(env->sc_group_names)) != NULL) {
321 env->sc_group_names, ge);
324 free(env->sc_group_names);
325 free(env->sc_group_lines);
327 env->sc_group_names = env->sc_group_names_t;
328 env->sc_group_lines = NULL;
329 env->sc_group_names_t = NULL;
332 flatten_entries(env);
339 RB_INIT(&env->sc_user_uids);
340 RB_INIT(&env->sc_group_gids);
341 RB_FOREACH(ue, user_name_tree, env->sc_user_names)
343 &env->sc_user_uids, ue);
344 RB_FOREACH(ge, group_name_tree, env->sc_group_names)
346 &env->sc_group_gids, ge);
355 struct env *env = p;
356 struct imsgev *iev = env->sc_iev;
386 main_start_update(env);
392 if (env->update_trashed)
406 if (RB_INSERT(user_name_tree, env->sc_user_names_t,
411 env->sc_user_line_len += len;
418 if (env->update_trashed)
432 if (RB_INSERT(group_name_tree, env->sc_group_names_t,
437 env->sc_group_line_len += len;
441 main_trash_update(env);
444 main_end_update(env);
466 main_configure_client(struct env *env)
469 struct imsgev *iev = env->sc_iev;
471 imsg_compose_event(iev, IMSG_CONF_START, 0, 0, -1, env, sizeof(*env));
472 TAILQ_FOREACH(idm, &env->sc_idms, idm_entry) {
482 struct env *env = p;
484 main_configure_client(env);
488 purge_config(struct env *env)
492 while ((idm = TAILQ_FIRST(&env->sc_idms)) != NULL) {
493 TAILQ_REMOVE(&env->sc_idms, idm, idm_entry);
504 struct env env;
548 RB_INIT(&env.sc_user_uids);
549 RB_INIT(&env.sc_group_gids);
551 if (parse_config(&env, conffile, opts))
579 signal_set(&ev_sigint, SIGINT, main_sig_handler, &env);
580 signal_set(&ev_sigterm, SIGTERM, main_sig_handler, &env);
581 signal_set(&ev_sighup, SIGHUP, main_sig_handler, &env);
582 signal_set(&ev_sigchld, SIGCHLD, main_sig_handler, &env);
589 if ((env.sc_iev = calloc(1, sizeof(*env.sc_iev))) == NULL)
591 imsg_init(&env.sc_iev->ibuf, pipe_main2client[0]);
592 env.sc_iev->handler = main_dispatch_client;
594 env.sc_iev->events = EV_READ;
595 env.sc_iev->data = &env;
596 event_set(&env.sc_iev->ev, env.sc_iev->ibuf.fd, env.sc_iev->events,
597 env.sc_iev->handler, &env);
598 event_add(&env.sc_iev->ev, NULL);
600 yp_init(&env);
615 evtimer_set(&ev_timer, main_init_timer, &env);