/* * Copyright 2000-2004 by Hans Reiser, licensing governed by * reiserfsprogs/README */ #ifndef REISERFS_HASH_H #define REISERFS_HASH_H #include "misc/types.h" #define UNSET_HASH 0 // read_super will guess about, what hash names // in directories were sorted with enum { REISERFS_HASH_TEA = 0x1, REISERFS_HASH_YURA = 0x2, REISERFS_HASH_R5 = 0x3, REISERFS_HASH_LAST }; #define DEFAULT_HASH REISERFS_HASH_R5 /* hashes.c */ extern __u32 reiserfs_hash_keyed (const char *msg, int len); extern __u32 reiserfs_hash_yura (const char *msg, int len); extern __u32 reiserfs_hash_r5 (const char *msg, int len); extern int reiserfs_hash_count (void); extern int reiserfs_hash_correct (hashf_t *func, char * name, int namelen, __u32 offset); extern int reiserfs_hash_find (char * name, int namelen, __u32 deh_offset, unsigned int code_to_try_first); extern char *reiserfs_hash_name (unsigned int code); extern int reiserfs_hash_code (hashf_t func); extern hashf_t reiserfs_hash_func (unsigned int code); extern hashf_t reiserfs_hash_get (char * hash); extern __u32 reiserfs_hash_value (hashf_t func, char * name, int namelen); #endif