Intorduce PRINT_FIELD_SOCKADDR
* print_fields.h (PRINT_FIELD_SOCKADDR): New macro. * msghdr.c (print_cmsg_ip_recverr): Use it instead of print_sockaddr. * net.c (print_group_req): Likewise. * sock.c (PRINT_IFREQ_ADDR): Remove. (print_ifreq, print_ifconf_ifreq): Use PRINT_FIELD_SOCKADDR instead of PRINT_IFREQ_ADDR.
This commit is contained in:
parent
6cc2b5c039
commit
ce1f4d12aa
4
msghdr.c
4
msghdr.c
@ -185,10 +185,10 @@ print_cmsg_ip_recverr(struct tcb *tcp, const void *cmsg_data,
|
||||
const struct sock_ee *const err = cmsg_data;
|
||||
|
||||
tprintf("{ee_errno=%u, ee_origin=%u, ee_type=%u, ee_code=%u"
|
||||
", ee_info=%u, ee_data=%u, offender=",
|
||||
", ee_info=%u, ee_data=%u",
|
||||
err->ee_errno, err->ee_origin, err->ee_type,
|
||||
err->ee_code, err->ee_info, err->ee_data);
|
||||
print_sockaddr(&err->offender, sizeof(err->offender));
|
||||
PRINT_FIELD_SOCKADDR(", ", *err, offender);
|
||||
tprints("}");
|
||||
}
|
||||
|
||||
|
3
net.c
3
net.c
@ -703,8 +703,7 @@ print_group_req(struct tcb *const tcp, const kernel_ulong_t addr, const int len)
|
||||
}
|
||||
|
||||
PRINT_FIELD_IFINDEX("{", greq, gr_interface);
|
||||
tprints(", gr_group=");
|
||||
print_sockaddr(&greq.gr_group, sizeof(greq.gr_group));
|
||||
PRINT_FIELD_SOCKADDR(", ", greq, gr_group);
|
||||
tprints("}");
|
||||
|
||||
}
|
||||
|
@ -101,6 +101,13 @@
|
||||
print_ifindex((where_).field_); \
|
||||
} while (0)
|
||||
|
||||
#define PRINT_FIELD_SOCKADDR(prefix_, where_, field_) \
|
||||
do { \
|
||||
STRACE_PRINTF("%s%s=", (prefix_), #field_); \
|
||||
print_sockaddr(&(where_).field_, \
|
||||
sizeof((where_).field_)); \
|
||||
} while (0)
|
||||
|
||||
#define PRINT_FIELD_DEV(prefix_, where_, field_) \
|
||||
do { \
|
||||
STRACE_PRINTF("%s%s=", (prefix_), #field_); \
|
||||
|
19
sock.c
19
sock.c
@ -27,6 +27,7 @@
|
||||
*/
|
||||
|
||||
#include "defs.h"
|
||||
#include "print_fields.h"
|
||||
|
||||
#include <sys/socket.h>
|
||||
#if defined ALPHA || defined SH || defined SH64
|
||||
@ -46,13 +47,6 @@ typedef struct ifreq struct_ifreq;
|
||||
|
||||
#include "xlat/iffflags.h"
|
||||
|
||||
#define PRINT_IFREQ_ADDR(ifr, sockaddr) \
|
||||
do { \
|
||||
tprints(#sockaddr "="); \
|
||||
print_sockaddr(&((ifr)->sockaddr), \
|
||||
sizeof((ifr)->sockaddr)); \
|
||||
} while (0)
|
||||
|
||||
static void
|
||||
print_ifname(const char *ifname)
|
||||
{
|
||||
@ -66,19 +60,19 @@ print_ifreq(struct tcb *const tcp, const unsigned int code,
|
||||
switch (code) {
|
||||
case SIOCSIFADDR:
|
||||
case SIOCGIFADDR:
|
||||
PRINT_IFREQ_ADDR(ifr, ifr_addr);
|
||||
PRINT_FIELD_SOCKADDR("", *ifr, ifr_addr);
|
||||
break;
|
||||
case SIOCSIFDSTADDR:
|
||||
case SIOCGIFDSTADDR:
|
||||
PRINT_IFREQ_ADDR(ifr, ifr_dstaddr);
|
||||
PRINT_FIELD_SOCKADDR("", *ifr, ifr_dstaddr);
|
||||
break;
|
||||
case SIOCSIFBRDADDR:
|
||||
case SIOCGIFBRDADDR:
|
||||
PRINT_IFREQ_ADDR(ifr, ifr_broadaddr);
|
||||
PRINT_FIELD_SOCKADDR("", *ifr, ifr_broadaddr);
|
||||
break;
|
||||
case SIOCSIFNETMASK:
|
||||
case SIOCGIFNETMASK:
|
||||
PRINT_IFREQ_ADDR(ifr, ifr_netmask);
|
||||
PRINT_FIELD_SOCKADDR("", *ifr, ifr_netmask);
|
||||
break;
|
||||
case SIOCSIFHWADDR:
|
||||
case SIOCGIFHWADDR: {
|
||||
@ -149,8 +143,7 @@ print_ifconf_ifreq(struct tcb *tcp, void *elem_buf, size_t elem_size,
|
||||
|
||||
tprints("{ifr_name=");
|
||||
print_ifname(ifr->ifr_name);
|
||||
tprints(", ");
|
||||
PRINT_IFREQ_ADDR(ifr, ifr_addr);
|
||||
PRINT_FIELD_SOCKADDR(", ", *ifr, ifr_addr);
|
||||
tprints("}");
|
||||
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user