1 # Whole-file API {#api_whole}
3 Some applications do not require the fine-grained control over IO, but
4 rather just want to process a whole file with a single call.
5 librsync provides whole-file APIs to do exactly that.
7 These functions open files, process the entire contents, and return an overall
8 result. The whole-file operations are the core of the \ref page_rdiff.
10 This interface is implemented on top of the \ref api_streaming. Processing of
11 a whole file begins with creation of a ::rs_job_t object for the appropriate
12 operation, just as if the application was going to do buffering itself. After
13 creation, the job may be passed to rs_whole_run(), which will feed it to and
14 from two FILEs as necessary until end of file is reached or the operation
19 \see rs_loadsig_file()