\hypertarget{ar5210__keycache_8c}{}\doxysection{dev/ath/ath\+\_\+hal/ar5210/ar5210\+\_\+keycache.c File Reference}
\label{ar5210__keycache_8c}\index{dev/ath/ath\_hal/ar5210/ar5210\_keycache.c@{dev/ath/ath\_hal/ar5210/ar5210\_keycache.c}}
{\ttfamily \#include \char`\"{}opt\+\_\+ah.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ah.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ah\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ar5210/ar5210.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ar5210/ar5210reg.\+h\char`\"{}}\newline
Include dependency graph for ar5210\+\_\+keycache.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d4a/ar5210__keycache_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{ar5210__keycache_8c_a3d4fbfaf77b73e78c777948bd653fff9}{AR\+\_\+\+KEYTABLE\+\_\+\+SIZE}}~64
\item 
\#define \mbox{\hyperlink{ar5210__keycache_8c_a78722a84cc873faf8a0aab24a3f58fe4}{KEY\+\_\+\+XOR}}~0xaa
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
u\+\_\+int \mbox{\hyperlink{ar5210__keycache_8c_acf792101c2a2bd2d021ce229dc52d66a}{ar5210\+Get\+Key\+Cache\+Size}} (struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$ah)
\item 
\mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} \mbox{\hyperlink{ar5210__keycache_8c_ad9e0d0583d0b84961e68b28885946a7e}{ar5210\+Is\+Key\+Cache\+Entry\+Valid}} (struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$ah, uint16\+\_\+t entry)
\item 
\mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} \mbox{\hyperlink{ar5210__keycache_8c_a9d8c4effd078fa9920d9cc59337d470d}{ar5210\+Reset\+Key\+Cache\+Entry}} (struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$ah, uint16\+\_\+t entry)
\item 
\mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} \mbox{\hyperlink{ar5210__keycache_8c_a4f3b841a9e0dbed4b7a2fb7638fff6e3}{ar5210\+Set\+Key\+Cache\+Entry\+Mac}} (struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$ah, uint16\+\_\+t entry, const uint8\+\_\+t $\ast$mac)
\item 
\mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} \mbox{\hyperlink{ar5210__keycache_8c_a73a55822a788e019fb81896cb70fe7d2}{ar5210\+Set\+Key\+Cache\+Entry}} (struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$ah, uint16\+\_\+t entry, const \mbox{\hyperlink{structHAL__KEYVAL}{HAL\+\_\+\+KEYVAL}} $\ast$k, const uint8\+\_\+t $\ast$mac, int xor\+Key)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{ar5210__keycache_8c_a3d4fbfaf77b73e78c777948bd653fff9}\label{ar5210__keycache_8c_a3d4fbfaf77b73e78c777948bd653fff9}} 
\index{ar5210\_keycache.c@{ar5210\_keycache.c}!AR\_KEYTABLE\_SIZE@{AR\_KEYTABLE\_SIZE}}
\index{AR\_KEYTABLE\_SIZE@{AR\_KEYTABLE\_SIZE}!ar5210\_keycache.c@{ar5210\_keycache.c}}
\doxysubsubsection{\texorpdfstring{AR\_KEYTABLE\_SIZE}{AR\_KEYTABLE\_SIZE}}
{\footnotesize\ttfamily \#define AR\+\_\+\+KEYTABLE\+\_\+\+SIZE~64}



Definition at line \mbox{\hyperlink{ar5210__keycache_8c_source_l00029}{29}} of file \mbox{\hyperlink{ar5210__keycache_8c_source}{ar5210\+\_\+keycache.\+c}}.

\mbox{\Hypertarget{ar5210__keycache_8c_a78722a84cc873faf8a0aab24a3f58fe4}\label{ar5210__keycache_8c_a78722a84cc873faf8a0aab24a3f58fe4}} 
\index{ar5210\_keycache.c@{ar5210\_keycache.c}!KEY\_XOR@{KEY\_XOR}}
\index{KEY\_XOR@{KEY\_XOR}!ar5210\_keycache.c@{ar5210\_keycache.c}}
\doxysubsubsection{\texorpdfstring{KEY\_XOR}{KEY\_XOR}}
{\footnotesize\ttfamily \#define KEY\+\_\+\+XOR~0xaa}



Definition at line \mbox{\hyperlink{ar5210__keycache_8c_source_l00030}{30}} of file \mbox{\hyperlink{ar5210__keycache_8c_source}{ar5210\+\_\+keycache.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ar5210__keycache_8c_acf792101c2a2bd2d021ce229dc52d66a}\label{ar5210__keycache_8c_acf792101c2a2bd2d021ce229dc52d66a}} 
\index{ar5210\_keycache.c@{ar5210\_keycache.c}!ar5210GetKeyCacheSize@{ar5210GetKeyCacheSize}}
\index{ar5210GetKeyCacheSize@{ar5210GetKeyCacheSize}!ar5210\_keycache.c@{ar5210\_keycache.c}}
\doxysubsubsection{\texorpdfstring{ar5210GetKeyCacheSize()}{ar5210GetKeyCacheSize()}}
{\footnotesize\ttfamily u\+\_\+int ar5210\+Get\+Key\+Cache\+Size (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$}]{ah }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ar5210__keycache_8c_source_l00036}{36}} of file \mbox{\hyperlink{ar5210__keycache_8c_source}{ar5210\+\_\+keycache.\+c}}.



