44 lines
936 B
C
44 lines
936 B
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <limits.h>
|
|
#include <stddef.h>
|
|
|
|
#define RAND_MAX INT_MAX
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern unsigned char __heap_base;
|
|
|
|
#define IMPORT(name) __attribute__((import_module("env"), import_name(#name)))
|
|
#define EXPORT(name) __attribute__((export_name(#name)))
|
|
|
|
void* malloc(size_t size);
|
|
void* calloc(size_t n, size_t size);
|
|
void* realloc(void* ptr, size_t size);
|
|
void free(void* ptr);
|
|
|
|
__attribute__((__always_inline__)) static inline
|
|
void* memset(void* d, int c, size_t n) {
|
|
return __builtin_memset(d, c, n);
|
|
}
|
|
|
|
__attribute__((__always_inline__)) static inline
|
|
void* memcpy(void* dest, const void* src, size_t n) {
|
|
return __builtin_memcpy(dest, src, n);
|
|
}
|
|
|
|
int memcmp(const void* s1, const void* s2, size_t n);
|
|
|
|
IMPORT(log) void printf(const char* format, ...);
|
|
|
|
EXPORT(__srand) void srand(uint64_t seed);
|
|
int rand(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|