const kernel_ulong_t addr,
const kernel_ulong_t len)
{
- tprints("{");
+ const unsigned int nlmsg_len =
+ nlmsghdr->nlmsg_len > len ? len : nlmsghdr->nlmsg_len;
+
+ if (nlmsg_len > NLMSG_HDRLEN)
+ tprints("{");
family = print_nlmsghdr(tcp, fd, family, nlmsghdr);
- unsigned int nlmsg_len =
- nlmsghdr->nlmsg_len > len ? len : nlmsghdr->nlmsg_len;
if (nlmsg_len > NLMSG_HDRLEN) {
tprints(", ");
decode_payload(tcp, fd, family, nlmsghdr, addr + NLMSG_HDRLEN,
nlmsg_len - NLMSG_HDRLEN);
+ tprints("}");
}
-
- tprints("}");
}
void
};
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=AUDIT_GET"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=AUDIT_GET"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
# ifdef NFNL_MSG_BATCH_BEGIN
nlh.nlmsg_type = NFNL_MSG_BATCH_BEGIN;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NFNL_MSG_BATCH_BEGIN"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=NFNL_MSG_BATCH_BEGIN"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8) | NFNL_MSG_BATCH_BEGIN;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|%#x"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|%#x"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, NFNL_MSG_BATCH_BEGIN,
(unsigned) sizeof(nlh), sprintrc(rc));
nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8);
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|0"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|0"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
/* a single message without data */
req->nlh.nlmsg_len = sizeof(req->nlh);
rc = sendto(fd, &req->nlh, sizeof(req->nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(req->nlh), sprintrc(rc));
/* nlmsg_len < sizeof(struct nlmsghdr) */
req->nlh.nlmsg_len = 8;
rc = sendto(fd, req, sizeof(*req), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(*req), sprintrc(rc));
reqs->req2.nlh.nlmsg_len = 4;
rc = sendto(fd, reqs, sizeof(*reqs), MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, [{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}, \"abcd\"}, {{len=%u, type=NLMSG_NOOP"
- ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}}], %u"
+ ", seq=0, pid=0}, \"abcd\"}, {len=%u, type=NLMSG_NOOP"
+ ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}], %u"
", MSG_DONTWAIT, NULL, 0) = %s\n",
fd, reqs->req1.nlh.nlmsg_len, NLM_F_DUMP,
reqs->req2.nlh.nlmsg_len, NLM_F_DUMP,
for (i = 0; i < DEFAULT_STRLEN; ++i) {
if (i)
printf(", ");
- printf("{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=0}}",
+ printf("{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=0}",
msgs[i].nlmsg_len, NLM_F_DUMP, msgs[i].nlmsg_seq);
}
printf(", ...], %u, MSG_DONTWAIT, NULL, 0) = %s\n", msg_len, errstr);
rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
", seq=0, pid=0}, {error=-EACCES"
- ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=%u}}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
err->msg.nlmsg_seq, err->msg.nlmsg_pid,
nlh->nlmsg_len, sprintrc(rc));
};
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=RTM_GETLINK"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
nlh.nlmsg_type = RTM_GETLINK;
nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=RTM_GETLINK"
- ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
nlh.nlmsg_type = RTM_DELACTION;
nlh.nlmsg_flags = NLM_F_ROOT;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=RTM_DELACTION"
- ", flags=NLM_F_ROOT, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=RTM_DELACTION"
+ ", flags=NLM_F_ROOT, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
nlh.nlmsg_type = RTM_NEWLINK;
nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=RTM_NEWLINK"
- ", flags=NLM_F_ECHO|NLM_F_REPLACE, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=RTM_NEWLINK"
+ ", flags=NLM_F_ECHO|NLM_F_REPLACE, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
nlh.nlmsg_type = RTM_DELLINK;
nlh.nlmsg_flags = NLM_F_REPLACE;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=RTM_DELLINK"
- ", flags=%#x /* NLM_F_??? */, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=RTM_DELLINK"
+ ", flags=%#x /* NLM_F_??? */, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, NLM_F_REPLACE,
(unsigned) sizeof(nlh), sprintrc(rc));
};
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=SELNL_MSG_SETENFORCE"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=SELNL_MSG_SETENFORCE"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
};
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
};
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
- ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
};
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=XFRM_MSG_NEWSA"
- ", flags=NLM_F_REQUEST, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
nlh.nlmsg_type = XFRM_MSG_GETSA;
nlh.nlmsg_flags = NLM_F_DUMP;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=XFRM_MSG_GETSA"
- ", flags=NLM_F_DUMP, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_GETSA"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
nlh.nlmsg_type = XFRM_MSG_NEWSA;
nlh.nlmsg_flags = NLM_F_REPLACE;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=XFRM_MSG_NEWSA"
- ", flags=NLM_F_REPLACE, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REPLACE, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
nlh.nlmsg_type = XFRM_MSG_DELSA;
nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=XFRM_MSG_DELSA"
- ", flags=NLM_F_ECHO|%#x, seq=0, pid=0}}"
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_DELSA"
+ ", flags=NLM_F_ECHO|%#x, seq=0, pid=0}"
", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh.nlmsg_len, NLM_F_REPLACE,
(unsigned) sizeof(nlh), sprintrc(rc));