libnl 3.9.0
rtnl_link_info_ops Struct Reference

Available operations to modules implementing a link info type. More...

#include <link-api.h>

Data Fields

char * io_name
 Name of link info type, must match name on kernel side.
 
int io_refcnt
 Reference count, DO NOT MODIFY.
 
int(* io_alloc )(struct rtnl_link *)
 Called to assign an info type to a link.
 
int(* io_parse )(struct rtnl_link *, struct nlattr *, struct nlattr *)
 Called to parse the link info attribute.
 
void(* io_dump [NL_DUMP_MAX+1])(struct rtnl_link *, struct nl_dump_params *)
 Called when the link object is dumped.
 
int(* io_clone )(struct rtnl_link *, struct rtnl_link *)
 Called when a link object is cloned.
 
int(* io_put_attrs )(struct nl_msg *, struct rtnl_link *)
 Called when construction a link netlink message.
 
void(* io_free )(struct rtnl_link *)
 Called to release all resources previously allocated in either io_alloc() or io_parse().
 
int(* io_compare )(struct rtnl_link *, struct rtnl_link *, int flags)
 Called to compare link info parameters between two links.
 
struct nl_list_head io_list
 

Detailed Description

Available operations to modules implementing a link info type.

Definition at line 19 of file link-api.h.

Field Documentation

◆ io_name

◆ io_refcnt

int rtnl_link_info_ops::io_refcnt

Reference count, DO NOT MODIFY.

Definition at line 25 of file link-api.h.

Referenced by rtnl_link_info_ops_get(), rtnl_link_info_ops_lookup(), rtnl_link_info_ops_put(), and rtnl_link_unregister_info().

◆ io_alloc

int(* rtnl_link_info_ops::io_alloc) (struct rtnl_link *)

Called to assign an info type to a link.

Has to allocate enough resources to hold attributes. Can use link->l_info to store a pointer.

Definition at line 30 of file link-api.h.

Referenced by rtnl_link_set_type().

◆ io_parse

int(* rtnl_link_info_ops::io_parse) (struct rtnl_link *, struct nlattr *, struct nlattr *)

Called to parse the link info attribute.

Must parse the attribute and assign all values to the link.

Definition at line 35 of file link-api.h.

◆ io_dump

void(* rtnl_link_info_ops::io_dump[NL_DUMP_MAX+1])(struct rtnl_link *, struct nl_dump_params *)

Called when the link object is dumped.

Must dump the info type specific attributes.

Definition at line 41 of file link-api.h.

◆ io_clone

int(* rtnl_link_info_ops::io_clone) (struct rtnl_link *, struct rtnl_link *)

Called when a link object is cloned.

Must clone all info type specific attributes.

Definition at line 46 of file link-api.h.

◆ io_put_attrs

int(* rtnl_link_info_ops::io_put_attrs) (struct nl_msg *, struct rtnl_link *)

Called when construction a link netlink message.

Must append all info type specific attributes to the message.

Definition at line 50 of file link-api.h.

◆ io_free

void(* rtnl_link_info_ops::io_free) (struct rtnl_link *)

Called to release all resources previously allocated in either io_alloc() or io_parse().

Definition at line 54 of file link-api.h.

◆ io_compare

int(* rtnl_link_info_ops::io_compare) (struct rtnl_link *, struct rtnl_link *, int flags)

Called to compare link info parameters between two links.

Definition at line 57 of file link-api.h.

Referenced by rtnl_link_info_data_compare().

◆ io_list

struct nl_list_head rtnl_link_info_ops::io_list

Definition at line 60 of file link-api.h.