1#ifndef COMPAT_H
2#define COMPAT_H
3
4/*
5 * Various systems get these things wrong. So
6 * we create a small compat library for them.
7 *
8 *  - zeroed anonymous mmap
9 *	Missing in MinGW
10 *  - "string to long double" (C99 strtold())
11 *	Missing in Solaris and MinGW
12 */
13
14/*
15 * Our "blob" allocator works on chunks that are multiples
16 * of this size (the underlying allocator may be a mmap that
17 * cannot handle smaller chunks, for example, so trying to
18 * allocate blobs that aren't aligned is not going to work).
19 */
20#define CHUNK 32768
21
22void *blob_alloc(unsigned long size);
23void blob_free(void *addr, unsigned long size);
24long double string_to_ld(const char *nptr, char **endptr);
25
26#endif
27