* along with wimlib; if not, see http://www.gnu.org/licenses/.
*/
-#include "wimlib_internal.h"
-#include "buffer_io.h"
-#include "sha1.h"
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "wimlib/assert.h"
+#include "wimlib/endianness.h"
+#include "wimlib/error.h"
+#include "wimlib/file_io.h"
+#include "wimlib/integrity.h"
+#include "wimlib/resource.h"
+#include "wimlib/sha1.h"
+#include "wimlib/wim.h"
/* Size, in bytes, of each SHA1-summed chunk, when wimlib writes integrity
* information. */
u32 size;
u32 num_entries;
u32 chunk_size;
- u8 sha1sums[0][20];
-};
+ u8 sha1sums[][20];
+} _packed_attribute;
static int
-calculate_chunk_sha1(filedes_t in_fd, size_t this_chunk_size,
+calculate_chunk_sha1(int in_fd, size_t this_chunk_size,
off_t offset, u8 sha1_md[])
{
u8 buf[BUFFER_SIZE];
*/
static int
read_integrity_table(const struct resource_entry *res_entry,
- filedes_t in_fd,
+ int in_fd,
u64 num_checked_bytes,
struct integrity_table **table_ret)
{
* Returns 0 on success; nonzero on failure.
*/
static int
-calculate_integrity_table(filedes_t in_fd,
+calculate_integrity_table(int in_fd,
off_t new_check_end,
const struct integrity_table *old_table,
off_t old_check_end,
* to be checked.
*/
int
-write_integrity_table(filedes_t fd,
+write_integrity_table(int fd,
struct resource_entry *integrity_res_entry,
off_t new_lookup_table_end,
off_t old_lookup_table_end,
* -1 (WIM_INTEGRITY_NOT_OK) if the WIM failed the integrity check.
*/
static int
-verify_integrity(filedes_t in_fd, const tchar *filename,
+verify_integrity(int in_fd, const tchar *filename,
const struct integrity_table *table,
u64 bytes_to_check,
wimlib_progress_func_t progress_func)