\doxysubsection{rdiff.\+c File Reference}
\label{rdiff_8c}\index{rdiff.c@{rdiff.c}}


Command-\/line network-\/delta tool.  


Include dependency graph for rdiff.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{rdiff_8c__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries OPT\+\_\+\+GZIP} = 1069
, {\bfseries OPT\+\_\+\+BZIP2}
 \}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static void \mbox{\hyperlink{rdiff_8c_aed5b1187fd33cba97ca5bfd68a4a1f6a}{rdiff\+\_\+usage}} (const char $\ast$error,...)
\item 
static void \mbox{\hyperlink{rdiff_8c_a6a5fd4c431c931e501ff4766a7788b1f}{rdiff\+\_\+no\+\_\+more\+\_\+args}} (popt\+Context opcon)
\item 
static void \mbox{\hyperlink{rdiff_8c_a4c267aa693e518f1382f99fd5acf21d6}{bad\+\_\+option}} (popt\+Context opcon, int error)
\item 
static void \mbox{\hyperlink{rdiff_8c_ac3618078947fab6bccf1fc80a6566051}{help}} (void)
\item 
static void \mbox{\hyperlink{rdiff_8c_ac44ba615914180cf15cd736f198fae32}{rdiff\+\_\+show\+\_\+version}} (void)
\item 
static void \mbox{\hyperlink{rdiff_8c_a584a5cc21517ddc97415b17a5755e4d5}{rdiff\+\_\+options}} (popt\+Context opcon)
\item 
static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} \mbox{\hyperlink{rdiff_8c_a6b430ba0252d1ba7ae09d3c1ef6fd47a}{rdiff\+\_\+sig}} (popt\+Context opcon)
\begin{DoxyCompactList}\small\item\em Generate signature from remaining command line arguments. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} \mbox{\hyperlink{rdiff_8c_ac2402709c8c5c7349f7cbad8e84dbd96}{rdiff\+\_\+delta}} (popt\+Context opcon)
\item 
static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} \mbox{\hyperlink{rdiff_8c_a71920f984b9010f84c9bcb1c50921af2}{rdiff\+\_\+patch}} (popt\+Context opcon)
\item 
static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} \mbox{\hyperlink{rdiff_8c_a3f5839bc055bacd435521c68974f9d56}{rdiff\+\_\+action}} (popt\+Context opcon)
\item 
int \mbox{\hyperlink{rdiff_8c_ad53223b8779f25caeddb70a3b9172967}{main}} (const int argc, const char $\ast$argv\mbox{[}$\,$\mbox{]})
\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{rdiff_8c_ae64dad7229ee17dc080789204c9e4e82}{block\+\_\+len}} = 0
\item 
static int \mbox{\hyperlink{rdiff_8c_a06ed56d35ab5fb9708401c901026f8bd}{strong\+\_\+len}} = 0
\item 
static int \mbox{\hyperlink{rdiff_8c_a8b721552476f66c23ae372ba3c01779c}{show\+\_\+stats}} = 0
\item 
static int \mbox{\hyperlink{rdiff_8c_afdfa59f7d31e6bf82c23057eb2465728}{bzip2\+\_\+level}} = 0
\item 
static int \mbox{\hyperlink{rdiff_8c_ae6c0c5f638269adafd6b5715f45856bf}{gzip\+\_\+level}} = 0
\item 
static int \mbox{\hyperlink{rdiff_8c_a3521d0148c6b19142d6bb434242dc177}{file\+\_\+force}} = 0
\item 
char $\ast$ \mbox{\hyperlink{rdiff_8c_a662e2d62f8ff1c89fa449be2262ae2ad}{rs\+\_\+hash\+\_\+name}}
\item 
char $\ast$ \mbox{\hyperlink{rdiff_8c_aaa35c401e5008e5a3840cab30c7715de}{rs\+\_\+rollsum\+\_\+name}}
\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
Command-\/line network-\/delta tool. 

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000010}{Todo}}]Add a -\/z option to gzip/gunzip patches. This would be somewhat useful, but more importantly a good test of the streaming API. Also add -\/I for bzip2.\end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000011}{Todo}}]If built with debug support and we have mcheck, then turn it on. (Optionally?)\end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000012}{Todo}}]popt doesn\textquotesingle{}t handle single dashes very well at the moment\+: we\textquotesingle{}d like to use them as arguments to indicate stdin/stdout, but it turns them into options. I sent a patch to the popt maintainers; hopefully it will be fixed in the future.\end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000013}{Todo}}]Add an option for delta to check whether the files are identical. \end{DoxyRefDesc}


