The library supports four basic operations:
These are all available in three different modes:
Other documentation pages:
The public interface to librsync is librsync.h, and other headers are internal.
The librsync tree also provides the rdiff command-line tool, which makes this functionality available to users and scripting languages.
All external symbols have the prefix
RS_ in the case of preprocessor symbols. (There are some private symbols that currently don't match this, but these are considered to be bugs.)
Symbols beginning with
rs__ (double underscore) are private and should not be called from outside the library.
librsync may be used from threaded programs. librsync does no synchronization itself. Each job should be guarded by a monitor or used by only a single thread.
Be careful that the trace functions are safe to call from multiple threads.