librsync  2.0.2
Functions
mksum.c File Reference

Generate file signatures. More...

Go to the source code of this file.

Functions

static rs_result rs_sig_s_header (rs_job_t *job)
 State of trying to send the signature header. More...
 
static rs_result rs_sig_s_generate (rs_job_t *job)
 State of reading a block and trying to generate its sum. More...
 
rs_job_trs_sig_begin (size_t new_block_len, size_t strong_sum_len, rs_magic_number sig_magic)
 Start generating a signature. More...
 

Detailed Description

Generate file signatures.

Generating checksums is pretty easy, since we can always just process whatever data is available. When a whole block has arrived, or we've reached the end of the file, we write the checksum out.

Todo:
Perhaps force blocks to be a multiple of 64 bytes, so that we can be sure checksum generation will be more efficient. I guess it will be OK at the moment, though, because tails are only used if necessary.

Definition in file mksum.c.

Function Documentation

◆ rs_sig_s_header()

static rs_result rs_sig_s_header ( rs_job_t job)
static

State of trying to send the signature header.

Definition at line 52 of file mksum.c.

◆ rs_sig_s_generate()

static rs_result rs_sig_s_generate ( rs_job_t job)
static

State of reading a block and trying to generate its sum.

Definition at line 95 of file mksum.c.

◆ rs_sig_begin()

rs_job_t* rs_sig_begin ( size_t  new_block_len,
size_t  strong_sum_len,
rs_magic_number  sig_magic 
)

Start generating a signature.

Returns
A new rs_job_t into which the old file data can be passed.
Parameters
sig_magicIndicates the version of signature file format to generate. See rs_magic_number.
new_block_lenSize of checksum blocks. Larger values make the signature shorter, and the delta longer.
strong_sum_lenIf non-zero, truncate the strong signatures to this many bytes, to make the signature shorter. It's recommended you leave this at zero to get the full strength.
See also
rs_sig_file()

Definition at line 117 of file mksum.c.