\hypertarget{ieee80211__monitor_8c}{}\doxysection{net80211/ieee80211\+\_\+monitor.c File Reference}
\label{ieee80211__monitor_8c}\index{net80211/ieee80211\_monitor.c@{net80211/ieee80211\_monitor.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+inet.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+wlan.\+h\char`\"{}}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/socket.\+h$>$}\newline
{\ttfamily \#include $<$sys/sockio.\+h$>$}\newline
{\ttfamily \#include $<$sys/endian.\+h$>$}\newline
{\ttfamily \#include $<$sys/errno.\+h$>$}\newline
{\ttfamily \#include $<$sys/proc.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$net/if.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+media.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+llc.\+h$>$}\newline
{\ttfamily \#include $<$net/ethernet.\+h$>$}\newline
{\ttfamily \#include $<$net/bpf.\+h$>$}\newline
{\ttfamily \#include $<$net80211/ieee80211\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$net80211/ieee80211\+\_\+monitor.\+h$>$}\newline
Include dependency graph for ieee80211\+\_\+monitor.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d06/ieee80211__monitor_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{ieee80211__monitor_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static void \mbox{\hyperlink{ieee80211__monitor_8c_a03e7d4489af7ef1236b77a82d5f46f6b}{monitor\+\_\+vattach}} (struct \mbox{\hyperlink{structieee80211vap}{ieee80211vap}} $\ast$)
\item 
static int \mbox{\hyperlink{ieee80211__monitor_8c_aae6d365ee9ee83f7e942e01bd4fa4353}{monitor\+\_\+newstate}} (struct \mbox{\hyperlink{structieee80211vap}{ieee80211vap}} $\ast$, enum \mbox{\hyperlink{ieee80211__proto_8h_a6c8e7861891c9e21e6a02ccdba514944}{ieee80211\+\_\+state}}, int)
\item 
static int \mbox{\hyperlink{ieee80211__monitor_8c_a1132ff6c533ee81faf61ba3dad56d88a}{monitor\+\_\+input}} (struct \mbox{\hyperlink{structieee80211__node}{ieee80211\+\_\+node}} $\ast$ni, struct mbuf $\ast$m, const struct \mbox{\hyperlink{structieee80211__rx__stats}{ieee80211\+\_\+rx\+\_\+stats}} $\ast$rxs, int rssi, int nf)
\item 
void \mbox{\hyperlink{ieee80211__monitor_8c_ada670d8254c64035414baa798cd47526}{ieee80211\+\_\+monitor\+\_\+attach}} (struct \mbox{\hyperlink{structieee80211com}{ieee80211com}} $\ast$ic)
\item 
void \mbox{\hyperlink{ieee80211__monitor_8c_ac3e73bfb4a90ea4ef3f95ec429eb9c8c}{ieee80211\+\_\+monitor\+\_\+detach}} (struct \mbox{\hyperlink{structieee80211com}{ieee80211com}} $\ast$ic)
\item 
static void \mbox{\hyperlink{ieee80211__monitor_8c_a7b465eb42809b991bd7839a4a2a2724e}{monitor\+\_\+vdetach}} (struct \mbox{\hyperlink{structieee80211vap}{ieee80211vap}} $\ast$vap)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ieee80211__monitor_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{ieee80211__monitor_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{ieee80211\_monitor.c@{ieee80211\_monitor.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!ieee80211\_monitor.c@{ieee80211\_monitor.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ieee80211__monitor_8c_ada670d8254c64035414baa798cd47526}\label{ieee80211__monitor_8c_ada670d8254c64035414baa798cd47526}} 
\index{ieee80211\_monitor.c@{ieee80211\_monitor.c}!ieee80211\_monitor\_attach@{ieee80211\_monitor\_attach}}
\index{ieee80211\_monitor\_attach@{ieee80211\_monitor\_attach}!ieee80211\_monitor.c@{ieee80211\_monitor.c}}
\doxysubsubsection{\texorpdfstring{ieee80211\_monitor\_attach()}{ieee80211\_monitor\_attach()}}
{\footnotesize\ttfamily void ieee80211\+\_\+monitor\+\_\+attach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structieee80211com}{ieee80211com}} $\ast$}]{ic }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ieee80211__monitor_8c_source_l00069}{69}} of file \mbox{\hyperlink{ieee80211__monitor_8c_source}{ieee80211\+\_\+monitor.\+c}}.



References \mbox{\hyperlink{ieee80211__var_8h_source_l00274}{ieee80211com\+::ic\+\_\+vattach}}, \mbox{\hyperlink{__ieee80211_8h_source_l00091}{IEEE80211\+\_\+\+M\+\_\+\+MONITOR}}, and \mbox{\hyperlink{ieee80211__monitor_8c_source_l00085}{monitor\+\_\+vattach()}}.



Referenced by \mbox{\hyperlink{ieee80211__proto_8c_source_l00264}{ieee80211\+\_\+proto\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_ada670d8254c64035414baa798cd47526_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_ada670d8254c64035414baa798cd47526_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ieee80211__monitor_8c_ac3e73bfb4a90ea4ef3f95ec429eb9c8c}\label{ieee80211__monitor_8c_ac3e73bfb4a90ea4ef3f95ec429eb9c8c}} 
\index{ieee80211\_monitor.c@{ieee80211\_monitor.c}!ieee80211\_monitor\_detach@{ieee80211\_monitor\_detach}}
\index{ieee80211\_monitor\_detach@{ieee80211\_monitor\_detach}!ieee80211\_monitor.c@{ieee80211\_monitor.c}}
\doxysubsubsection{\texorpdfstring{ieee80211\_monitor\_detach()}{ieee80211\_monitor\_detach()}}
{\footnotesize\ttfamily void ieee80211\+\_\+monitor\+\_\+detach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structieee80211com}{ieee80211com}} $\ast$}]{ic }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ieee80211__monitor_8c_source_l00075}{75}} of file \mbox{\hyperlink{ieee80211__monitor_8c_source}{ieee80211\+\_\+monitor.\+c}}.



Referenced by \mbox{\hyperlink{ieee80211__proto_8c_source_l00308}{ieee80211\+\_\+proto\+\_\+detach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_ac3e73bfb4a90ea4ef3f95ec429eb9c8c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ieee80211__monitor_8c_a1132ff6c533ee81faf61ba3dad56d88a}\label{ieee80211__monitor_8c_a1132ff6c533ee81faf61ba3dad56d88a}} 
\index{ieee80211\_monitor.c@{ieee80211\_monitor.c}!monitor\_input@{monitor\_input}}
\index{monitor\_input@{monitor\_input}!ieee80211\_monitor.c@{ieee80211\_monitor.c}}
\doxysubsubsection{\texorpdfstring{monitor\_input()}{monitor\_input()}}
{\footnotesize\ttfamily static int monitor\+\_\+input (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structieee80211__node}{ieee80211\+\_\+node}} $\ast$}]{ni,  }\item[{struct mbuf $\ast$}]{m,  }\item[{const struct \mbox{\hyperlink{structieee80211__rx__stats}{ieee80211\+\_\+rx\+\_\+stats}} $\ast$}]{rxs,  }\item[{int}]{rssi,  }\item[{int}]{nf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ieee80211__monitor_8c_source_l00130}{130}} of file \mbox{\hyperlink{ieee80211__monitor_8c_source}{ieee80211\+\_\+monitor.\+c}}.



References \mbox{\hyperlink{ieee80211__var_8h_source_l00835}{ieee80211\+\_\+radiotap\+\_\+active\+\_\+vap()}}, \mbox{\hyperlink{ieee80211__radiotap_8c_source_l00231}{ieee80211\+\_\+radiotap\+\_\+rx()}}, \mbox{\hyperlink{ieee80211__var_8h_source_l00393}{ieee80211vap\+::iv\+\_\+ifp}}, and \mbox{\hyperlink{ieee80211__node_8h_source_l00120}{ieee80211\+\_\+node\+::ni\+\_\+vap}}.



Referenced by \mbox{\hyperlink{ieee80211__monitor_8c_source_l00085}{monitor\+\_\+vattach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_a1132ff6c533ee81faf61ba3dad56d88a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_a1132ff6c533ee81faf61ba3dad56d88a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ieee80211__monitor_8c_aae6d365ee9ee83f7e942e01bd4fa4353}\label{ieee80211__monitor_8c_aae6d365ee9ee83f7e942e01bd4fa4353}} 
\index{ieee80211\_monitor.c@{ieee80211\_monitor.c}!monitor\_newstate@{monitor\_newstate}}
\index{monitor\_newstate@{monitor\_newstate}!ieee80211\_monitor.c@{ieee80211\_monitor.c}}
\doxysubsubsection{\texorpdfstring{monitor\_newstate()}{monitor\_newstate()}}
{\footnotesize\ttfamily static int monitor\+\_\+newstate (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structieee80211vap}{ieee80211vap}} $\ast$}]{vap,  }\item[{enum \mbox{\hyperlink{ieee80211__proto_8h_a6c8e7861891c9e21e6a02ccdba514944}{ieee80211\+\_\+state}}}]{nstate,  }\item[{int}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ieee80211__monitor_8c_source_l00096}{96}} of file \mbox{\hyperlink{ieee80211__monitor_8c_source}{ieee80211\+\_\+monitor.\+c}}.



References \mbox{\hyperlink{ieee80211__var_8h_source_l00208}{ieee80211com\+::ic\+\_\+curchan}}, \mbox{\hyperlink{ieee80211__node_8c_source_l00332}{ieee80211\+\_\+create\+\_\+ibss()}}, \mbox{\hyperlink{ieee80211__var_8h_source_l01092}{IEEE80211\+\_\+\+DPRINTF}}, \mbox{\hyperlink{ieee80211__freebsd_8h_source_l00074}{IEEE80211\+\_\+\+LOCK\+\_\+\+ASSERT}}, \mbox{\hyperlink{ieee80211__var_8h_source_l00990}{IEEE80211\+\_\+\+MSG\+\_\+\+STATE}}, \mbox{\hyperlink{ieee80211__node_8c_source_l00213}{ieee80211\+\_\+node\+\_\+authorize()}}, \mbox{\hyperlink{ieee80211__proto_8h_source_l00038}{IEEE80211\+\_\+\+S\+\_\+\+INIT}}, \mbox{\hyperlink{ieee80211__proto_8h_source_l00043}{IEEE80211\+\_\+\+S\+\_\+\+RUN}}, \mbox{\hyperlink{ieee80211__proto_8c_source_l00089}{ieee80211\+\_\+state\+\_\+name}}, \mbox{\hyperlink{ieee80211__var_8h_source_l00487}{ieee80211vap\+::iv\+\_\+bss}}, \mbox{\hyperlink{ieee80211__var_8h_source_l00399}{ieee80211vap\+::iv\+\_\+ic}}, and \mbox{\hyperlink{ieee80211__var_8h_source_l00415}{ieee80211vap\+::iv\+\_\+state}}.



Referenced by \mbox{\hyperlink{ieee80211__monitor_8c_source_l00085}{monitor\+\_\+vattach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_aae6d365ee9ee83f7e942e01bd4fa4353_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_aae6d365ee9ee83f7e942e01bd4fa4353_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ieee80211__monitor_8c_a03e7d4489af7ef1236b77a82d5f46f6b}\label{ieee80211__monitor_8c_a03e7d4489af7ef1236b77a82d5f46f6b}} 
\index{ieee80211\_monitor.c@{ieee80211\_monitor.c}!monitor\_vattach@{monitor\_vattach}}
\index{monitor\_vattach@{monitor\_vattach}!ieee80211\_monitor.c@{ieee80211\_monitor.c}}
\doxysubsubsection{\texorpdfstring{monitor\_vattach()}{monitor\_vattach()}}
{\footnotesize\ttfamily static void monitor\+\_\+vattach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structieee80211vap}{ieee80211vap}} $\ast$}]{vap }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ieee80211__monitor_8c_source_l00085}{85}} of file \mbox{\hyperlink{ieee80211__monitor_8c_source}{ieee80211\+\_\+monitor.\+c}}.



References \mbox{\hyperlink{ieee80211__var_8h_source_l00534}{ieee80211vap\+::iv\+\_\+input}}, \mbox{\hyperlink{ieee80211__var_8h_source_l00566}{ieee80211vap\+::iv\+\_\+newstate}}, \mbox{\hyperlink{ieee80211__var_8h_source_l00532}{ieee80211vap\+::iv\+\_\+opdetach}}, \mbox{\hyperlink{ieee80211__monitor_8c_source_l00130}{monitor\+\_\+input()}}, \mbox{\hyperlink{ieee80211__monitor_8c_source_l00096}{monitor\+\_\+newstate()}}, and \mbox{\hyperlink{ieee80211__monitor_8c_source_l00080}{monitor\+\_\+vdetach()}}.



Referenced by \mbox{\hyperlink{ieee80211__monitor_8c_source_l00069}{ieee80211\+\_\+monitor\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_a03e7d4489af7ef1236b77a82d5f46f6b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_a03e7d4489af7ef1236b77a82d5f46f6b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ieee80211__monitor_8c_a7b465eb42809b991bd7839a4a2a2724e}\label{ieee80211__monitor_8c_a7b465eb42809b991bd7839a4a2a2724e}} 
\index{ieee80211\_monitor.c@{ieee80211\_monitor.c}!monitor\_vdetach@{monitor\_vdetach}}
\index{monitor\_vdetach@{monitor\_vdetach}!ieee80211\_monitor.c@{ieee80211\_monitor.c}}
\doxysubsubsection{\texorpdfstring{monitor\_vdetach()}{monitor\_vdetach()}}
{\footnotesize\ttfamily static void monitor\+\_\+vdetach (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structieee80211vap}{ieee80211vap}} $\ast$}]{vap }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ieee80211__monitor_8c_source_l00080}{80}} of file \mbox{\hyperlink{ieee80211__monitor_8c_source}{ieee80211\+\_\+monitor.\+c}}.



Referenced by \mbox{\hyperlink{ieee80211__monitor_8c_source_l00085}{monitor\+\_\+vattach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dbd/ieee80211__monitor_8c_a7b465eb42809b991bd7839a4a2a2724e_icgraph}
\end{center}
\end{figure}
