diff options
Diffstat (limited to 'man7/netlink.7')
-rw-r--r-- | man7/netlink.7 | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/man7/netlink.7 b/man7/netlink.7 index e9ee021b3..84b24f308 100644 --- a/man7/netlink.7 +++ b/man7/netlink.7 @@ -538,11 +538,11 @@ netlink socket which will listen to the .in +4n .EX struct sockaddr_nl sa; - +\& memset(&sa, 0, sizeof(sa)); sa.nl_family = AF_NETLINK; sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR; - +\& fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); bind(fd, (struct sockaddr *) &sa, sizeof(sa)); .EE @@ -559,7 +559,7 @@ struct nlmsghdr *nh; /* The nlmsghdr with payload to send */ struct sockaddr_nl sa; struct iovec iov = { nh, nh\->nlmsg_len }; struct msghdr msg; - +\& msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 }; memset(&sa, 0, sizeof(sa)); sa.nl_family = AF_NETLINK; @@ -567,7 +567,7 @@ nh\->nlmsg_pid = 0; nh\->nlmsg_seq = ++sequence_number; /* Request an ack from kernel by setting NLM_F_ACK */ nh\->nlmsg_flags |= NLM_F_ACK; - +\& sendmsg(fd, &msg, 0); .EE .in @@ -584,20 +584,20 @@ struct iovec iov = { buf, sizeof(buf) }; struct sockaddr_nl sa; struct msghdr msg; struct nlmsghdr *nh; - +\& msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 }; len = recvmsg(fd, &msg, 0); - +\& for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len); nh = NLMSG_NEXT (nh, len)) { /* The end of multipart message */ if (nh\->nlmsg_type == NLMSG_DONE) return; - +\& if (nh\->nlmsg_type == NLMSG_ERROR) /* Do some error handling */ ... - +\& /* Continue with parsing payload */ ... } |