summaryrefslogtreecommitdiffstats
path: root/src/rtnl.h
blob: 5eeb043ef675e9e58ad4d104a95119932cba3130 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef _RTNL_H
#define _RTNL_H

#include <linux/types.h>
#include <linux/rtnetlink.h>

struct rtnl_handler {
	struct rtnl_handler *next;

	u_int16_t	nlmsg_type;
	int		(*handlefn)(struct nlmsghdr *h, void *arg);
	void		*arg;
};


/* api for handler plugins */
int rtnl_handler_register(struct rtnl_handler *hdlr);
int rtnl_handler_unregister(struct rtnl_handler *hdlr);
int rtnl_parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len);
int rtnl_dump_type(unsigned int type);

/* api for core program */
int rtnl_init(void);
void rtnl_fini(void);
int rtnl_receive();
  

#endif