summaryrefslogtreecommitdiffstats
path: root/man7/netlink.7
diff options
context:
space:
mode:
Diffstat (limited to 'man7/netlink.7')
-rw-r--r--man7/netlink.716
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 */
...
}