# svn_hash.h File Reference

Dumping and reading hash tables to/from files. More...

`#include <apr.h>`
`#include <apr_pools.h>`
`#include <apr_hash.h>`
`#include <apr_tables.h>`
`#include <apr_file_io.h>`
`#include "svn_types.h"`
`#include "svn_io.h"`

Go to the source code of this file.

## Defines
#define | SVN_KEYLINE_MAXLEN 100
| The longest the "K <number>" line can be in one of our hashdump files.
#define | SVN_HASH_TERMINATOR "END"
| The conventional terminator for hash dumps.
## Typedefs
typedef svn_error_t *(* | svn_hash_diff_func_t )(const void *key, apr_ssize_t klen, enum svn_hash_diff_key_status status, void *baton)
| Function type for expressing a key's status between two hash tables.
## Enumerations
enum | svn_hash_diff_key_status { svn_hash_diff_key_both, svn_hash_diff_key_a, svn_hash_diff_key_b }
| Hash key status indicator for svn_hash_diff_func_t. More...
## Functions
svn_error_t * | svn_hash_read2 (apr_hash_t *hash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool)
| Read a hash table from stream, storing the resultants names and values in hash.
svn_error_t * | svn_hash_write2 (apr_hash_t *hash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool)
| Dump hash to stream.
svn_error_t * | svn_hash_read_incremental (apr_hash_t *hash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool)
| Similar to svn_hash_read2(), but allows stream to contain deletion lines which remove entries from hash as well as adding to it.
svn_error_t * | svn_hash_write_incremental (apr_hash_t *hash, apr_hash_t *oldhash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool)
| Similar to svn_hash_write2(), but only writes out entries for keys which differ between hash and oldhash, and also writes out deletion lines for keys which are present in oldhash but not in hash.
SVN_DEPRECATED svn_error_t * | svn_hash_read (apr_hash_t *hash, apr_file_t *srcfile, apr_pool_t *pool)
| This function behaves like svn_hash_read2(), but it only works on an apr_file_t input, empty files are accepted, and the hash is expected to be terminated with a line containing "END" or "PROPS-END".
SVN_DEPRECATED svn_error_t * | svn_hash_write (apr_hash_t *hash, apr_file_t *destfile, apr_pool_t *pool)
| This function behaves like svn_hash_write2(), but it only works on an apr_file_t output, and the terminator is always "END".
svn_error_t * | svn_hash_diff (apr_hash_t *hash_a, apr_hash_t *hash_b, svn_hash_diff_func_t diff_func, void *diff_func_baton, apr_pool_t *pool)
| Take the diff of two hashtables.
svn_error_t * | svn_hash_keys (apr_array_header_t **array, apr_hash_t *hash, apr_pool_t *pool)
| Return the keys to hash in *array.
svn_error_t * | svn_hash_from_cstring_keys (apr_hash_t **hash, const apr_array_header_t *keys, apr_pool_t *pool)
| Set *hash to a new hash whose keys come from the items in keys (an array of `const char *` items), and whose values are match their corresponding key.
svn_error_t * | svn_hash__clear (apr_hash_t *hash, apr_pool_t *pool)
| Clear any key/value pairs in the hash table.
const char * | svn_hash__get_cstring (apr_hash_t *hash, const char *key, const char *default_value)
| Find the value of a key in hash, return the value.
svn_boolean_t | svn_hash__get_bool (apr_hash_t *hash, const char *key, svn_boolean_t default_value)
| Like svn_hash_get_cstring(), but for boolean values.

## Detailed Description

Dumping and reading hash tables to/from files.

Definition in file svn_hash.h.

## Define Documentation

#define SVN_KEYLINE_MAXLEN 100

The longest the "K <number>" line can be in one of our hashdump files.

Definition at line 47 of file svn_hash.h.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines