blob: 9814ae3e89be51be3cb6085e72f0ebba56f35d07 [file] [log] [blame]
#ifndef COMPAT_H
#define COMPAT_H
/*
* Various systems get these things wrong. So
* we create a small compat library for them.
*
* - zeroed anonymous mmap
* Missing in MinGW
* - "string to long double" (C99 strtold())
* Missing in Solaris and MinGW
*/
struct stream;
struct stat;
/*
* Our "blob" allocator works on chunks that are multiples
* of this size (the underlying allocator may be a mmap that
* cannot handle smaller chunks, for example, so trying to
* allocate blobs that aren't aligned is not going to work).
*/
#define CHUNK 32768
void *blob_alloc(unsigned long size);
void blob_free(void *addr, unsigned long size);
long double string_to_ld(const char *nptr, char **endptr);
#endif