DragonFly On-Line Manual Pages
librsync(3) DragonFly Library Functions Manual librsync(3)
NAME
librsync - library for delta compression of streams
SYNOPSYS
#include <stdio.h>
#include <stdlib.h>
#include <librsync.h>
cc ... -lrsync
DESCRIPTION
The librsync library implements network delta-compression of streams
and files. The algorithm is similar to that used in the rsync(1) and
xdelta(2) programs, but specialized for transfer of arbitrary-length
octet streams. Unlike most diff programs, librsync does not require
access to both of the files on the same machine, but rather only a
short ``signature'' of the old file and the complete contents of the
new file.
The canonical use of librsync is in the rproxy(8) reference
implementation of the rsync proposed extension to HTTP. It may be
useful to other programs which wish to do delta-compression in HTTP, or
within their own protocol. There are HTTP-specific utility functions
within librsync, but they need not be used.
A number of tools such as rdiff(1) provide command-line and scriptable
access to rsync functions.
SEE ALSO
rdiff(1)
rdiff and librsync Manual
http://rproxy.sourceforge.net/ or http://linuxcare.com.au/rproxy/.
draft-pool-rsync
BUGS
The rsync protocol is still evolving. There may be bugs in the
implementation. The interface may change in the future, but it is
becoming more stable.
Many routines will panic in case of error rather than returning an
error code to the caller. Patches to fix this are welcome, but at the
current state of development aborting seems as useful as trusting to
possibly-incomplete checking in the client.
AUTHOR
Martin Pool <mbp@sourcefrog.net>, with Andrew Tridgell
<tridge@samba.org>.
rdiff development has been supported by Linuxcare, Inc and VA Linux
Systems.
Martin Pool $Date$ librsync(3)