References \mbox{\hyperlink{ar5210__keycache_8c_source_l00029}{AR\+\_\+\+KEYTABLE\+\_\+\+SIZE}}.

\mbox{\Hypertarget{ar5210__keycache_8c_ad9e0d0583d0b84961e68b28885946a7e}\label{ar5210__keycache_8c_ad9e0d0583d0b84961e68b28885946a7e}} 
\index{ar5210\_keycache.c@{ar5210\_keycache.c}!ar5210IsKeyCacheEntryValid@{ar5210IsKeyCacheEntryValid}}
\index{ar5210IsKeyCacheEntryValid@{ar5210IsKeyCacheEntryValid}!ar5210\_keycache.c@{ar5210\_keycache.c}}
\doxysubsubsection{\texorpdfstring{ar5210IsKeyCacheEntryValid()}{ar5210IsKeyCacheEntryValid()}}
{\footnotesize\ttfamily \mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} ar5210\+Is\+Key\+Cache\+Entry\+Valid (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$}]{ah,  }\item[{uint16\+\_\+t}]{entry }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ar5210__keycache_8c_source_l00045}{45}} of file \mbox{\hyperlink{ar5210__keycache_8c_source}{ar5210\+\_\+keycache.\+c}}.



References \mbox{\hyperlink{ah_8h_source_l00094}{AH\+\_\+\+FALSE}}, \mbox{\hyperlink{ah_8h_source_l00095}{AH\+\_\+\+TRUE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00412}{AR\+\_\+\+KEYTABLE\+\_\+\+MAC1}}, \mbox{\hyperlink{ar5210__keycache_8c_source_l00029}{AR\+\_\+\+KEYTABLE\+\_\+\+SIZE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00413}{AR\+\_\+\+KEYTABLE\+\_\+\+VALID}}, and \mbox{\hyperlink{ah__osdep_8h_source_l00140}{OS\+\_\+\+REG\+\_\+\+READ}}.

\mbox{\Hypertarget{ar5210__keycache_8c_a9d8c4effd078fa9920d9cc59337d470d}\label{ar5210__keycache_8c_a9d8c4effd078fa9920d9cc59337d470d}} 
\index{ar5210\_keycache.c@{ar5210\_keycache.c}!ar5210ResetKeyCacheEntry@{ar5210ResetKeyCacheEntry}}
\index{ar5210ResetKeyCacheEntry@{ar5210ResetKeyCacheEntry}!ar5210\_keycache.c@{ar5210\_keycache.c}}
\doxysubsubsection{\texorpdfstring{ar5210ResetKeyCacheEntry()}{ar5210ResetKeyCacheEntry()}}
{\footnotesize\ttfamily \mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} ar5210\+Reset\+Key\+Cache\+Entry (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$}]{ah,  }\item[{uint16\+\_\+t}]{entry }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ar5210__keycache_8c_source_l00059}{59}} of file \mbox{\hyperlink{ar5210__keycache_8c_source}{ar5210\+\_\+keycache.\+c}}.



