From 5f9e26069ee1244fbcd200118a55a51d88795b3d Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Sun, 23 Mar 2025 21:17:53 -0400 Subject: [PATCH] lib: expose comparision function to allow a typesafe conversion The interface hash comparison function is needed in eigrpd. Signed-off-by: Donald Sharp --- lib/if.c | 4 +--- lib/if.h | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/if.c b/lib/if.c index 68724a65e9..43e3363b34 100644 --- a/lib/if.c +++ b/lib/if.c @@ -44,7 +44,6 @@ static void if_set_name(struct interface *ifp, const char *name); static struct interface *if_lookup_by_ifindex(ifindex_t ifindex, vrf_id_t vrf_id); static struct interface *if_lookup_by_index_all_vrf(ifindex_t ifindex); -static int if_cmp_func(const struct interface *, const struct interface *); static int if_cmp_index_func(const struct interface *ifp1, const struct interface *ifp2); RB_GENERATE(if_name_head, interface, name_entry, if_cmp_func); @@ -136,8 +135,7 @@ int if_cmp_name_func(const char *p1, const char *p2) return 0; } -static int if_cmp_func(const struct interface *ifp1, - const struct interface *ifp2) +int if_cmp_func(const struct interface *ifp1, const struct interface *ifp2) { return if_cmp_name_func(ifp1->name, ifp2->name); } diff --git a/lib/if.h b/lib/if.h index 897f2be239..fce6705c23 100644 --- a/lib/if.h +++ b/lib/if.h @@ -309,6 +309,8 @@ struct interface { QOBJ_FIELDS; }; +extern int if_cmp_func(const struct interface *a, const struct interface *b); + RB_HEAD(if_name_head, interface); RB_PROTOTYPE(if_name_head, interface, name_entry, if_cmp_func) RB_HEAD(if_index_head, interface); -- 2.39.5