Man Linux: Main Page and Category List


       librsync - library for delta compression of streams


        #include <stdio.h>
        #include <stdlib.h>
        #include <librsync.h>

        cc ... -lrsync


       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.



       rdiff and librsync Manual



       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.


       Martin Pool <>, with Andrew Tridgell <>.

       rdiff  development  has  been  supported by Linuxcare, Inc and VA Linux