\doxysection{sha256.\+h}
\label{sha256_8h_source}\index{src/gsm/kdf/sha256.h@{src/gsm/kdf/sha256.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/*}}
\DoxyCodeLine{2 \textcolor{comment}{ * SHA256 hash implementation and interface functions}}
\DoxyCodeLine{3 \textcolor{comment}{ * Copyright (c) 2003-\/2011, Jouni Malinen <j@w1.fi>}}
\DoxyCodeLine{4 \textcolor{comment}{ *}}
\DoxyCodeLine{5 \textcolor{comment}{ * This program is free software; you can redistribute it and/or modify}}
\DoxyCodeLine{6 \textcolor{comment}{ * it under the terms of the GNU General Public License version 2 as}}
\DoxyCodeLine{7 \textcolor{comment}{ * published by the Free Software Foundation.}}
\DoxyCodeLine{8 \textcolor{comment}{ *}}
\DoxyCodeLine{9 \textcolor{comment}{ * Alternatively, this software may be distributed under the terms of BSD}}
\DoxyCodeLine{10 \textcolor{comment}{ * license.}}
\DoxyCodeLine{11 \textcolor{comment}{ *}}
\DoxyCodeLine{12 \textcolor{comment}{ * See README and COPYING for more details.}}
\DoxyCodeLine{13 \textcolor{comment}{ */}}
\DoxyCodeLine{14 }
\DoxyCodeLine{15 \textcolor{preprocessor}{\#ifndef SHA256\_H}}
\DoxyCodeLine{16 \textcolor{preprocessor}{\#define SHA256\_H}}
\DoxyCodeLine{17 }
\DoxyCodeLine{18 \textcolor{preprocessor}{\#define SHA256\_MAC\_LEN 32}}
\DoxyCodeLine{19 }
\DoxyCodeLine{20 \textcolor{keywordtype}{void} hmac\_sha256\_vector(\textcolor{keyword}{const} u8 *key, \textcolor{keywordtype}{size\_t} key\_len, \textcolor{keywordtype}{size\_t} num\_elem,}
\DoxyCodeLine{21                       \textcolor{keyword}{const} u8 *addr[], \textcolor{keyword}{const} \textcolor{keywordtype}{size\_t} *len, u8 *mac);}
\DoxyCodeLine{22 \textcolor{keywordtype}{void} hmac\_sha256(\textcolor{keyword}{const} u8 *key, \textcolor{keywordtype}{size\_t} key\_len, \textcolor{keyword}{const} u8 *data,}
\DoxyCodeLine{23                  \textcolor{keywordtype}{size\_t} data\_len, u8 *mac);}
\DoxyCodeLine{24 \textcolor{keywordtype}{void} sha256\_prf(\textcolor{keyword}{const} u8 *key, \textcolor{keywordtype}{size\_t} key\_len, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *label,}
\DoxyCodeLine{25               \textcolor{keyword}{const} u8 *data, \textcolor{keywordtype}{size\_t} data\_len, u8 *buf, \textcolor{keywordtype}{size\_t} buf\_len);}
\DoxyCodeLine{26 \textcolor{keywordtype}{void} tls\_prf\_sha256(\textcolor{keyword}{const} u8 *secret, \textcolor{keywordtype}{size\_t} secret\_len,}
\DoxyCodeLine{27                     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *label, \textcolor{keyword}{const} u8 *seed, \textcolor{keywordtype}{size\_t} seed\_len,}
\DoxyCodeLine{28                     u8 *out, \textcolor{keywordtype}{size\_t} outlen);}
\DoxyCodeLine{29 }
\DoxyCodeLine{30 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* SHA256\_H */}\textcolor{preprocessor}{}}

\end{DoxyCode}
