Lines Matching defs:irs

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