\hypertarget{group__wickr__storage__keys}{}\doxysection{Wickr\+\_\+storage\+\_\+keys}
\label{group__wickr__storage__keys}\index{Wickr\_storage\_keys@{Wickr\_storage\_keys}}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys}}
\begin{DoxyCompactList}\small\item\em Key\textquotesingle{}s used for the client to encrypt data meant for itself, and not for other clients. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$ \mbox{\hyperlink{group__wickr__storage__keys_gad03ddd5ea10633ca35097e5f4707d5cb}{wickr\+\_\+storage\+\_\+keys\+\_\+create}} (\mbox{\hyperlink{structwickr__cipher__key}{wickr\+\_\+cipher\+\_\+key\+\_\+t}} $\ast$local, \mbox{\hyperlink{structwickr__cipher__key}{wickr\+\_\+cipher\+\_\+key\+\_\+t}} $\ast$remote)
\item 
\mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$ \mbox{\hyperlink{group__wickr__storage__keys_gad6839a21bca1c28775d51deb6b7c3835}{wickr\+\_\+storage\+\_\+keys\+\_\+copy}} (const \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$source)
\item 
\mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$ \mbox{\hyperlink{group__wickr__storage__keys_gae5631d93182e635fb7f48269eb3f1723}{wickr\+\_\+storage\+\_\+keys\+\_\+create\+\_\+from\+\_\+buffer}} (const \mbox{\hyperlink{structwickr__buffer}{wickr\+\_\+buffer\+\_\+t}} $\ast$buffer)
\item 
\mbox{\hyperlink{structwickr__buffer}{wickr\+\_\+buffer\+\_\+t}} $\ast$ \mbox{\hyperlink{group__wickr__storage__keys_ga10a0d6e13442682b2fecff2ed753c2f6}{wickr\+\_\+storage\+\_\+keys\+\_\+serialize}} (const \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$keys)
\item 
void \mbox{\hyperlink{group__wickr__storage__keys_ga2c1494802577d025d70bf553c43da344}{wickr\+\_\+storage\+\_\+keys\+\_\+destroy}} (\mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$$\ast$keys)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__wickr__storage__keys_gad6839a21bca1c28775d51deb6b7c3835}\label{group__wickr__storage__keys_gad6839a21bca1c28775d51deb6b7c3835}} 
\index{Wickr\_storage\_keys@{Wickr\_storage\_keys}!wickr\_storage\_keys\_copy@{wickr\_storage\_keys\_copy}}
\index{wickr\_storage\_keys\_copy@{wickr\_storage\_keys\_copy}!Wickr\_storage\_keys@{Wickr\_storage\_keys}}
\doxysubsubsection{\texorpdfstring{wickr\_storage\_keys\_copy()}{wickr\_storage\_keys\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}}$\ast$ wickr\+\_\+storage\+\_\+keys\+\_\+copy (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$}]{source }\end{DoxyParamCaption})}

Copy a storage key set


\begin{DoxyParams}{Parameters}
{\em source} & the storage key set to copy \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a newly allocated storage key set holding a deep copy of the properties of \textquotesingle{}source\textquotesingle{} 
\end{DoxyReturn}
\mbox{\Hypertarget{group__wickr__storage__keys_gad03ddd5ea10633ca35097e5f4707d5cb}\label{group__wickr__storage__keys_gad03ddd5ea10633ca35097e5f4707d5cb}} 
\index{Wickr\_storage\_keys@{Wickr\_storage\_keys}!wickr\_storage\_keys\_create@{wickr\_storage\_keys\_create}}
\index{wickr\_storage\_keys\_create@{wickr\_storage\_keys\_create}!Wickr\_storage\_keys@{Wickr\_storage\_keys}}
\doxysubsubsection{\texorpdfstring{wickr\_storage\_keys\_create()}{wickr\_storage\_keys\_create()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}}$\ast$ wickr\+\_\+storage\+\_\+keys\+\_\+create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structwickr__cipher__key}{wickr\+\_\+cipher\+\_\+key\+\_\+t}} $\ast$}]{local,  }\item[{\mbox{\hyperlink{structwickr__cipher__key}{wickr\+\_\+cipher\+\_\+key\+\_\+t}} $\ast$}]{remote }\end{DoxyParamCaption})}

Create a storage key set from components


