#pragma once #include "../crypto/sha256_hasher.h" #include #include // Hash a single file using mmap with fallback to buffered read // out_hash must be 65 bytes (64 hex + null) // Returns 0 on success, -1 on error int hash_file(const char* path, size_t buffer_size, char* out_hash); // Hash multiple files, returning individual hashes // out_hashes must be pre-allocated with count * 65 bytes int hash_files_batch( const char* const* paths, uint32_t count, char** out_hashes, // Array of 65-char buffers size_t buffer_size ); // Configuration for hash operations struct HashConfig { size_t buffer_size; uint32_t num_threads; };