Subversion 1.6.16
Data Structures | Typedefs | Enumerations | Functions

svn_checksum.h File Reference

Subversion checksum routines. More...

#include <apr.h>
#include <apr_pools.h>
#include "svn_types.h"

Go to the source code of this file.

Data Structures

struct  svn_checksum_t
 A generic checksum representation. More...

Typedefs

typedef struct svn_checksum_t svn_checksum_t
 A generic checksum representation.
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
}
 

Various types of checksums.

More...

Functions

svn_checksum_tsvn_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_error_tsvn_checksum_clear (svn_checksum_t *checksum)
 Set checksum->digest to all zeros, which, by convention, matches all other checksums.
svn_boolean_t svn_checksum_match (const svn_checksum_t *checksum1, const svn_checksum_t *checksum2)
 Compare checksums checksum1 and checksum2.
svn_checksum_tsvn_checksum_dup (const svn_checksum_t *checksum, apr_pool_t *pool)
 Return a deep copy of checksum, allocated in pool.
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.
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.
svn_error_tsvn_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.
svn_error_tsvn_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.
svn_checksum_tsvn_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_checksum_ctx_tsvn_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_tsvn_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.
svn_error_tsvn_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.
apr_size_t svn_checksum_size (const svn_checksum_t *checksum)
 Return the digest size of checksum.
svn_checksum_tsvn_checksum__from_digest (const unsigned char *digest, svn_checksum_kind_t kind, apr_pool_t *result_pool)
 Internal function for creating a checksum from a binary digest.

Detailed Description

Subversion checksum routines.

Definition in file svn_checksum.h.


Typedef Documentation

A generic checksum representation.

Since:
New in 1.6.

Enumeration Type Documentation

Various types of checksums.

Since:
New in 1.6.
Enumerator:
svn_checksum_md5 

The checksum is (or should be set to) an MD5 checksum.

svn_checksum_sha1 

The checksum is (or should be set to) a SHA1 checksum.

Definition at line 40 of file svn_checksum.h.


Function Documentation

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.

Since:
New in 1.6.
svn_checksum_t* svn_checksum__from_digest ( const unsigned char *  digest,
svn_checksum_kind_t  kind,
apr_pool_t *  result_pool 
)

Internal function for creating a checksum from a binary digest.

Since:
New in 1.6
svn_error_t* svn_checksum_clear ( svn_checksum_t checksum)

Set checksum->digest to all zeros, which, by convention, matches all other checksums.

Since:
New in 1.6.
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.

Since:
New in 1.6.
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.

See also:
svn_checksum_final()
Since:
New in 1.6.
svn_checksum_t* svn_checksum_dup ( const svn_checksum_t checksum,
apr_pool_t *  pool 
)

Return a deep copy of checksum, allocated in pool.

Since:
New in 1.6.
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.

Since:
New in 1.6.
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.

Since:
New in 1.6.
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.

Since:
New in 1.6.
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.

Since:
New in 1.6.
apr_size_t svn_checksum_size ( const svn_checksum_t checksum)

Return the digest size of checksum.

Since:
New in 1.6.
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.

Since:
New in 1.6.
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.

Since:
New in 1.6.
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.

Since:
New in 1.6.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines