#ifndef __ZEV_CHECKSUMS_H__ #define __ZEV_CHECKSUMS_H__ #include #include /* cache size in bytes */ #define ZEV_CHKSUM_DEFAULT_CACHE_SIZE (4 * 1024 * 1024) void zev_chksum_init(void); void zev_chksum_fini(void); typedef enum { zev_write = 0, zev_truncate } zev_chksum_mode_t; int zev_get_checksums(zev_sig_t **sig_buf, uint64_t *sig_buf_len, uint64_t *sig_cnt, uint64_t max_sig_buf_len, znode_t *zp, uint64_t off, uint64_t len, zev_chksum_mode_t mode); void zev_chksum_stats(uint64_t *c_size, uint64_t *c_hits, uint64_t *c_misses); int zev_ioc_get_signatures(intptr_t arg, int mode); void zev_symlink_checksum(zev_znode_symlink_t *rec, char *link); void zev_create_checksum(zev_znode_create_t *rec, znode_t *zp); #endif