1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>ieee80211_iterate_active_interfaces_atomic</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers"><link rel="up" href="multi-iface.html" title="Chapter 13. Supporting multiple virtual interfaces"><link rel="prev" href="API-ieee80211-iterate-active-interfaces.html" title="ieee80211_iterate_active_interfaces"><link rel="next" href="station-handling.html" title="Chapter 14. Station handling"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">ieee80211_iterate_active_interfaces_atomic</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-ieee80211-iterate-active-interfaces.html">Prev</a> </td><th width="60%" align="center">Chapter 13. Supporting multiple virtual interfaces</th><td width="20%" align="right"> <a accesskey="n" href="station-handling.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-ieee80211-iterate-active-interfaces-atomic"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ieee80211_iterate_active_interfaces_atomic — 2 iterate active interfaces 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">ieee80211_iterate_active_interfaces_atomic </b>(</code></td><td>struct ieee80211_hw * <var class="pdparam">hw</var>, </td></tr><tr><td> </td><td>u32 <var class="pdparam">iter_flags</var>, </td></tr><tr><td> </td><td>void (*<var class="pdparam">iterator</var>) 4 <code>(</code>void *data, u8 *mac, struct ieee80211_vif *vif<code>)</code>, </td></tr><tr><td> </td><td>void * <var class="pdparam">data</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1114225684"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>hw</code></em></span></dt><dd><p> 5 the hardware struct of which the interfaces should be iterated over 6 </p></dd><dt><span class="term"><em class="parameter"><code>iter_flags</code></em></span></dt><dd><p> 7 iteration flags, see <span class="structname">enum</span> ieee80211_interface_iteration_flags 8 </p></dd><dt><span class="term"><em class="parameter"><code>iterator</code></em></span></dt><dd><p> 9 the iterator function to call, cannot sleep 10 </p></dd><dt><span class="term"><em class="parameter"><code>data</code></em></span></dt><dd><p> 11 first argument of the iterator function 12 </p></dd></dl></div></div><div class="refsect1"><a name="idp1114230692"></a><h2>Description</h2><p> 13 </p><p> 14 15 This function iterates over the interfaces associated with a given 16 hardware that are currently active and calls the callback for them. 17 This function requires the iterator callback function to be atomic, 18 if that is not desired, use <em class="parameter"><code>ieee80211_iterate_active_interfaces</code></em> instead. 19 Does not iterate over a new interface during <code class="function">add_interface</code>. 20</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-ieee80211-iterate-active-interfaces.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="multi-iface.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="station-handling.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">ieee80211_iterate_active_interfaces</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 14. Station handling</td></tr></table></div></body></html> 21