From b389f8d373c2d8f5c636d40ec020e5e2adf0f01c Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 14 Oct 2008 13:57:41 +0200 Subject: [PATCH] Add function for requesting link status --- include/rtnl.h | 2 ++ src/rtnl.c | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/rtnl.h b/include/rtnl.h index fac302f..42bd79a 100644 --- a/include/rtnl.h +++ b/include/rtnl.h @@ -45,6 +45,8 @@ struct connman_rtnl { extern int connman_rtnl_register(struct connman_rtnl *rtnl); extern void connman_rtnl_unregister(struct connman_rtnl *rtnl); +int connman_rtnl_send_getlink(void); + #ifdef __cplusplus } #endif diff --git a/src/rtnl.c b/src/rtnl.c index 6549488..1cc59b6 100644 --- a/src/rtnl.c +++ b/src/rtnl.c @@ -406,6 +406,26 @@ int __connman_rtnl_send(const void *buf, size_t len) (struct sockaddr *) &addr, sizeof(addr)); } +int connman_rtnl_send_getlink(void) +{ + struct { + struct nlmsghdr hdr; + struct rtgenmsg msg; + } req; + + DBG(""); + + memset(&req, 0, sizeof(req)); + req.hdr.nlmsg_len = sizeof(req.hdr) + sizeof(req.msg); + req.hdr.nlmsg_type = RTM_GETLINK; + req.hdr.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP; + req.hdr.nlmsg_pid = 0; + req.hdr.nlmsg_seq = 42; + req.msg.rtgen_family = AF_INET; + + __connman_rtnl_send(&req, sizeof(req)); +} + int __connman_rtnl_init(void) { struct sockaddr_nl addr; -- 2.7.4