~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/delta.h

  • Committer: Martin
  • Date: 2011-03-20 18:36:04 UTC
  • mto: This revision was merged to the branch mainline in revision 5731.
  • Revision ID: gzlist@googlemail.com-20110320183604-tt4cugnyn07ijkuu
Also adapt create_delta to the return code interface as it uses malloc

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
    DELTA_INDEX_NEEDED,   /* A delta_index must be passed */
30
30
    DELTA_SOURCE_EMPTY,   /* A source_info had no content */
31
31
    DELTA_SOURCE_BAD,     /* A source_info had invalid or corrupt content */
 
32
    DELTA_BUFFER_EMPTY,   /* A buffer pointer and size */
 
33
    DELTA_SIZE_TOO_BIG,   /*  */
32
34
} delta_result;
33
35
 
34
36
 
80
82
 *
81
83
 * This function may be called multiple times with different buffers using
82
84
 * the same delta_index pointer.  If max_delta_size is non-zero and the
83
 
 * resulting delta is to be larger than max_delta_size then NULL is returned.
84
 
 * On success, a non-NULL pointer to the buffer with the delta data is
85
 
 * returned and *delta_size is updated with its size.  The returned buffer
86
 
 * must be freed by the caller.
 
85
 * resulting delta is to be larger than max_delta_size then DELTA_SIZE_TOO_BIG
 
86
 * is returned.  Otherwise on success, DELTA_OK is returned and the outparam 
 
87
 * is set to a new buffer with the delta data and *delta_size is updated with
 
88
 * its size.  That buffer must be freed by the caller.
87
89
 */
88
 
extern void *
 
90
extern delta_result
89
91
create_delta(const struct delta_index *index,
90
 
         const void *buf, unsigned long bufsize,
91
 
         unsigned long *delta_size, unsigned long max_delta_size);
 
92
             const void *buf, unsigned long bufsize,
 
93
             unsigned long *delta_size, unsigned long max_delta_size,
 
94
             void **delta_data);
92
95
 
93
96
/* the smallest possible delta size is 3 bytes
94
97
 * Target size, Copy command, Copy length