Second Extended Filesystem (ext2) and other improvements (#33)
[lunaix-os.git] / lunaix-os / includes / lunaix / ds / hstr.h
index 4b6947e62a1b7194cf9a0868c5b7a13582a84655..f43a6db24904d443469c281e726394832d0b6584 100644 (file)
@@ -1,15 +1,15 @@
 #ifndef __LUNAIX_HSTR_H
 #define __LUNAIX_HSTR_H
 
-#include <lib/hash.h>
+#include <klibc/hash.h>
 
 #define HSTR_FULL_HASH 32
 
 struct hstr
 {
-    uint32_t hash;
-    uint32_t len;
-    char* value;
+    u32_t hash;
+    u32_t len;
+    const char* value;
 };
 
 #define HSTR(str, length)                                                      \
@@ -26,8 +26,12 @@ struct hstr
 
 #define HSTR_EQ(str1, str2) ((str1)->hash == (str2)->hash)
 
+#define HSTR_VAL(hstr)  ((hstr).value)
+#define HSTR_LEN(hstr)  ((hstr).len)
+#define HSTR_HASH(hstr) ((hstr).hash)
+
 inline void
-hstr_rehash(struct hstr* hash_str, uint32_t truncate_to)
+hstr_rehash(struct hstr* hash_str, u32_t truncate_to)
 {
     hash_str->hash = strhash_32(hash_str->value, truncate_to);
 }