summaryrefslogtreecommitdiffstats
path: root/src/rtnl.h
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org>2007-01-26 02:35:30 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org>2007-01-26 02:35:30 +0000
commita0092d15955f23b0f32506a5666db365dfa56510 (patch)
tree6aef3b7ced37a50badf93b81bde4e7f3c1669b9b /src/rtnl.h
parent7e1f591a4796d45f8c655110cf3924e6a4566efb (diff)
- Initial commit of index2interface API (Eric Leblond), still work to do
- added a test file to utils/iftest.c
Diffstat (limited to 'src/rtnl.h')
-rw-r--r--src/rtnl.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/rtnl.h b/src/rtnl.h
index 5eeb043..b6644e6 100644
--- a/src/rtnl.h
+++ b/src/rtnl.h
@@ -12,17 +12,25 @@ struct rtnl_handler {
void *arg;
};
+struct rtnl_handle {
+ int rtnl_fd;
+ int rtnl_seq;
+ int rtnl_dump;
+ struct sockaddr_nl rtnl_local;
+ struct rtnl_handler *handlers;
+};
/* api for handler plugins */
-int rtnl_handler_register(struct rtnl_handler *hdlr);
-int rtnl_handler_unregister(struct rtnl_handler *hdlr);
+int rtnl_handler_register(struct rtnl_handle *rtnl_handle,
+ struct rtnl_handler *hdlr);
+int rtnl_handler_unregister(struct rtnl_handle *rtnl_handle,
+ 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);
+int rtnl_dump_type(struct rtnl_handle *rtnl_handle, unsigned int type);
/* api for core program */
-int rtnl_init(void);
-void rtnl_fini(void);
-int rtnl_receive();
-
+struct rtnl_handle *rtnl_init(void);
+void rtnl_fini(struct rtnl_handle *rtnl_handle);
+int rtnl_receive(struct rtnl_handle *rtnl_handle);
#endif