Lines Matching refs:irs
133 struct gen_p *irs; in irs_gen_acc() local
140 if (!(irs = memget(sizeof *irs))) { in irs_gen_acc()
145 memset(irs, 0x5e, sizeof *irs); in irs_gen_acc()
146 irs->options = strdup(options); in irs_gen_acc()
147 irs->res = NULL; in irs_gen_acc()
148 irs->free_res = NULL; in irs_gen_acc()
149 memset(irs->accessors, 0, sizeof irs->accessors); in irs_gen_acc()
150 memset(irs->map_rules, 0, sizeof irs->map_rules); in irs_gen_acc()
151 init_map_rules(irs, conf_file); in irs_gen_acc()
152 acc->private = irs; in irs_gen_acc()
178 struct gen_p *irs = (struct gen_p *)this->private; in gen_res_get() local
180 if (irs->res == NULL) { in gen_res_get()
189 if (((irs->res->options & RES_INIT) == 0U) && res_ninit(irs->res) < 0) in gen_res_get()
192 return (irs->res); in gen_res_get()
198 struct gen_p *irs = (struct gen_p *)this->private; in gen_res_set() local
205 if (irs->res && irs->free_res) { in gen_res_set()
206 res_nclose(irs->res); in gen_res_set()
207 (*irs->free_res)(irs->res); in gen_res_set()
210 irs->res = res; in gen_res_set()
211 irs->free_res = free_res; in gen_res_set()
214 for (rule = irs->map_rules[irs_ho]; rule; rule = rule->next) { in gen_res_set()
219 for (rule = irs->map_rules[irs_nw]; rule; rule = rule->next) { in gen_res_set()
229 struct gen_p *irs = (struct gen_p *)this->private; in gen_close() local
234 while (irs->map_rules[n] != NULL) in gen_close()
235 irs->map_rules[n] = release_rule(irs->map_rules[n]); in gen_close()
240 if (irs->accessors[n].gr != NULL) in gen_close()
241 (*irs->accessors[n].gr->close)(irs->accessors[n].gr); in gen_close()
242 if (irs->accessors[n].pw != NULL) in gen_close()
243 (*irs->accessors[n].pw->close)(irs->accessors[n].pw); in gen_close()
244 if (irs->accessors[n].sv != NULL) in gen_close()
245 (*irs->accessors[n].sv->close)(irs->accessors[n].sv); in gen_close()
246 if (irs->accessors[n].pr != NULL) in gen_close()
247 (*irs->accessors[n].pr->close)(irs->accessors[n].pr); in gen_close()
248 if (irs->accessors[n].ho != NULL) in gen_close()
249 (*irs->accessors[n].ho->close)(irs->accessors[n].ho); in gen_close()
250 if (irs->accessors[n].nw != NULL) in gen_close()
251 (*irs->accessors[n].nw->close)(irs->accessors[n].nw); in gen_close()
252 if (irs->accessors[n].ng != NULL) in gen_close()
253 (*irs->accessors[n].ng->close)(irs->accessors[n].ng); in gen_close()
255 if (irs->accessors[n].acc != NULL) in gen_close()
256 (*irs->accessors[n].acc->close)(irs->accessors[n].acc); in gen_close()
260 free((void*)irs->options); in gen_close()
262 if (irs->res && irs->free_res) in gen_close()
263 (*irs->free_res)(irs->res); in gen_close()
266 memput(irs, sizeof *irs); in gen_close()
293 add_rule(struct gen_p *irs, in add_rule() argument
320 new->inst = &irs->accessors[acc]; in add_rule()
344 rules = &irs->map_rules[map]; in add_rule()
355 inst = &irs->accessors[acc]; in add_rule()
357 inst->acc = (*accs[acc])(irs->options); in add_rule()
379 default_map_rules(struct gen_p *irs) { in default_map_rules() argument
381 add_rule(irs, irs_gr, irs_lcl, ""); in default_map_rules()
382 add_rule(irs, irs_pw, irs_lcl, ""); in default_map_rules()
383 add_rule(irs, irs_sv, irs_lcl, ""); in default_map_rules()
384 add_rule(irs, irs_pr, irs_lcl, ""); in default_map_rules()
387 add_rule(irs, irs_ho, irs_dns, ""); in default_map_rules()
389 add_rule(irs, irs_ho, irs_dns, "continue"); in default_map_rules()
390 add_rule(irs, irs_ho, irs_lcl, ""); in default_map_rules()
393 add_rule(irs, irs_ho, irs_dns, "continue"); in default_map_rules()
394 add_rule(irs, irs_ho, irs_lcl, ""); in default_map_rules()
396 add_rule(irs, irs_nw, irs_dns, "continue"); in default_map_rules()
397 add_rule(irs, irs_nw, irs_lcl, ""); in default_map_rules()
398 add_rule(irs, irs_ng, irs_lcl, ""); in default_map_rules()
402 init_map_rules(struct gen_p *irs, const char *conf_file) { in init_map_rules() argument
408 default_map_rules(irs); in init_map_rules()
418 default_map_rules(irs); in init_map_rules()
456 add_rule(irs, map, acc, options); in init_map_rules()