summaryrefslogtreecommitdiffabout
path: root/src/eyetil.h
Unidiff
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
@@ -65,24 +65,35 @@ template<> inline void md5_digester::update<binary_t>(const binary_t& x) {
65 65
66#pragma pack(1) 66#pragma pack(1)
67struct block512_t { 67struct block512_t {
68 enum { words = 512 / sizeof(uint16_t) }; 68 enum { words = 512 / sizeof(uint16_t) };
69 uint16_t data[words]; 69 uint16_t data[words];
70 70
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();
83 94
84 std::string get_file(const std::string& f); 95 std::string get_file(const std::string& f);
85}; 96};
86 97
87class tarchive_t { 98class tarchive_t {
88 public: 99 public: