Subversion
|
Subversion checksum routines. More...
Go to the source code of this file.
Data Structures | |
struct | svn_checksum_t |
A generic checksum representation. More... | |
Typedefs | |
typedef enum svn_checksum_kind_t | svn_checksum_kind_t |
Various types of checksums. More... | |
typedef struct svn_checksum_t | svn_checksum_t |
A generic checksum representation. More... | |
typedef struct svn_checksum_ctx_t | svn_checksum_ctx_t |
Opaque type for creating checksums of data. | |
Enumerations | |
enum | svn_checksum_kind_t { svn_checksum_md5, svn_checksum_sha1, svn_checksum_fnv1a_32, svn_checksum_fnv1a_32x4 } |
Various types of checksums. More... | |
Functions | |
svn_checksum_t * | svn_checksum_create (svn_checksum_kind_t kind, apr_pool_t *pool) |
Return a new checksum structure of type kind, initialized to the all- zeros value, allocated in pool. More... | |
svn_error_t * | svn_checksum_clear (svn_checksum_t *checksum) |
Set checksum->digest to all zeros, which, by convention, matches all other checksums. More... | |
svn_boolean_t | svn_checksum_match (const svn_checksum_t *checksum1, const svn_checksum_t *checksum2) |
Compare checksums checksum1 and checksum2. More... | |
svn_checksum_t * | svn_checksum_dup (const svn_checksum_t *checksum, apr_pool_t *pool) |
Return a deep copy of checksum, allocated in pool. More... | |
const char * | svn_checksum_to_cstring_display (const svn_checksum_t *checksum, apr_pool_t *pool) |
Return the hex representation of checksum, allocating the string in pool. More... | |
const char * | svn_checksum_to_cstring (const svn_checksum_t *checksum, apr_pool_t *pool) |
Return the hex representation of checksum, allocating the string in pool. More... | |
const char * | svn_checksum_serialize (const svn_checksum_t *checksum, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Return a serialized representation of checksum, allocated in result_pool. More... | |
svn_error_t * | svn_checksum_deserialize (const svn_checksum_t **checksum, const char *data, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Return checksum from the serialized format at data. More... | |
svn_error_t * | svn_checksum_parse_hex (svn_checksum_t **checksum, svn_checksum_kind_t kind, const char *hex, apr_pool_t *pool) |
Parse the hex representation hex of a checksum of kind kind and set *checksum to the result, allocating in pool. More... | |
svn_error_t * | svn_checksum (svn_checksum_t **checksum, svn_checksum_kind_t kind, const void *data, apr_size_t len, apr_pool_t *pool) |
Return in *checksum the checksum of type kind for the bytes beginning at data, and going for len. More... | |
svn_checksum_t * | svn_checksum_empty_checksum (svn_checksum_kind_t kind, apr_pool_t *pool) |
Return in pool a newly allocated checksum populated with the checksum of type kind for the empty string. More... | |
svn_checksum_ctx_t * | svn_checksum_ctx_create (svn_checksum_kind_t kind, apr_pool_t *pool) |
Create a new svn_checksum_ctx_t structure, allocated from pool for calculating checksums of type kind. More... | |
svn_error_t * | svn_checksum_ctx_reset (svn_checksum_ctx_t *ctx) |
Reset an existing checksum ctx to initial state. More... | |
svn_error_t * | svn_checksum_update (svn_checksum_ctx_t *ctx, const void *data, apr_size_t len) |
Update the checksum represented by ctx, with len bytes starting at data. More... | |
svn_error_t * | svn_checksum_final (svn_checksum_t **checksum, const svn_checksum_ctx_t *ctx, apr_pool_t *pool) |
Finalize the checksum used when creating ctx, and put the resultant checksum in *checksum, allocated in pool. More... | |
apr_size_t | svn_checksum_size (const svn_checksum_t *checksum) |
Return the digest size of checksum. More... | |
svn_boolean_t | svn_checksum_is_empty_checksum (svn_checksum_t *checksum) |
Return TRUE iff checksum matches the checksum for the empty string. More... | |
svn_error_t * | svn_checksum_mismatch_err (const svn_checksum_t *expected, const svn_checksum_t *actual, apr_pool_t *scratch_pool, const char *fmt,...) |
Return an error of type SVN_ERR_CHECKSUM_MISMATCH for actual and expected checksums which do not match. More... | |
Subversion checksum routines.
Definition in file svn_checksum.h.
typedef enum svn_checksum_kind_t svn_checksum_kind_t |
Various types of checksums.
typedef struct svn_checksum_t svn_checksum_t |
A generic checksum representation.
enum svn_checksum_kind_t |
Various types of checksums.
Definition at line 45 of file svn_checksum.h.
svn_error_t* svn_checksum | ( | svn_checksum_t ** | checksum, |
svn_checksum_kind_t | kind, | ||
const void * | data, | ||
apr_size_t | len, | ||
apr_pool_t * | pool | ||
) |
Return in *checksum the checksum of type kind for the bytes beginning at data, and going for len.
*checksum is allocated in pool.
svn_error_t* svn_checksum_clear | ( | svn_checksum_t * | checksum | ) |
Set checksum->digest to all zeros, which, by convention, matches all other checksums.
svn_checksum_t* svn_checksum_create | ( | svn_checksum_kind_t | kind, |
apr_pool_t * | pool | ||
) |
Return a new checksum structure of type kind, initialized to the all- zeros value, allocated in pool.
svn_checksum_ctx_t* svn_checksum_ctx_create | ( | svn_checksum_kind_t | kind, |
apr_pool_t * | pool | ||
) |
Create a new svn_checksum_ctx_t
structure, allocated from pool for calculating checksums of type kind.
svn_error_t* svn_checksum_ctx_reset | ( | svn_checksum_ctx_t * | ctx | ) |
Reset an existing checksum ctx to initial state.
svn_error_t* svn_checksum_deserialize | ( | const svn_checksum_t ** | checksum, |
const char * | data, | ||
apr_pool_t * | result_pool, | ||
apr_pool_t * | scratch_pool | ||
) |
Return checksum from the serialized format at data.
The checksum will be allocated in result_pool, with any temporary allocations performed in scratch_pool.
svn_checksum_t* svn_checksum_dup | ( | const svn_checksum_t * | checksum, |
apr_pool_t * | pool | ||
) |
Return a deep copy of checksum, allocated in pool.
If checksum is NULL then NULL is returned.
svn_checksum_t* svn_checksum_empty_checksum | ( | svn_checksum_kind_t | kind, |
apr_pool_t * | pool | ||
) |
Return in pool a newly allocated checksum populated with the checksum of type kind for the empty string.
svn_error_t* svn_checksum_final | ( | svn_checksum_t ** | checksum, |
const svn_checksum_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Finalize the checksum used when creating ctx, and put the resultant checksum in *checksum, allocated in pool.
svn_boolean_t svn_checksum_is_empty_checksum | ( | svn_checksum_t * | checksum | ) |
Return TRUE
iff checksum matches the checksum for the empty string.
svn_boolean_t svn_checksum_match | ( | const svn_checksum_t * | checksum1, |
const svn_checksum_t * | checksum2 | ||
) |
Compare checksums checksum1 and checksum2.
If their kinds do not match or if neither is all zeros, and their content does not match, then return FALSE; else return TRUE.
svn_error_t* svn_checksum_mismatch_err | ( | const svn_checksum_t * | expected, |
const svn_checksum_t * | actual, | ||
apr_pool_t * | scratch_pool, | ||
const char * | fmt, | ||
... | |||
) |
Return an error of type SVN_ERR_CHECKSUM_MISMATCH for actual and expected checksums which do not match.
Use fmt, and the following parameters to populate the error message.
scratch_pool is used for temporary allocations; the returned error will be allocated in its own pool (as is typical).
svn_error_t* svn_checksum_parse_hex | ( | svn_checksum_t ** | checksum, |
svn_checksum_kind_t | kind, | ||
const char * | hex, | ||
apr_pool_t * | pool | ||
) |
Parse the hex representation hex of a checksum of kind kind and set *checksum to the result, allocating in pool.
If hex is NULL
or is the all-zeros checksum, then set *checksum to NULL
.
const char* svn_checksum_serialize | ( | const svn_checksum_t * | checksum, |
apr_pool_t * | result_pool, | ||
apr_pool_t * | scratch_pool | ||
) |
Return a serialized representation of checksum, allocated in result_pool.
Temporary allocations are performed in scratch_pool.
Note that checksum may not be NULL.
apr_size_t svn_checksum_size | ( | const svn_checksum_t * | checksum | ) |
Return the digest size of checksum.
const char* svn_checksum_to_cstring | ( | const svn_checksum_t * | checksum, |
apr_pool_t * | pool | ||
) |
Return the hex representation of checksum, allocating the string in pool.
If checksum->digest is all zeros (that is, 0, not '0') then return NULL. In 1.7+, checksum may be NULL and NULL will be returned in that case.
const char* svn_checksum_to_cstring_display | ( | const svn_checksum_t * | checksum, |
apr_pool_t * | pool | ||
) |
Return the hex representation of checksum, allocating the string in pool.
svn_error_t* svn_checksum_update | ( | svn_checksum_ctx_t * | ctx, |
const void * | data, | ||
apr_size_t | len | ||
) |
Update the checksum represented by ctx, with len bytes starting at data.