diff options
Diffstat (limited to 'src/util.c')
-rw-r--r-- | src/util.c | 33 |
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; +} |