csum-file.hon commit Merge branch 'tr/maint-cherry-pick-list' (68a4741)
   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        git_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 sha1flush(struct sha1file *f);
  28extern void crc32_begin(struct sha1file *);
  29extern uint32_t crc32_end(struct sha1file *);
  30
  31#endif