aboutsummaryrefslogtreecommitdiff
path: root/src/hash
diff options
context:
space:
mode:
authorame <[email protected]>2023-11-06 20:08:48 -0600
committerame <[email protected]>2023-11-06 20:08:48 -0600
commit829ad28a66fae082f8d2e8df27164b52592a5ee6 (patch)
tree82df02dd802224f330470b2479afe24af14b3527 /src/hash
parent2b4f5bdf9ee42d321c2904da9595c11f9a7c592b (diff)
header stuff
Diffstat (limited to 'src/hash')
-rw-r--r--src/hash/adler.c1
-rw-r--r--src/hash/adler.h10
-rw-r--r--src/hash/bsdchecksum.c1
-rw-r--r--src/hash/bsdchecksum.h10
-rw-r--r--src/hash/crc.c2
-rw-r--r--src/hash/crc.h28
-rw-r--r--src/hash/fletcher.h28
-rw-r--r--src/hash/md5.h9
-rw-r--r--src/hash/pearson.h9
-rw-r--r--src/hash/sha01.c2
-rw-r--r--src/hash/sha01.h11
-rw-r--r--src/hash/sha2xx.h10
-rw-r--r--src/hash/sysvchecksum.h10
-rw-r--r--src/hash/xor.h9
-rw-r--r--src/hash/xxh.h21
15 files changed, 156 insertions, 5 deletions
diff --git a/src/hash/adler.c b/src/hash/adler.c
index a893373..3bd865a 100644
--- a/src/hash/adler.c
+++ b/src/hash/adler.c
@@ -14,7 +14,6 @@ uint32_t i_adler32(uint8_t *aa, size_t len){
}
int l_adler32(lua_State* L){
-
size_t len = 0;
uint8_t* a = (uint8_t*)luaL_checklstring(L, 1, &len);
diff --git a/src/hash/adler.h b/src/hash/adler.h
index 245ecec..747fe19 100644
--- a/src/hash/adler.h
+++ b/src/hash/adler.h
@@ -1,3 +1,13 @@
#include "../lua.h"
+#include <stdint.h>
+
+/**
+ * calculates a adler hash of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint32_t} 32 bit hash
+*/
+uint32_t i_adler32(uint8_t*, size_t);
int l_adler32(lua_State*);
diff --git a/src/hash/bsdchecksum.c b/src/hash/bsdchecksum.c
index d2cd874..9904352 100644
--- a/src/hash/bsdchecksum.c
+++ b/src/hash/bsdchecksum.c
@@ -2,7 +2,6 @@
#include <stdio.h>
#include <stdint.h>
-
uint16_t i_bsdchecksum(uint8_t *aa, size_t len){
uint16_t check = 0x0;
diff --git a/src/hash/bsdchecksum.h b/src/hash/bsdchecksum.h
index 2ad11e4..8e41893 100644
--- a/src/hash/bsdchecksum.h
+++ b/src/hash/bsdchecksum.h
@@ -1,3 +1,13 @@
#include "../lua.h"
+#include <stdint.h>
+
+/**
+ * calculates a bsdchecksum of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint16_t} 16 bit checksum
+*/
+uint16_t i_bsdchecksum(uint8_t*, size_t);
int l_bsdchecksum(lua_State*);
diff --git a/src/hash/crc.c b/src/hash/crc.c
index 0588340..5e4f8d7 100644
--- a/src/hash/crc.c
+++ b/src/hash/crc.c
@@ -2,9 +2,7 @@
#include <stdio.h>
#include <stdint.h>
#include <stdio.h>
-#include <stdlib.h>
#include <stdint.h>
-#include <inttypes.h>
uint32_t i_crc32(uint8_t *data, size_t len){
uint32_t crc = 0xFFFFFFFF;
diff --git a/src/hash/crc.h b/src/hash/crc.h
index d380235..de61efd 100644
--- a/src/hash/crc.h
+++ b/src/hash/crc.h
@@ -1,4 +1,32 @@
#include "../lua.h"
+#include <stdint.h>
+
+/**
+ * calculates a crc of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint8_t} 8 bit checksum
+*/
+uint8_t i_crc8(uint8_t*, size_t);
+
+/**
+ * calculates a crc of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint16_t} 16 bit checksum
+*/
+uint16_t i_crc16(uint8_t*, size_t);
+
+/**
+ * calculates a crc of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint32_t} 32 bit checksum
+*/
+uint32_t i_crc32(uint8_t*, size_t);
int l_crc8(lua_State*);
int l_crc16(lua_State*);
diff --git a/src/hash/fletcher.h b/src/hash/fletcher.h
index ff08ac7..c77bce4 100644
--- a/src/hash/fletcher.h
+++ b/src/hash/fletcher.h
@@ -1,4 +1,32 @@
#include "../lua.h"
+#include <stdint.h>
+
+/**
+ * calculates a fletcher hash of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint8_t} 8 bit hash
+*/
+uint8_t i_fletcher8(uint8_t*,size_t);
+
+/**
+ * calculates a fletcher hash of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint16_t} 16 bit checksum
+*/
+uint16_t i_fletcher16(uint8_t*,size_t);
+
+/**
+ * calculates a fletcher hash of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint32_t} 32 bit checksum
+*/
+uint32_t i_fletcher32(uint8_t*,size_t);
int l_fletcher32(lua_State*);
int l_fletcher16(lua_State*);
diff --git a/src/hash/md5.h b/src/hash/md5.h
index 3bc7556..70161bd 100644
--- a/src/hash/md5.h
+++ b/src/hash/md5.h
@@ -1,3 +1,12 @@
#include "../lua.h"
+/**
+ * calculates a md5 of bytes
+ *
+ * @param {char*} input bytes
+ * @param {char[64]} output stream
+ * @return {void}
+*/
+void i_md5(char*,char*);
+
int l_md5(lua_State*);
diff --git a/src/hash/pearson.h b/src/hash/pearson.h
index aba89e4..646e6dd 100644
--- a/src/hash/pearson.h
+++ b/src/hash/pearson.h
@@ -1,4 +1,13 @@
#include "../lua.h"
+#include <stdint.h>
+/**
+ * calculates a pearson hash of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint8_t} 8 bit hash
+*/
+uint8_t i_pearson(uint8_t*,size_t);
int l_setpearson(lua_State* L);
int l_pearson(lua_State* L);
diff --git a/src/hash/sha01.c b/src/hash/sha01.c
index 48382bf..07f8829 100644
--- a/src/hash/sha01.c
+++ b/src/hash/sha01.c
@@ -3,7 +3,7 @@
#include <string.h>
#include <stdint.h>
-void i_sha01(unsigned version, char* out_stream, const char* input){
+void i_sha01(uint8_t version, char* out_stream, const char* input){
if(!out_stream||version > 2) return;
uint32_t h0 = 0x67452301;
uint32_t h1 = 0xEFCDAB89;
diff --git a/src/hash/sha01.h b/src/hash/sha01.h
index 8ad31ab..7c37115 100644
--- a/src/hash/sha01.h
+++ b/src/hash/sha01.h
@@ -1,4 +1,15 @@
#include "../lua.h"
+#include <stdint.h>
+
+/**
+ * calculates a sha1 (or 0) of bytes
+ *
+ * @param {uint8_t} version (1 or 0)
+ * @param {char*} output stream
+ * @param {const char*} input bytes
+ * @return {void}
+*/
+void i_sha01(uint8_t, char*, const char*);
int l_sha1(lua_State*);
int l_sha0(lua_State*);
diff --git a/src/hash/sha2xx.h b/src/hash/sha2xx.h
index cfd64ac..a15aca6 100644
--- a/src/hash/sha2xx.h
+++ b/src/hash/sha2xx.h
@@ -4,5 +4,15 @@ enum version {
sha256, sha224
};
+/**
+ * calculates a sha2 hash of bytes
+ *
+ * @param {enum version} version to use
+ * @param {char*} output stream
+ * @param {char*} input bytes
+ * @return {void}
+*/
+void i_sha2xx(enum version, char* out_stream, char* input);
+
int l_sha256(lua_State*);
int l_sha224(lua_State*);
diff --git a/src/hash/sysvchecksum.h b/src/hash/sysvchecksum.h
index 8f27721..e45cff8 100644
--- a/src/hash/sysvchecksum.h
+++ b/src/hash/sysvchecksum.h
@@ -1,3 +1,13 @@
#include "../lua.h"
+#include <stdint.h>
+
+/**
+ * calculates a sysv checksum of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint32_t} 32 bit checksum
+*/
+uint32_t i_sysvchecksum(uint8_t*, size_t);
int l_sysvchecksum(lua_State*);
diff --git a/src/hash/xor.h b/src/hash/xor.h
index f495c36..bd9aaed 100644
--- a/src/hash/xor.h
+++ b/src/hash/xor.h
@@ -1,3 +1,12 @@
#include "../lua.h"
+#include <stdint.h>
+/**
+ * calculates a xor hash of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {size_t} input length
+ * @return {uint8_t} 8 bit checksum
+*/
+uint8_t xor8(uint8_t*, size_t);
int l_xor8(lua_State*);
diff --git a/src/hash/xxh.h b/src/hash/xxh.h
index 7dc3c8b..07e7579 100644
--- a/src/hash/xxh.h
+++ b/src/hash/xxh.h
@@ -1,4 +1,25 @@
#include "../lua.h"
+#include <stdint.h>
+
+/**
+ * calculates a xxhash32 of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {uint32_t} hash seed
+ * @param {size_t} input length
+ * @return {uint32_t} 32 bit hash
+*/
+uint32_t i_xxhash32(uint8_t*, uint32_t, size_t);
+
+/**
+ * calculates a xxhash64 of (len) bytes
+ *
+ * @param {uint8_t*} input bytes
+ * @param {uint64_t} hash seed
+ * @param {size_t} input length
+ * @return {uint64_t} 64 bit hash
+*/
+uint64_t i_xxhash64(uint8_t*, uint64_t, size_t);
int l_xxh32(lua_State*);
int l_xxh64(lua_State*);