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 struct stream;
14 struct stat;
15
16 /*
17 * Our "blob" allocator works on chunks that are multiples
18 * of this size (the underlying allocator may be a mmap that
19 * cannot handle smaller chunks, for example, so trying to
20 * allocate blobs that aren't aligned is not going to work).
21 */
22 #define CHUNK 32768
23
24 void *blob_alloc(unsigned long size);
25 void blob_free(void *addr, unsigned long size);
26 long double string_to_ld(const char *nptr, char **endptr);
27
28 #endif
|
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
22 void *blob_alloc(unsigned long size);
23 void blob_free(void *addr, unsigned long size);
24 long double string_to_ld(const char *nptr, char **endptr);
25
26 #endif
|