summaryrefslogtreecommitdiffabout
path: root/src/eyetil.h
authorMichael Krelin <hacker@klever.net>2013-02-13 22:32:22 (UTC)
committer Michael Krelin <hacker@klever.net>2013-02-13 22:32:22 (UTC)
commitdd545573337e3c54ad4c2c64d72f750ad03aa2c9 (patch) (unidiff)
treeedf4e4294fc20418f5590f2698b8ae9b8bb31c65 /src/eyetil.h
parentd6d845ab3cdbc76943d68329aa0aaa3ddf2af21a (diff)
downloadiii-dd545573337e3c54ad4c2c64d72f750ad03aa2c9.zip
iii-dd545573337e3c54ad4c2c64d72f750ad03aa2c9.tar.gz
iii-dd545573337e3c54ad4c2c64d72f750ad03aa2c9.tar.bz2
introduced streaming integrity digest updater
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'src/eyetil.h') (more/less context) (ignore whitespace changes)
-rw-r--r--src/eyetil.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/eyetil.h b/src/eyetil.h
index 7517ba6..8784cb4 100644
--- a/src/eyetil.h
+++ b/src/eyetil.h
@@ -71,12 +71,23 @@ struct block512_t {
71 inline uint8_t *dptr(size_t o) { return ((uint8_t*)this)+o; } 71 inline uint8_t *dptr(size_t o) { return ((uint8_t*)this)+o; }
72 72
73 static uint16_t tcpcksum(block512_t& data); 73 static uint16_t tcpcksum(block512_t& data);
74}; 74};
75#pragma pack() 75#pragma pack()
76 76
77struct integrity_digester {
78 md5_digester md5;
79 size_t data_size;
80 block512_t data;
81
82 integrity_digester() : data_size(0) { }
83 void update(const void *d,size_t s);
84 binary_t final(const std::string& ukey);
85};
86
87
77class tmpdir_t { 88class tmpdir_t {
78 public: 89 public:
79 std::string dir; 90 std::string dir;
80 91
81 tmpdir_t(const std::string& dt); 92 tmpdir_t(const std::string& dt);
82 ~tmpdir_t(); 93 ~tmpdir_t();