From a63eec924cccf324b82a66fccc9d72d49bb2adfc Mon Sep 17 00:00:00 2001 From: Fernando Fernandez Mancera Date: Wed, 18 Dec 2024 11:23:25 +0100 Subject: [PATCH] glib-aux: add nm_ether_addr_hash() helper Add a hash generation helper for NMEtherAddr struct. This can be used for HashTables containing pointers to NMEtherAddr structs. --- src/libnm-glib-aux/nm-shared-utils.c | 11 +++++++++++ src/libnm-glib-aux/nm-shared-utils.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/libnm-glib-aux/nm-shared-utils.c b/src/libnm-glib-aux/nm-shared-utils.c index 1ca3e304ed..5f0e515a43 100644 --- a/src/libnm-glib-aux/nm-shared-utils.c +++ b/src/libnm-glib-aux/nm-shared-utils.c @@ -58,6 +58,17 @@ nm_ether_addr_from_string(NMEtherAddr *addr, const char *str) return addr; } +guint +nm_ether_addr_hash(const NMEtherAddr *a) +{ + NMHashState h; + + nm_hash_init(&h, 1947951703u); + nm_hash_update(&h, a, sizeof(NMEtherAddr)); + + return nm_hash_complete(&h); +} + /*****************************************************************************/ /** diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h index ff855784ee..754c21aec9 100644 --- a/src/libnm-glib-aux/nm-shared-utils.h +++ b/src/libnm-glib-aux/nm-shared-utils.h @@ -241,6 +241,8 @@ nm_ether_addr_is_zero(const NMEtherAddr *a) return nm_memeq(a, &nm_ether_addr_zero, sizeof(NMEtherAddr)); } +guint nm_ether_addr_hash(const NMEtherAddr *a); + /*****************************************************************************/ struct ether_addr;