• Home
  • Raw
  • Download

Lines Matching refs:ops

39 int rtnl_ematch_register(struct rtnl_ematch_ops *ops)  in rtnl_ematch_register()  argument
41 if (rtnl_ematch_lookup_ops(ops->eo_kind)) in rtnl_ematch_register()
44 nl_list_add_tail(&ops->eo_list, &ematch_ops_list); in rtnl_ematch_register()
55 int rtnl_ematch_unregister(struct rtnl_ematch_ops *ops) in rtnl_ematch_unregister() argument
60 if (ops->eo_kind == o->eo_kind) { in rtnl_ematch_unregister()
77 struct rtnl_ematch_ops *ops; in rtnl_ematch_lookup_ops() local
79 nl_list_for_each_entry(ops, &ematch_ops_list, eo_list) in rtnl_ematch_lookup_ops()
80 if (ops->eo_kind == kind) in rtnl_ematch_lookup_ops()
81 return ops; in rtnl_ematch_lookup_ops()
94 struct rtnl_ematch_ops *ops; in rtnl_ematch_lookup_ops_name() local
96 nl_list_for_each_entry(ops, &ematch_ops_list, eo_list) in rtnl_ematch_lookup_ops_name()
97 if (!strcasecmp(ops->eo_name, name)) in rtnl_ematch_lookup_ops_name()
98 return ops; in rtnl_ematch_lookup_ops_name()
109 struct rtnl_ematch *rtnl_ematch_alloc(struct rtnl_ematch_ops *ops) in rtnl_ematch_alloc() argument
112 size_t len = sizeof(*e) + (ops ? ops->eo_datalen : 0); in rtnl_ematch_alloc()
120 if (ops) { in rtnl_ematch_alloc()
121 e->e_ops = ops; in rtnl_ematch_alloc()
122 e->e_kind = ops->eo_kind; in rtnl_ematch_alloc()
296 struct rtnl_ematch_ops *ops; in rtnl_ematch_parse() local
316 ops = rtnl_ematch_lookup_ops(hdr->kind); in rtnl_ematch_parse()
317 if (ops && ops->eo_datalen && len < ops->eo_datalen) { in rtnl_ematch_parse()
322 if (!(ematch = rtnl_ematch_alloc(ops))) { in rtnl_ematch_parse()
331 if (ops && (err = ops->eo_parse(ematch, data, len)) < 0) in rtnl_ematch_parse()