xref: /utopia/UTPA2-700.0.x/projects/tools/lint/aeon_include/sys/stdio.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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)
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)
24 #endif
25 #endif
26 
27 #endif /* _NEWLIB_STDIO_H */
28