summaryrefslogtreecommitdiff
path: root/libc/include/malloc.h
blob: ee877a12b7e039edac1046d03389e74cb0b4785d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef __MALLOC_H__
#define __MALLOC_H__

#include <reent.h>
#include <stddef.h>
#include <string.h>

typedef void * (*malloc_t)(size_t size);
typedef void (*free_t)(void * ptr);
typedef void * (*realloc_t)(void * ptr, size_t size);

void * base_malloc(size_t size);
void base_free(void * ptr);
void * base_realloc(void * ptr, size_t size);

extern malloc_t malloc;
extern free_t free;
extern realloc_t realloc;

static inline void * calloc(size_t nmemb, size_t size) {
    void * r = malloc(nmemb * size);
    memset(r, 0, nmemb * size);
    return r;
}

#endif