References \mbox{\hyperlink{ah_8h_source_l00094}{AH\+\_\+\+FALSE}}, \mbox{\hyperlink{ah_8h_source_l00095}{AH\+\_\+\+TRUE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00402}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY0}}, \mbox{\hyperlink{ar5210reg_8h_source_l00403}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY1}}, \mbox{\hyperlink{ar5210reg_8h_source_l00404}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY2}}, \mbox{\hyperlink{ar5210reg_8h_source_l00405}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY3}}, \mbox{\hyperlink{ar5210reg_8h_source_l00406}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY4}}, \mbox{\hyperlink{ar5210reg_8h_source_l00411}{AR\+\_\+\+KEYTABLE\+\_\+\+MAC0}}, \mbox{\hyperlink{ar5210reg_8h_source_l00412}{AR\+\_\+\+KEYTABLE\+\_\+\+MAC1}}, \mbox{\hyperlink{ar5210__keycache_8c_source_l00029}{AR\+\_\+\+KEYTABLE\+\_\+\+SIZE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00407}{AR\+\_\+\+KEYTABLE\+\_\+\+TYPE}}, and \mbox{\hyperlink{ah__osdep_8h_source_l00139}{OS\+\_\+\+REG\+\_\+\+WRITE}}.

\mbox{\Hypertarget{ar5210__keycache_8c_a73a55822a788e019fb81896cb70fe7d2}\label{ar5210__keycache_8c_a73a55822a788e019fb81896cb70fe7d2}} 
\index{ar5210\_keycache.c@{ar5210\_keycache.c}!ar5210SetKeyCacheEntry@{ar5210SetKeyCacheEntry}}
\index{ar5210SetKeyCacheEntry@{ar5210SetKeyCacheEntry}!ar5210\_keycache.c@{ar5210\_keycache.c}}
\doxysubsubsection{\texorpdfstring{ar5210SetKeyCacheEntry()}{ar5210SetKeyCacheEntry()}}
{\footnotesize\ttfamily \mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} ar5210\+Set\+Key\+Cache\+Entry (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$}]{ah,  }\item[{uint16\+\_\+t}]{entry,  }\item[{const \mbox{\hyperlink{structHAL__KEYVAL}{HAL\+\_\+\+KEYVAL}} $\ast$}]{k,  }\item[{const uint8\+\_\+t $\ast$}]{mac,  }\item[{int}]{xor\+Key }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ar5210__keycache_8c_source_l00111}{111}} of file \mbox{\hyperlink{ar5210__keycache_8c_source}{ar5210\+\_\+keycache.\+c}}.