\begin{DoxyParams}{Parameters}
{\em local} & see \textquotesingle{}\mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys}}\textquotesingle{} property documentation \\
\hline
{\em remote} & see \textquotesingle{}\mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys}}\textquotesingle{} property documentation \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a newly allocated storage key set. Takes ownership of the passed inputs 
\end{DoxyReturn}
\mbox{\Hypertarget{group__wickr__storage__keys_gae5631d93182e635fb7f48269eb3f1723}\label{group__wickr__storage__keys_gae5631d93182e635fb7f48269eb3f1723}} 
\index{Wickr\_storage\_keys@{Wickr\_storage\_keys}!wickr\_storage\_keys\_create\_from\_buffer@{wickr\_storage\_keys\_create\_from\_buffer}}
\index{wickr\_storage\_keys\_create\_from\_buffer@{wickr\_storage\_keys\_create\_from\_buffer}!Wickr\_storage\_keys@{Wickr\_storage\_keys}}
\doxysubsubsection{\texorpdfstring{wickr\_storage\_keys\_create\_from\_buffer()}{wickr\_storage\_keys\_create\_from\_buffer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}}$\ast$ wickr\+\_\+storage\+\_\+keys\+\_\+create\+\_\+from\+\_\+buffer (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structwickr__buffer}{wickr\+\_\+buffer\+\_\+t}} $\ast$}]{buffer }\end{DoxyParamCaption})}

Create a storage key set from a previously serialized storage key set


\begin{DoxyParams}{Parameters}
{\em buffer} & a buffer containing the output of \textquotesingle{}wickr\+\_\+storage\+\_\+keys\+\_\+serialize\textquotesingle{} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a newly allocated storage key set or NULL if parsing fails 
\end{DoxyReturn}
\mbox{\Hypertarget{group__wickr__storage__keys_ga2c1494802577d025d70bf553c43da344}\label{group__wickr__storage__keys_ga2c1494802577d025d70bf553c43da344}} 
\index{Wickr\_storage\_keys@{Wickr\_storage\_keys}!wickr\_storage\_keys\_destroy@{wickr\_storage\_keys\_destroy}}
\index{wickr\_storage\_keys\_destroy@{wickr\_storage\_keys\_destroy}!Wickr\_storage\_keys@{Wickr\_storage\_keys}}
\doxysubsubsection{\texorpdfstring{wickr\_storage\_keys\_destroy()}{wickr\_storage\_keys\_destroy()}}
{\footnotesize\ttfamily void wickr\+\_\+storage\+\_\+keys\+\_\+destroy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$$\ast$}]{keys }\end{DoxyParamCaption})}

Destroy a storage key set


\begin{DoxyParams}{Parameters}
{\em keys} & a pointer to the storage key set to destroy. All properties of \textquotesingle{}$\ast$keys\textquotesingle{} will also be destroyed \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__wickr__storage__keys_ga10a0d6e13442682b2fecff2ed753c2f6}\label{group__wickr__storage__keys_ga10a0d6e13442682b2fecff2ed753c2f6}} 
\index{Wickr\_storage\_keys@{Wickr\_storage\_keys}!wickr\_storage\_keys\_serialize@{wickr\_storage\_keys\_serialize}}
\index{wickr\_storage\_keys\_serialize@{wickr\_storage\_keys\_serialize}!Wickr\_storage\_keys@{Wickr\_storage\_keys}}
\doxysubsubsection{\texorpdfstring{wickr\_storage\_keys\_serialize()}{wickr\_storage\_keys\_serialize()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structwickr__buffer}{wickr\+\_\+buffer\+\_\+t}}$\ast$ wickr\+\_\+storage\+\_\+keys\+\_\+serialize (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structwickr__storage__keys}{wickr\+\_\+storage\+\_\+keys\+\_\+t}} $\ast$}]{keys }\end{DoxyParamCaption})}

Serialize a storage key set to a buffer


\begin{DoxyParams}{Parameters}
{\em keys} & the keys to serialize \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a buffer containing the properties of storage keys in the following format\+: $\vert$ CIPHER\+\_\+\+ID (LOCAL) $\vert$ KEY\+\_\+\+DATA (LOCAL) $\vert$ CIPHER\+\_\+\+ID (REMOTE) $\vert$ KEY\+\_\+\+DATA (REMOTE) $\vert$ 
\end{DoxyReturn}
