\hypertarget{base64_8h}{ \section{include/beecrypt/base64.h File Reference} \label{base64_8h}\index{include/beecrypt/base64.h@{include/beecrypt/base64.h}} } Base64 encoding and decoding, headers. {\ttfamily \#include \char`\"{}beecrypt/beecrypt.h\char`\"{}}\par Include dependency graph for base64.h: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=210pt]{base64_8h__incl} \end{center} \end{figure} \subsection*{Defines} \begin{DoxyCompactItemize} \item \#define \hyperlink{base64_8h_a03c07933ddc4e5433298971545e0cc25}{B64DECODE\_\-WHITESPACE}~\char`\"{} $\backslash$f$\backslash$n$\backslash$r$\backslash$t$\backslash$v\char`\"{} \item \#define \hyperlink{base64_8h_af253d2a2aa49c121308c9673b6ad40d3}{B64ENCODE\_\-CHARS\_\-PER\_\-LINE}~72 \item \#define \hyperlink{base64_8h_aa0f9a215933ac9e105b3e62117736b7d}{B64ENCODE\_\-EOLSTR}~\char`\"{}$\backslash$n\char`\"{} \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item char $\ast$ \hyperlink{base64_8h_a6492c5e1dc7b8a53ce420d92f6ad6e67}{b64encode} (const void $\ast$data, size\_\-t ns) \item char $\ast$ \hyperlink{base64_8h_a8420855d61134f07a28a1cf53dc7cafa}{b64crc} (const unsigned char $\ast$data, size\_\-t ns) \item int \hyperlink{base64_8h_a0b3128126ca31a7187c998e81af1ff52}{b64decode} (const char $\ast$s, void $\ast$$\ast$datap, size\_\-t $\ast$lenp) \item char $\ast$ \hyperlink{base64_8h_ab0aa5a4c2d4d8d0321ac167397cac66f}{b64enc} (const \hyperlink{structmemchunk}{memchunk} $\ast$) \item \hyperlink{structmemchunk}{memchunk} $\ast$ \hyperlink{base64_8h_a57a00a44d1f660a73edb5ceab221c091}{b64dec} (const char $\ast$) \end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item const char $\ast$ \hyperlink{base64_8h_aa6cc813df62a79a36d49ccc79283933b}{b64decode\_\-whitespace} \item int \hyperlink{base64_8h_a2a178e7716aa573ae431466be5d88b29}{b64encode\_\-chars\_\-per\_\-line} \item const char $\ast$ \hyperlink{base64_8h_a4a1b983f10ce83151b0ef69e433f4b62}{b64encode\_\-eolstr} \end{DoxyCompactItemize} \subsection{Detailed Description} Base64 encoding and decoding, headers. \begin{DoxyAuthor}{Author} Bob Deblier $<$\href{mailto:bob.deblier@telenet.be}{\tt bob.deblier@telenet.be}$>$ \end{DoxyAuthor} \subsection{Define Documentation} \hypertarget{base64_8h_a03c07933ddc4e5433298971545e0cc25}{ \index{base64.h@{base64.h}!B64DECODE\_\-WHITESPACE@{B64DECODE\_\-WHITESPACE}} \index{B64DECODE\_\-WHITESPACE@{B64DECODE\_\-WHITESPACE}!base64.h@{base64.h}} \subsubsection[{B64DECODE\_\-WHITESPACE}]{\setlength{\rightskip}{0pt plus 5cm}\#define B64DECODE\_\-WHITESPACE~\char`\"{} $\backslash$f$\backslash$n$\backslash$r$\backslash$t$\backslash$v\char`\"{}}} \label{base64_8h_a03c07933ddc4e5433298971545e0cc25} \hypertarget{base64_8h_af253d2a2aa49c121308c9673b6ad40d3}{ \index{base64.h@{base64.h}!B64ENCODE\_\-CHARS\_\-PER\_\-LINE@{B64ENCODE\_\-CHARS\_\-PER\_\-LINE}} \index{B64ENCODE\_\-CHARS\_\-PER\_\-LINE@{B64ENCODE\_\-CHARS\_\-PER\_\-LINE}!base64.h@{base64.h}} \subsubsection[{B64ENCODE\_\-CHARS\_\-PER\_\-LINE}]{\setlength{\rightskip}{0pt plus 5cm}\#define B64ENCODE\_\-CHARS\_\-PER\_\-LINE~72}} \label{base64_8h_af253d2a2aa49c121308c9673b6ad40d3} \hypertarget{base64_8h_aa0f9a215933ac9e105b3e62117736b7d}{ \index{base64.h@{base64.h}!B64ENCODE\_\-EOLSTR@{B64ENCODE\_\-EOLSTR}} \index{B64ENCODE\_\-EOLSTR@{B64ENCODE\_\-EOLSTR}!base64.h@{base64.h}} \subsubsection[{B64ENCODE\_\-EOLSTR}]{\setlength{\rightskip}{0pt plus 5cm}\#define B64ENCODE\_\-EOLSTR~\char`\"{}$\backslash$n\char`\"{}}} \label{base64_8h_aa0f9a215933ac9e105b3e62117736b7d} \subsection{Function Documentation} \hypertarget{base64_8h_a8420855d61134f07a28a1cf53dc7cafa}{ \index{base64.h@{base64.h}!b64crc@{b64crc}} \index{b64crc@{b64crc}!base64.h@{base64.h}} \subsubsection[{b64crc}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ b64crc ( \begin{DoxyParamCaption} \item[{const unsigned char $\ast$}]{data, } \item[{size\_\-t}]{ns} \end{DoxyParamCaption} )}} \label{base64_8h_a8420855d61134f07a28a1cf53dc7cafa} Encode crc of binary input data into 5 bytes of base64 output. \begin{DoxyParams}{Parameters} {\em data} & binary data \\ \hline {\em ns} & no. bytes of binary data \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} (malloc'd) base64 string \end{DoxyReturn} \hypertarget{base64_8h_a57a00a44d1f660a73edb5ceab221c091}{ \index{base64.h@{base64.h}!b64dec@{b64dec}} \index{b64dec@{b64dec}!base64.h@{base64.h}} \subsubsection[{b64dec}]{\setlength{\rightskip}{0pt plus 5cm}{\bf memchunk}$\ast$ b64dec ( \begin{DoxyParamCaption} \item[{const char $\ast$}]{} \end{DoxyParamCaption} )}} \label{base64_8h_a57a00a44d1f660a73edb5ceab221c091} \hypertarget{base64_8h_a0b3128126ca31a7187c998e81af1ff52}{ \index{base64.h@{base64.h}!b64decode@{b64decode}} \index{b64decode@{b64decode}!base64.h@{base64.h}} \subsubsection[{b64decode}]{\setlength{\rightskip}{0pt plus 5cm}int b64decode ( \begin{DoxyParamCaption} \item[{const char $\ast$}]{s, } \item[{void $\ast$$\ast$}]{datap, } \item[{size\_\-t $\ast$}]{lenp} \end{DoxyParamCaption} )}} \label{base64_8h_a0b3128126ca31a7187c998e81af1ff52} Decode chunks of 4 bytes of base64 input into 3 bytes of binary output. \begin{DoxyParams}{Parameters} {\em s} & base64 string \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Return values} {\em datap} & address of (malloc'd) binary data \\ \hline {\em lenp} & address of no. bytes of binary data \\ \hline \end{DoxyRetVals} \begin{DoxyReturn}{Returns} 0 on success, 1: s == NULL, 2: bad length, 3: bad char \end{DoxyReturn} \hypertarget{base64_8h_ab0aa5a4c2d4d8d0321ac167397cac66f}{ \index{base64.h@{base64.h}!b64enc@{b64enc}} \index{b64enc@{b64enc}!base64.h@{base64.h}} \subsubsection[{b64enc}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ b64enc ( \begin{DoxyParamCaption} \item[{const {\bf memchunk} $\ast$}]{} \end{DoxyParamCaption} )}} \label{base64_8h_ab0aa5a4c2d4d8d0321ac167397cac66f} \hypertarget{base64_8h_a6492c5e1dc7b8a53ce420d92f6ad6e67}{ \index{base64.h@{base64.h}!b64encode@{b64encode}} \index{b64encode@{b64encode}!base64.h@{base64.h}} \subsubsection[{b64encode}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ b64encode ( \begin{DoxyParamCaption} \item[{const void $\ast$}]{data, } \item[{size\_\-t}]{ns} \end{DoxyParamCaption} )}} \label{base64_8h_a6492c5e1dc7b8a53ce420d92f6ad6e67} Encode chunks of 3 bytes of binary input into 4 bytes of base64 output. \begin{DoxyParams}{Parameters} {\em data} & binary data \\ \hline {\em ns} & no. bytes of data (0 uses strlen(data)) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} (malloc'd) base64 string \end{DoxyReturn} \subsection{Variable Documentation} \hypertarget{base64_8h_aa6cc813df62a79a36d49ccc79283933b}{ \index{base64.h@{base64.h}!b64decode\_\-whitespace@{b64decode\_\-whitespace}} \index{b64decode\_\-whitespace@{b64decode\_\-whitespace}!base64.h@{base64.h}} \subsubsection[{b64decode\_\-whitespace}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf b64decode\_\-whitespace}}} \label{base64_8h_aa6cc813df62a79a36d49ccc79283933b} $\backslash$ Decode white space character set (default). \hypertarget{base64_8h_a2a178e7716aa573ae431466be5d88b29}{ \index{base64.h@{base64.h}!b64encode\_\-chars\_\-per\_\-line@{b64encode\_\-chars\_\-per\_\-line}} \index{b64encode\_\-chars\_\-per\_\-line@{b64encode\_\-chars\_\-per\_\-line}!base64.h@{base64.h}} \subsubsection[{b64encode\_\-chars\_\-per\_\-line}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf b64encode\_\-chars\_\-per\_\-line}}} \label{base64_8h_a2a178e7716aa573ae431466be5d88b29} $\backslash$ Encode 72 characters per line (default). \hypertarget{base64_8h_a4a1b983f10ce83151b0ef69e433f4b62}{ \index{base64.h@{base64.h}!b64encode\_\-eolstr@{b64encode\_\-eolstr}} \index{b64encode\_\-eolstr@{b64encode\_\-eolstr}!base64.h@{base64.h}} \subsubsection[{b64encode\_\-eolstr}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf b64encode\_\-eolstr}}} \label{base64_8h_a4a1b983f10ce83151b0ef69e433f4b62} $\backslash$ Encode end-\/of-\/line string (default).