csum-file.hon commit rebase: Support preserving merges in non-interactive mode (f8cca01)
   1#ifndef CSUM_FILE_H
   2#define CSUM_FILE_H
   3
   4struct progress;
   5
   6/* A SHA1-protected file */
   7struct sha1file {
   8        int fd;
   9        unsigned int offset;
  10        SHA_CTX ctx;
  11        off_t total;
  12        struct progress *tp;
  13        const char *name;
  14        int do_crc;
  15        uint32_t crc32;
  16        unsigned char buffer[8192];
  17};
  18
  19/* sha1close flags */
  20#define CSUM_CLOSE      1
  21#define CSUM_FSYNC      2
  22
  23extern struct sha1file *sha1fd(int fd, const char *name);
  24extern struct sha1file *sha1fd_throughput(int fd, const char *name, struct progress *tp);
  25extern int sha1close(struct sha1file *, unsigned char *, unsigned int);
  26extern int sha1write(struct sha1file *, void *, unsigned int);
  27extern void crc32_begin(struct sha1file *);
  28extern uint32_t crc32_end(struct sha1file *);
  29
  30#endif