fix missing timeout argument to futex syscall in __futexwait
[oweals/musl.git] / include / stdio.h
index cd60bb555936c3953e01f83e86dd03cb0ce1e46e..afadd9124a847dfdf6b407049c7e0a32d9f389f4 100644 (file)
@@ -21,7 +21,11 @@ extern "C" {
 
 #include <bits/alltypes.h>
 
+#ifdef __cplusplus
 #define NULL 0L
+#else
+#define NULL ((void*)0)
+#endif
 
 #undef EOF
 #define EOF (-1)
@@ -45,6 +49,7 @@ extern "C" {
 
 typedef union _G_fpos64_t {
        char __opaque[16];
+       long long __lldata;
        double __align;
 } fpos_t;
 
@@ -178,6 +183,20 @@ int vasprintf(char **, const char *, __isoc_va_list);
 #ifdef _GNU_SOURCE
 char *fgets_unlocked(char *, int, FILE *);
 int fputs_unlocked(const char *, FILE *);
+
+typedef ssize_t (cookie_read_function_t)(void *, char *, size_t);
+typedef ssize_t (cookie_write_function_t)(void *, const char *, size_t);
+typedef int (cookie_seek_function_t)(void *, off_t *, int);
+typedef int (cookie_close_function_t)(void *);
+
+typedef struct _IO_cookie_io_functions_t {
+       cookie_read_function_t *read;
+       cookie_write_function_t *write;
+       cookie_seek_function_t *seek;
+       cookie_close_function_t *close;
+} cookie_io_functions_t;
+
+FILE *fopencookie(void *, const char *, cookie_io_functions_t);
 #endif
 
 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)