# svn_diff_fns2_t Struct Reference

A vtable for reading data from the three datasources. More...

`#include <svn_diff.h>`

## Data Fields
svn_error_t *(* | datasources_open )(void *diff_baton, apr_off_t *prefix_lines, apr_off_t *suffix_lines, const svn_diff_datasource_e *datasources, apr_size_t datasources_len)
| Open the datasources of type datasources.
svn_error_t *(* | datasource_close )(void *diff_baton, svn_diff_datasource_e datasource)
| Close the datasource of type datasource.
svn_error_t *(* | datasource_get_next_token )(apr_uint32_t *hash, void **token, void *diff_baton, svn_diff_datasource_e datasource)
| Get the next "token" from the datasource of type datasource.
svn_error_t *(* | token_compare )(void *diff_baton, void *ltoken, void *rtoken, int *compare)
| A function for ordering the tokens, resembling 'strcmp' in functionality.
void(* | token_discard )(void *diff_baton, void *token)
| Free token from memory, the diff algorithm is done with it.
void(* | token_discard_all )(void *diff_baton)
| Free *all* tokens from memory, they're no longer needed.

## Detailed Description

A vtable for reading data from the three datasources.

Since:
  New in 1.7.

Definition at line 109 of file svn_diff.h.

## Field Documentation

svn_error_t*(* svn_diff_fns2_t::datasource_close)(void *diff_baton, svn_diff_datasource_e datasource)

Close the datasource of type datasource.

Definition at line 119 of file svn_diff.h.

svn_error_t*(* svn_diff_fns2_t::datasource_get_next_token)(apr_uint32_t *hash, void **token, void *diff_baton, svn_diff_datasource_e datasource)

Get the next "token" from the datasource of type datasource.

Return a "token" in *token. Return a hash of "token" in *hash. Leave token and hash untouched when the datasource is exhausted.

Definition at line 126 of file svn_diff.h.

svn_error_t*(* svn_diff_fns2_t::datasources_open)(void *diff_baton, apr_off_t *prefix_lines, apr_off_t *suffix_lines, const svn_diff_datasource_e *datasources, apr_size_t datasources_len)

Open the datasources of type datasources.

Definition at line 112 of file svn_diff.h.

svn_error_t*(* svn_diff_fns2_t::token_compare)(void *diff_baton, void *ltoken, void *rtoken, int *compare)

A function for ordering the tokens, resembling 'strcmp' in functionality.

compare should contain the return value of the comparison: If ltoken and rtoken are "equal", return 0. If ltoken is "less than" rtoken, return a number < 0. If ltoken is "greater than" rtoken, return a number > 0.

Definition at line 136 of file svn_diff.h.

void(* svn_diff_fns2_t::token_discard)(void *diff_baton, void *token)

Free token from memory, the diff algorithm is done with it.

Definition at line 142 of file svn_diff.h.

void(* svn_diff_fns2_t::token_discard_all)(void *diff_baton)

Free *all* tokens from memory, they're no longer needed.

Definition at line 146 of file svn_diff.h.

The documentation for this struct was generated from the following file:

- svn_diff.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines