summaryrefslogtreecommitdiff
path: root/stdio/stdio.h
diff options
context:
space:
mode:
Diffstat (limited to 'stdio/stdio.h')
-rw-r--r--stdio/stdio.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/stdio/stdio.h b/stdio/stdio.h
index bf4f7b818c..705fd832d0 100644
--- a/stdio/stdio.h
+++ b/stdio/stdio.h
@@ -169,6 +169,10 @@ extern void __libc_fatal __P ((__const char *__message))
__attribute__ ((__noreturn__));
+/* For thread safe I/O functions we need a lock in each stream. We
+ keep the type opaque here. */
+struct __stdio_lock;
+
/* The FILE structure. */
struct __stdio_file
{
@@ -176,8 +180,8 @@ struct __stdio_file
for the glue to Unix stdio getc/putc to work.
NOTE: stdio/glue.c has special knowledge of these first four members. */
int __magic;
-#define _IOMAGIC 0xfedabeeb /* Magic number to fill `__magic'. */
-#define _GLUEMAGIC 0xfeedbabe /* Magic for glued Unix streams. */
+#define _IOMAGIC ((int) 0xfedabeeb) /* Magic number to fill `__magic'. */
+#define _GLUEMAGIC ((int) 0xfeedbabe) /* Magic for glued Unix streams. */
char *__bufp; /* Pointer into the buffer. */
char *__get_limit; /* Reading limit. */
@@ -202,6 +206,7 @@ struct __stdio_file
unsigned int __linebuf_active:1; /* put_limit is not really in use. */
unsigned int __seen:1; /* This stream has been seen. */
unsigned int __ispipe:1; /* Nonzero if opened by popen. */
+ struct __stdio_lock *__lock; /* Pointer to associated lock. */
};