Definition in file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.



\doxysubsubsection{Enumeration Type Documentation}
\mbox{\label{rdiff_8c_a99fb83031ce9923c84392b4e92f956b5}} 
\doxyparagraph{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00064}{64}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.



\doxysubsubsection{Function Documentation}
\mbox{\label{rdiff_8c_aed5b1187fd33cba97ca5bfd68a4a1f6a}} 
\index{rdiff.c@{rdiff.c}!rdiff\_usage@{rdiff\_usage}}
\index{rdiff\_usage@{rdiff\_usage}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_usage()}{rdiff\_usage()}}
{\footnotesize\ttfamily static void rdiff\+\_\+usage (\begin{DoxyParamCaption}\item[{const char $\ast$}]{error,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00071}{71}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a6a5fd4c431c931e501ff4766a7788b1f}} 
\index{rdiff.c@{rdiff.c}!rdiff\_no\_more\_args@{rdiff\_no\_more\_args}}
\index{rdiff\_no\_more\_args@{rdiff\_no\_more\_args}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_no\_more\_args()}{rdiff\_no\_more\_args()}}
{\footnotesize\ttfamily static void rdiff\+\_\+no\+\_\+more\+\_\+args (\begin{DoxyParamCaption}\item[{popt\+Context}]{opcon }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00083}{83}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a4c267aa693e518f1382f99fd5acf21d6}} 
\index{rdiff.c@{rdiff.c}!bad\_option@{bad\_option}}
\index{bad\_option@{bad\_option}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{bad\_option()}{bad\_option()}}
{\footnotesize\ttfamily static void bad\+\_\+option (\begin{DoxyParamCaption}\item[{popt\+Context}]{opcon,  }\item[{int}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00091}{91}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_ac3618078947fab6bccf1fc80a6566051}} 
\index{rdiff.c@{rdiff.c}!help@{help}}
\index{help@{help}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{help()}{help()}}
{\footnotesize\ttfamily static void help (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00097}{97}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_ac44ba615914180cf15cd736f198fae32}} 
\index{rdiff.c@{rdiff.c}!rdiff\_show\_version@{rdiff\_show\_version}}
\index{rdiff\_show\_version@{rdiff\_show\_version}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_show\_version()}{rdiff\_show\_version()}}
{\footnotesize\ttfamily static void rdiff\+\_\+show\+\_\+version (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00120}{120}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a584a5cc21517ddc97415b17a5755e4d5}} 
\index{rdiff.c@{rdiff.c}!rdiff\_options@{rdiff\_options}}
\index{rdiff\_options@{rdiff\_options}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_options()}{rdiff\_options()}}
{\footnotesize\ttfamily static void rdiff\+\_\+options (\begin{DoxyParamCaption}\item[{popt\+Context}]{opcon }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00150}{150}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a6b430ba0252d1ba7ae09d3c1ef6fd47a}} 
\index{rdiff.c@{rdiff.c}!rdiff\_sig@{rdiff\_sig}}
\index{rdiff\_sig@{rdiff\_sig}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_sig()}{rdiff\_sig()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} rdiff\+\_\+sig (\begin{DoxyParamCaption}\item[{popt\+Context}]{opcon }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Generate signature from remaining command line arguments. 



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00194}{194}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_ac2402709c8c5c7349f7cbad8e84dbd96}} 
\index{rdiff.c@{rdiff.c}!rdiff\_delta@{rdiff\_delta}}
\index{rdiff\_delta@{rdiff\_delta}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_delta()}{rdiff\_delta()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} rdiff\+\_\+delta (\begin{DoxyParamCaption}\item[{popt\+Context}]{opcon }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00237}{237}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a71920f984b9010f84c9bcb1c50921af2}} 
\index{rdiff.c@{rdiff.c}!rdiff\_patch@{rdiff\_patch}}
\index{rdiff\_patch@{rdiff\_patch}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_patch()}{rdiff\_patch()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} rdiff\+\_\+patch (\begin{DoxyParamCaption}\item[{popt\+Context}]{opcon }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00283}{283}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a3f5839bc055bacd435521c68974f9d56}} 
\index{rdiff.c@{rdiff.c}!rdiff\_action@{rdiff\_action}}
\index{rdiff\_action@{rdiff\_action}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rdiff\_action()}{rdiff\_action()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{librsync_8h_a7feb858ceba3b8f3cf048d49be108253}{rs\+\_\+result}} rdiff\+\_\+action (\begin{DoxyParamCaption}\item[{popt\+Context}]{opcon }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00315}{315}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_ad53223b8779f25caeddb70a3b9172967}} 
\index{rdiff.c@{rdiff.c}!main@{main}}
\index{main@{main}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{main()}{main()}}
{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{const int}]{argc,  }\item[{const char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00333}{333}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.



\doxysubsubsection{Variable Documentation}
\mbox{\label{rdiff_8c_ae64dad7229ee17dc080789204c9e4e82}} 
\index{rdiff.c@{rdiff.c}!block\_len@{block\_len}}
\index{block\_len@{block\_len}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{block\_len}{block\_len}}
{\footnotesize\ttfamily int block\+\_\+len = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00055}{55}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a06ed56d35ab5fb9708401c901026f8bd}} 
\index{rdiff.c@{rdiff.c}!strong\_len@{strong\_len}}
\index{strong\_len@{strong\_len}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{strong\_len}{strong\_len}}
{\footnotesize\ttfamily int strong\+\_\+len = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00056}{56}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a8b721552476f66c23ae372ba3c01779c}} 
\index{rdiff.c@{rdiff.c}!show\_stats@{show\_stats}}
\index{show\_stats@{show\_stats}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{show\_stats}{show\_stats}}
{\footnotesize\ttfamily int show\+\_\+stats = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00058}{58}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_afdfa59f7d31e6bf82c23057eb2465728}} 
\index{rdiff.c@{rdiff.c}!bzip2\_level@{bzip2\_level}}
\index{bzip2\_level@{bzip2\_level}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{bzip2\_level}{bzip2\_level}}
{\footnotesize\ttfamily int bzip2\+\_\+level = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00060}{60}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_ae6c0c5f638269adafd6b5715f45856bf}} 
\index{rdiff.c@{rdiff.c}!gzip\_level@{gzip\_level}}
\index{gzip\_level@{gzip\_level}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{gzip\_level}{gzip\_level}}
{\footnotesize\ttfamily int gzip\+\_\+level = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00061}{61}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a3521d0148c6b19142d6bb434242dc177}} 
\index{rdiff.c@{rdiff.c}!file\_force@{file\_force}}
\index{file\_force@{file\_force}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{file\_force}{file\_force}}
{\footnotesize\ttfamily int file\+\_\+force = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00062}{62}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_a662e2d62f8ff1c89fa449be2262ae2ad}} 
\index{rdiff.c@{rdiff.c}!rs\_hash\_name@{rs\_hash\_name}}
\index{rs\_hash\_name@{rs\_hash\_name}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rs\_hash\_name}{rs\_hash\_name}}
{\footnotesize\ttfamily char$\ast$ rs\+\_\+hash\+\_\+name}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00068}{68}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

\mbox{\label{rdiff_8c_aaa35c401e5008e5a3840cab30c7715de}} 
\index{rdiff.c@{rdiff.c}!rs\_rollsum\_name@{rs\_rollsum\_name}}
\index{rs\_rollsum\_name@{rs\_rollsum\_name}!rdiff.c@{rdiff.c}}
\doxyparagraph{\texorpdfstring{rs\_rollsum\_name}{rs\_rollsum\_name}}
{\footnotesize\ttfamily char$\ast$ rs\+\_\+rollsum\+\_\+name}



Definition at line \mbox{\hyperlink{rdiff_8c_source_l00069}{69}} of file \mbox{\hyperlink{rdiff_8c_source}{rdiff.\+c}}.

