[PATCH v2 04/20] common: Introduce for_each_link macro

benjamin at sipsolutions.net benjamin at sipsolutions.net
Tue Feb 20 05:18:11 PST 2024


From: Benjamin Berg <benjamin.berg at intel.com>

This is a simple macro iterating the given bitmask using the given
variable. Having the macro avoids the for loop-continuation making it
more readable overall.

Signed-off-by: Benjamin Berg <benjamin.berg at intel.com>
---
 src/utils/common.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/utils/common.h b/src/utils/common.h
index d4ffb998b..3a8d9e022 100644
--- a/src/utils/common.h
+++ b/src/utils/common.h
@@ -599,6 +599,10 @@ int str_starts(const char *str, const char *start);
 u8 rssi_to_rcpi(int rssi);
 char * get_param(const char *cmd, const char *param);
 
+#define for_each_link(__links, __i)                            \
+       for ((__i) = 0; (__i) < MAX_NUM_MLD_LINKS; (__i)++)     \
+               if ((__links) & BIT(__i))
+
 void forced_memzero(void *ptr, size_t len);
 
 /*
-- 
2.43.2




More information about the Hostap mailing list