• Home
  • Raw
  • Download

Lines Matching full:ops

49 	struct rtnl_link_info_ops *ops;  in __rtnl_link_info_ops_lookup()  local
51 nl_list_for_each_entry(ops, &info_ops, io_list) in __rtnl_link_info_ops_lookup()
52 if (!strcmp(ops->io_name, name)) in __rtnl_link_info_ops_lookup()
53 return ops; in __rtnl_link_info_ops_lookup()
73 struct rtnl_link_info_ops *ops; in rtnl_link_info_ops_lookup() local
76 if ((ops = __rtnl_link_info_ops_lookup(name))) in rtnl_link_info_ops_lookup()
77 ops->io_refcnt++; in rtnl_link_info_ops_lookup()
80 return ops; in rtnl_link_info_ops_lookup()
85 * @arg ops Link info operations.
87 void rtnl_link_info_ops_get(struct rtnl_link_info_ops *ops) in rtnl_link_info_ops_get() argument
89 if (!ops) in rtnl_link_info_ops_get()
93 ops->io_refcnt++; in rtnl_link_info_ops_get()
99 * @arg ops Link info operations.
101 void rtnl_link_info_ops_put(struct rtnl_link_info_ops *ops) in rtnl_link_info_ops_put() argument
103 if (!ops) in rtnl_link_info_ops_put()
107 _nl_assert(ops->io_refcnt > 0); in rtnl_link_info_ops_put()
108 ops->io_refcnt--; in rtnl_link_info_ops_put()
114 * @arg ops Link info operations
124 int rtnl_link_register_info(struct rtnl_link_info_ops *ops) in rtnl_link_register_info() argument
128 if (ops->io_name == NULL) in rtnl_link_register_info()
132 if (__rtnl_link_info_ops_lookup(ops->io_name)) { in rtnl_link_register_info()
137 NL_DBG(1, "Registered link info operations %s\n", ops->io_name); in rtnl_link_register_info()
139 nl_list_add_tail(&ops->io_list, &info_ops); in rtnl_link_register_info()
148 * @arg ops Link info operations
159 int rtnl_link_unregister_info(struct rtnl_link_info_ops *ops) in rtnl_link_unregister_info() argument
167 if (t == ops) { in rtnl_link_unregister_info()
177 ops->io_name); in rtnl_link_unregister_info()
221 * @arg ops Address family operations.
223 void rtnl_link_af_ops_put(struct rtnl_link_af_ops *ops) in rtnl_link_af_ops_put() argument
225 if (ops) { in rtnl_link_af_ops_put()
227 ops->ao_refcnt--; in rtnl_link_af_ops_put()
235 * @arg ops Address family operations
247 const struct rtnl_link_af_ops *ops) in rtnl_link_af_alloc() argument
251 if (!link || !ops) in rtnl_link_af_alloc()
254 family = ops->ao_family; in rtnl_link_af_alloc()
257 if (!ops->ao_alloc) in rtnl_link_af_alloc()
260 link->l_af_data[family] = ops->ao_alloc(link); in rtnl_link_af_alloc()
271 * @arg ops Address family operations
282 const struct rtnl_link_af_ops *ops) in rtnl_link_af_data() argument
284 if (!link || !ops) in rtnl_link_af_data()
287 return link->l_af_data[ops->ao_family]; in rtnl_link_af_data()
292 * @arg ops Address family operations
302 int rtnl_link_af_register(struct rtnl_link_af_ops *ops) in rtnl_link_af_register() argument
306 if (ops->ao_family == AF_UNSPEC || ops->ao_family >= AF_MAX) in rtnl_link_af_register()
310 if (af_ops[ops->ao_family]) { in rtnl_link_af_register()
315 ops->ao_refcnt = 0; in rtnl_link_af_register()
316 af_ops[ops->ao_family] = ops; in rtnl_link_af_register()
319 ops->ao_family); in rtnl_link_af_register()
329 * @arg ops Address family operations
337 * @return -NLE_INVAL ops is NULL
341 int rtnl_link_af_unregister(struct rtnl_link_af_ops *ops) in rtnl_link_af_unregister() argument
345 if (!ops) in rtnl_link_af_unregister()
349 if (!af_ops[ops->ao_family]) { in rtnl_link_af_unregister()
354 if (ops->ao_refcnt > 0) { in rtnl_link_af_unregister()
359 af_ops[ops->ao_family] = NULL; in rtnl_link_af_unregister()
362 ops->ao_family); in rtnl_link_af_unregister()