summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c
new file mode 100644
index 0000000..e77f65b
--- /dev/null
+++ b/src/util.c
@@ -0,0 +1,33 @@
+#include "aplos.h"
+
+uint16_t
+read_uint16_le(const uint8_t *p)
+{
+ return p[0] | (p[1] << 8);
+}
+
+uint16_t
+read_uint16_be(const uint8_t *p)
+{
+ return p[1] | (p[0] << 8);
+}
+
+uint32_t
+read_uint32_le(const uint8_t *p)
+{
+ return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
+}
+
+int
+memcmp(const void *p1, const void *p2, size_t n)
+{
+ const uint8_t *a = p1;
+ const uint8_t *b = p2;
+ for(size_t i = 0; i < n; i++){
+ if(a[i] < b[i])
+ return -1;
+ else if(a[i] > b[i])
+ return 1;
+ }
+ return 0;
+}