References \mbox{\hyperlink{ah_8h_source_l00094}{AH\+\_\+\+FALSE}}, \mbox{\hyperlink{ar5210__keycache_8c_source_l00079}{ar5210\+Set\+Key\+Cache\+Entry\+Mac()}}, \mbox{\hyperlink{ar5210reg_8h_source_l00402}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY0}}, \mbox{\hyperlink{ar5210reg_8h_source_l00403}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY1}}, \mbox{\hyperlink{ar5210reg_8h_source_l00404}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY2}}, \mbox{\hyperlink{ar5210reg_8h_source_l00405}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY3}}, \mbox{\hyperlink{ar5210reg_8h_source_l00406}{AR\+\_\+\+KEYTABLE\+\_\+\+KEY4}}, \mbox{\hyperlink{ar5210__keycache_8c_source_l00029}{AR\+\_\+\+KEYTABLE\+\_\+\+SIZE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00407}{AR\+\_\+\+KEYTABLE\+\_\+\+TYPE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00409}{AR\+\_\+\+KEYTABLE\+\_\+\+TYPE\+\_\+104}}, \mbox{\hyperlink{ar5210reg_8h_source_l00410}{AR\+\_\+\+KEYTABLE\+\_\+\+TYPE\+\_\+128}}, \mbox{\hyperlink{ar5210reg_8h_source_l00408}{AR\+\_\+\+KEYTABLE\+\_\+\+TYPE\+\_\+40}}, \mbox{\hyperlink{ah_8h_source_l00805}{HAL\+\_\+\+CIPHER\+\_\+\+WEP}}, \mbox{\hyperlink{ah__debug_8h_source_l00062}{HAL\+\_\+\+DEBUG\+\_\+\+ANY}}, \mbox{\hyperlink{ah__internal_8h_source_l00658}{HALDEBUG}}, \mbox{\hyperlink{ar5210__keycache_8c_source_l00030}{KEY\+\_\+\+XOR}}, \mbox{\hyperlink{ar5416__keycache_8c_source_l00028}{key\+Type}}, \mbox{\hyperlink{ah_8h_source_l00786}{HAL\+\_\+\+KEYVAL\+::kv\+\_\+len}}, \mbox{\hyperlink{ah_8h_source_l00784}{HAL\+\_\+\+KEYVAL\+::kv\+\_\+type}}, \mbox{\hyperlink{ah_8h_source_l00787}{HAL\+\_\+\+KEYVAL\+::kv\+\_\+val}}, \mbox{\hyperlink{ah__internal_8h_source_l00574}{LE\+\_\+\+READ\+\_\+2}}, \mbox{\hyperlink{ah__internal_8h_source_l00577}{LE\+\_\+\+READ\+\_\+4}}, \mbox{\hyperlink{ah__internal_8h_source_l00036}{NBBY}}, and \mbox{\hyperlink{ah__osdep_8h_source_l00139}{OS\+\_\+\+REG\+\_\+\+WRITE}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/db8/ar5210__keycache_8c_a73a55822a788e019fb81896cb70fe7d2_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ar5210__keycache_8c_a4f3b841a9e0dbed4b7a2fb7638fff6e3}\label{ar5210__keycache_8c_a4f3b841a9e0dbed4b7a2fb7638fff6e3}} 
\index{ar5210\_keycache.c@{ar5210\_keycache.c}!ar5210SetKeyCacheEntryMac@{ar5210SetKeyCacheEntryMac}}
\index{ar5210SetKeyCacheEntryMac@{ar5210SetKeyCacheEntryMac}!ar5210\_keycache.c@{ar5210\_keycache.c}}
\doxysubsubsection{\texorpdfstring{ar5210SetKeyCacheEntryMac()}{ar5210SetKeyCacheEntryMac()}}
{\footnotesize\ttfamily \mbox{\hyperlink{ah_8h_ae8793e83d29537653565625006f5c39a}{HAL\+\_\+\+BOOL}} ar5210\+Set\+Key\+Cache\+Entry\+Mac (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structath__hal}{ath\+\_\+hal}} $\ast$}]{ah,  }\item[{uint16\+\_\+t}]{entry,  }\item[{const uint8\+\_\+t $\ast$}]{mac }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ar5210__keycache_8c_source_l00079}{79}} of file \mbox{\hyperlink{ar5210__keycache_8c_source}{ar5210\+\_\+keycache.\+c}}.



References \mbox{\hyperlink{ah_8h_source_l00094}{AH\+\_\+\+FALSE}}, \mbox{\hyperlink{ah__internal_8h_source_l00028}{AH\+\_\+\+NULL}}, \mbox{\hyperlink{ah_8h_source_l00095}{AH\+\_\+\+TRUE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00411}{AR\+\_\+\+KEYTABLE\+\_\+\+MAC0}}, \mbox{\hyperlink{ar5210reg_8h_source_l00412}{AR\+\_\+\+KEYTABLE\+\_\+\+MAC1}}, \mbox{\hyperlink{ar5210__keycache_8c_source_l00029}{AR\+\_\+\+KEYTABLE\+\_\+\+SIZE}}, \mbox{\hyperlink{ar5210reg_8h_source_l00413}{AR\+\_\+\+KEYTABLE\+\_\+\+VALID}}, and \mbox{\hyperlink{ah__osdep_8h_source_l00139}{OS\+\_\+\+REG\+\_\+\+WRITE}}.



Referenced by \mbox{\hyperlink{ar5210__keycache_8c_source_l00111}{ar5210\+Set\+Key\+Cache\+Entry()}}.

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