power_play/src/memory.h
2025-05-07 16:57:36 -05:00

27 lines
797 B
C

#ifndef MEMORY_H
#define MEMORY_H
#define MEMZERO_STRUCT(ptr) MEMZERO((ptr), sizeof(*(ptr)))
#define MEMZERO_ARRAY(a) MEMZERO((a), sizeof((a)))
#define MEMZERO(ptr, count) MEMSET((ptr), 0, (count))
#define MEMCPY_STRUCT(ptr_dst, ptr_src) MEMCPY((ptr_dst), (ptr_src), sizeof(*(ptr_dst)))
#define MEMCPY(dst, src, count) memcpy((dst), (src), (count))
#define MEMEQ_STRUCT(p1, p2) MEMEQ((p1), (p2), sizeof(*p1))
#define MEMEQ(p1, p2, n) (MEMCMP((p1), (p2), (n)) == 0)
#define MEMCMP(p1, p2, n) memcmp((p1), (p2), (n))
#define MEMSET(ptr, val, count) memset((ptr), (val), (count))
#if CRTLIB
# include <memory.h>
#else
void *memcpy(void *__restrict dst, const void *__restrict src, u64 n);
void *memset(void *dst, i32 c, u64 n);
i32 memcmp(const void *p1, const void *p2, u64 n);
#endif
#endif