summaryrefslogtreecommitdiffstats
path: root/libnetdata/onewayalloc/onewayalloc.h
blob: 9eb908bfb6e525f93848e3b86d6fba72701aa81a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef ONEWAYALLOC_H
#define ONEWAYALLOC_H 1

#include "../libnetdata.h"

typedef void ONEWAYALLOC;

extern ONEWAYALLOC *onewayalloc_create(size_t size_hint);
extern void onewayalloc_destroy(ONEWAYALLOC *owa);

extern void *onewayalloc_mallocz(ONEWAYALLOC *owa, size_t size);
extern void *onewayalloc_callocz(ONEWAYALLOC *owa, size_t nmemb, size_t size);
extern char *onewayalloc_strdupz(ONEWAYALLOC *owa, const char *s);
extern void *onewayalloc_memdupz(ONEWAYALLOC *owa, const void *src, size_t size);
extern void onewayalloc_freez(ONEWAYALLOC *owa, const void *ptr);

extern void *onewayalloc_doublesize(ONEWAYALLOC *owa, const void *src, size_t oldsize);

#endif // ONEWAYALLOC_H