\hypertarget{hkdf_8h}{}\section{src/hkdf.h File Reference}
\label{hkdf_8h}\index{src/hkdf.\+h@{src/hkdf.\+h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stddef.\+h$>$}\newline
{\ttfamily \#include \char`\"{}signal\+\_\+protocol\+\_\+types.\+h\char`\"{}}\newline
Include dependency graph for hkdf.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=280pt]{hkdf_8h__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{hkdf_8h_ad66bd048d9e16286826a71e8edd6c665}{hkdf\+\_\+create} (\hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$$\ast$context, int message\+\_\+version, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
ssize\+\_\+t \hyperlink{hkdf_8h_a1742c8ea7210741236054a93d7329d75}{hkdf\+\_\+derive\+\_\+secrets} (\hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$context, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$$\ast$output, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$input\+\_\+key\+\_\+material, size\+\_\+t input\+\_\+key\+\_\+material\+\_\+len, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$salt, size\+\_\+t salt\+\_\+len, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$info, size\+\_\+t info\+\_\+len, size\+\_\+t output\+\_\+len)
\item 
int \hyperlink{hkdf_8h_a56629af8fd45e8c3dffddd745f15cf7a}{hkdf\+\_\+compare} (const \hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$context1, const \hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$context2)
\item 
void \hyperlink{hkdf_8h_a5681d7b704dbd8bbbe3a881258368598}{hkdf\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\Hypertarget{hkdf_8h_a56629af8fd45e8c3dffddd745f15cf7a}\label{hkdf_8h_a56629af8fd45e8c3dffddd745f15cf7a}} 
\index{hkdf.\+h@{hkdf.\+h}!hkdf\+\_\+compare@{hkdf\+\_\+compare}}
\index{hkdf\+\_\+compare@{hkdf\+\_\+compare}!hkdf.\+h@{hkdf.\+h}}
\subsubsection{\texorpdfstring{hkdf\+\_\+compare()}{hkdf\_compare()}}
{\footnotesize\ttfamily int hkdf\+\_\+compare (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$}]{context1,  }\item[{const \hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$}]{context2 }\end{DoxyParamCaption})}

\mbox{\Hypertarget{hkdf_8h_ad66bd048d9e16286826a71e8edd6c665}\label{hkdf_8h_ad66bd048d9e16286826a71e8edd6c665}} 
\index{hkdf.\+h@{hkdf.\+h}!hkdf\+\_\+create@{hkdf\+\_\+create}}
\index{hkdf\+\_\+create@{hkdf\+\_\+create}!hkdf.\+h@{hkdf.\+h}}
\subsubsection{\texorpdfstring{hkdf\+\_\+create()}{hkdf\_create()}}
{\footnotesize\ttfamily int hkdf\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$$\ast$}]{context,  }\item[{int}]{message\+\_\+version,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{hkdf_8h_a1742c8ea7210741236054a93d7329d75}\label{hkdf_8h_a1742c8ea7210741236054a93d7329d75}} 
\index{hkdf.\+h@{hkdf.\+h}!hkdf\+\_\+derive\+\_\+secrets@{hkdf\+\_\+derive\+\_\+secrets}}
\index{hkdf\+\_\+derive\+\_\+secrets@{hkdf\+\_\+derive\+\_\+secrets}!hkdf.\+h@{hkdf.\+h}}
\subsubsection{\texorpdfstring{hkdf\+\_\+derive\+\_\+secrets()}{hkdf\_derive\_secrets()}}
{\footnotesize\ttfamily ssize\+\_\+t hkdf\+\_\+derive\+\_\+secrets (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$}]{context,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$$\ast$}]{output,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{input\+\_\+key\+\_\+material,  }\item[{size\+\_\+t}]{input\+\_\+key\+\_\+material\+\_\+len,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{salt,  }\item[{size\+\_\+t}]{salt\+\_\+len,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{info,  }\item[{size\+\_\+t}]{info\+\_\+len,  }\item[{size\+\_\+t}]{output\+\_\+len }\end{DoxyParamCaption})}

\mbox{\Hypertarget{hkdf_8h_a5681d7b704dbd8bbbe3a881258368598}\label{hkdf_8h_a5681d7b704dbd8bbbe3a881258368598}} 
\index{hkdf.\+h@{hkdf.\+h}!hkdf\+\_\+destroy@{hkdf\+\_\+destroy}}
\index{hkdf\+\_\+destroy@{hkdf\+\_\+destroy}!hkdf.\+h@{hkdf.\+h}}
\subsubsection{\texorpdfstring{hkdf\+\_\+destroy()}{hkdf\_destroy()}}
{\footnotesize\ttfamily void hkdf\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

