#include <errno.h>
#include <inttypes.h>
#include <linux/kernel.h>
-#include <linux/unaligned.h>
#include "libbpf.h"
#include "libbpf_internal.h"
}
}
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpacked"
+struct __packed_u32 { __u32 __val; } __attribute__((packed));
+#pragma GCC diagnostic pop
+
+#define get_unaligned_be32(p) be32_to_cpu((((struct __packed_u32 *)(p))->__val))
+#define put_unaligned_be32(v, p) do { \
+ ((struct __packed_u32 *)(p))->__val = cpu_to_be32(v); \
+} while (0)
+
#define SHA256_BLOCK_LENGTH 64
#define Ch(x, y, z) (((x) & (y)) ^ (~(x) & (z)))
#define Maj(x, y, z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
memcpy(final_data, data + len - final_len, final_len);
final_data[final_len] = 0x80;
- final_len = round_up(final_len + 9, SHA256_BLOCK_LENGTH);
+ final_len = roundup(final_len + 9, SHA256_BLOCK_LENGTH);
memcpy(&final_data[final_len - 8], &bitcount, 8);
sha256_blocks(state, final_data, final_len / SHA256_BLOCK_LENGTH);