]> sourceware.org Git - newlib-cygwin.git/blob - newlib/libc/include/sys/stdio.h
2008-12-11 Jeff Johnston <jjohnstn@redhat.com>
[newlib-cygwin.git] / newlib / libc / include / sys / stdio.h
1 #ifndef _NEWLIB_STDIO_H
2 #define _NEWLIB_STDIO_H
3
4 #include <sys/lock.h>
5 #include <sys/reent.h>
6
7 /* Internal locking macros, used to protect stdio functions. In the
8 general case, expand to nothing. Use __SSTR flag in FILE _flags to
9 detect if FILE is private to sprintf/sscanf class of functions; if
10 set then do nothing as lock is not initialised. */
11 #if !defined(_flockfile)
12 #ifndef __SINGLE_THREAD__
13 # define _flockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __lock_acquire_recursive((fp)->_lock))
14 #else
15 # define _flockfile(fp) (_CASTVOID 0)
16 #endif
17 #endif
18
19 #if !defined(_funlockfile)
20 #ifndef __SINGLE_THREAD__
21 # define _funlockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __lock_release_recursive((fp)->_lock))
22 #else
23 # define _funlockfile(fp) (_CASTVOID 0)
24 #endif
25 #endif
26
27 #endif /* _NEWLIB_STDIO_H */
This page took 0.037009 seconds and 5 git commands to generate.