Decoupling Architectural-specific Code (#35)
[lunaix-os.git] / lunaix-os / includes / lunaix / ds / hstr.h
index f3fa89efd39deb3f07504517766c58b433ee4a16..6d2b0ee8f234fec19a77bb9ced25648756ede661 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
 {
-    unsigned int hash;
-    unsigned int len;
-    char* value;
+    u32_t hash;
+    u32_t len;
+    const char* value;
 };
 
 #define HSTR(str, length)                                                      \
@@ -27,9 +27,12 @@ struct hstr
 #define HSTR_EQ(str1, str2) ((str1)->hash == (str2)->hash)
 
 inline void
-hstr_rehash(struct hstr* hash_str, unsigned int truncate_to)
+hstr_rehash(struct hstr* hash_str, u32_t truncate_to)
 {
     hash_str->hash = strhash_32(hash_str->value, truncate_to);
 }
 
+void
+hstrcpy(struct hstr* dest, struct hstr* src);
+
 #endif /* __LUNAIX_HSTR_H */