diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2018-02-16 19:01:24 +0100 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2018-03-07 18:13:29 +0000 |
commit | 9495ddada47c0c04ef9aee9a7588dab5349f5566 (patch) | |
tree | ec06bf6b4bdb8111f0d616c4c244c0314d2b9b3c /sockaddr.c | |
parent | 9611ebbb97ad639fbb77d200dee4305b834a23b1 (diff) | |
download | strace-9495ddada47c0c04ef9aee9a7588dab5349f5566.tar.gz |
Sort Ethernet protocols xlat
* defs.h (ethernet_protocols_size): New declaration.
* netlink_packet_diag.c (decode_packet_diag_req): Use
printxval_searchnn to print Ethernet protocols.
* sockaddr.c (ethernet_protocols_size): New constant, item count
in ethernet_protocols array.
(print_sockaddr_data_ll): Use printxval_search instead of
printxval to print Ethernet protocols.
* xlat/ethernet_protocols.in: Sort it by value, add comment
about the fact.
Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
Diffstat (limited to 'sockaddr.c')
-rw-r--r-- | sockaddr.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sockaddr.c b/sockaddr.c index ac42e164a..9c369cda7 100644 --- a/sockaddr.c +++ b/sockaddr.c @@ -66,6 +66,8 @@ #define SIZEOF_SA_FAMILY sizeof(((struct sockaddr *) 0)->sa_family) +const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1; + static void print_sockaddr_data_un(const void *const buf, const int addrlen) { @@ -223,7 +225,8 @@ print_sockaddr_data_ll(const void *const buf, const int addrlen) const struct sockaddr_ll *const sa_ll = buf; tprints("sll_protocol=htons("); - printxval(ethernet_protocols, ntohs(sa_ll->sll_protocol), "ETH_P_???"); + printxval_search(ethernet_protocols, ntohs(sa_ll->sll_protocol), + "ETH_P_???"); PRINT_FIELD_IFINDEX("), ", *sa_ll, sll_ifindex); tprints(", sll_hatype="); printxval(arp_hardware_types, sa_ll->sll_hatype, "ARPHRD_???"); |