> -----Original Message----- > From: Richard Cochran [mailto:richardcoch...@gmail.com] > Sent: Tuesday, June 05, 2018 7:11 AM > To: linuxptp-devel@lists.sourceforge.net > Subject: [Linuxptp-devel] [PATCH 3/5] util: Add a method to compare binary > addresses. > > Signed-off-by: Richard Cochran <richardcoch...@gmail.com> > --- > util.c | 28 ++++++++++++++++++++++++++++ > util.h | 9 +++++++++ > 2 files changed, 37 insertions(+) > > diff --git a/util.c b/util.c > index 799147a..73fb37e 100644 > --- a/util.c > +++ b/util.c > @@ -69,6 +69,34 @@ const char *ev_str[] = { > "RS_PASSIVE", > }; > > +int addreq(enum transport_type type, struct address *a, struct address *b) > +{ > + void *bufa, *bufb; > + int len; > + > + switch (type) { > + case TRANS_UDP_IPV4: > + bufa = &a->sin.sin_addr; > + bufb = &b->sin.sin_addr; > + len = sizeof(a->sin); > + break; > + case TRANS_IEEE_802_3: > + bufa = &a->sll.sll_addr; > + bufb = &b->sll.sll_addr; > + len = MAC_LEN; > + break; > + case TRANS_UDS: > + case TRANS_UDP_IPV6: > + case TRANS_DEVICENET: > + case TRANS_CONTROLNET: > + case TRANS_PROFINET: > + default: > + pr_err("sorry, cannot compare addresses for this transport"); > + return 0; > + } > + return memcmp(bufa, bufb, len) == 0 ? 1 : 0; > +} > + > char *bin2str_impl(Octet *data, int len, char *buf, int buf_len) > { > int i, offset = 0; > diff --git a/util.h b/util.h > index 4463b37..4becce1 100644 > --- a/util.h > +++ b/util.h > @@ -41,6 +41,15 @@ extern const char *ps_str[]; > */ > extern const char *ev_str[]; > > +/** > + * Compares two binary addresses for equality. > + * @param type One of the enumerated transport types. > + * @param a One address to compare. > + * @param b The second address to compare. > + * @return One if the addresses are identical, zero otherwise. > + */ > +int addreq(enum transport_type type, struct address *a, struct address *b); > +
Was there a reason to simplify the interface of memcmp and remove the ability to determine which comes "first"? I suppose we don't really need that data..? Thanks, Jake ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel