00001 # Whole-file API {#api_whole}
00002
00003 Some applications do not require the fine-grained control over IO, but
00004 rather just want to process a whole file with a single call.
00005 librsync provides whole-file APIs to do exactly that.
00006
00007 These functions open files, process the entire contents, and return an
00008 overall result. The whole-file operations are the core of the
00009 \ref rdiff program.
00010
00011 Processing of a whole file begins with creation of a ::rs_job_t
00012 object for the appropriate operation, just as if the application was
00013 going to do buffering itself. After creation, the job may be passed
00014 to rs_whole_run(), which will feed it to and from two FILEs as
00015 necessary until end of file is reached or the operation completes.
00016
00017 \see rs_sig_file()
00018 \see rs_loadsig_file()
00019 \see rs_mdfour_file()
00020 \see rs_delta_file()
00021 \see rs_patch_file()
00022
00023 \see api_streaming