2 # if defined __need_FILE || defined __need___FILE
4 # include <libio/stdio.h>
6 # include <stdio/stdio.h>
10 # include <libio/stdio.h>
12 /* Now define the internal interfaces. */
13 extern int __fcloseall (void);
14 extern int __snprintf (char *__restrict __s, size_t __maxlen,
15 __const char *__restrict __format, ...)
16 __attribute__ ((__format__ (__printf__, 3, 4)));
17 extern int __vsnprintf (char *__restrict __s, size_t __maxlen,
18 __const char *__restrict __format, _G_va_list __arg)
19 __attribute__ ((__format__ (__printf__, 3, 0)));
20 extern int __vfscanf (FILE *__restrict __s,
21 __const char *__restrict __format,
23 __attribute__ ((__format__ (__scanf__, 2, 0)));
24 extern int __vscanf (__const char *__restrict __format,
26 __attribute__ ((__format__ (__scanf__, 1, 0)));
27 extern _IO_ssize_t __getline (char **__lineptr, size_t *__n,
29 extern int __vsscanf (__const char *__restrict __s,
30 __const char *__restrict __format,
32 __attribute__ ((__format__ (__scanf__, 2, 0)));
34 /* Prototypes for compatibility functions. */
35 extern FILE *__new_tmpfile (void);
36 extern FILE *__old_tmpfile (void);
40 # include <stdio/stdio.h>
43 # define __need_size_t
45 /* Generate a unique file name (and possibly open it). */
46 extern int __path_search (char *__tmpl, size_t __tmpl_len,
47 __const char *__dir, __const char *__pfx,
50 extern int __gen_tempname (char *__tmpl, int __kind);
51 /* The __kind argument to __gen_tempname may be one of: */
52 # define __GT_FILE 0 /* create a file */
53 # define __GT_BIGFILE 1 /* create a file, using open64 */
54 # define __GT_DIR 2 /* create a directory */
55 # define __GT_NOCREATE 3 /* just find a name not currently in use */
57 /* Print out MESSAGE on the error output and abort. */
58 extern void __libc_fatal (__const char *__message)
59 __attribute__ ((__noreturn__));
61 /* Acquire ownership of STREAM. */
62 extern void __flockfile (FILE *__stream);
64 /* Relinquish the ownership granted for STREAM. */
65 extern void __funlockfile (FILE *__stream);
67 /* Try to acquire ownership of STREAM but do not block if it is not
69 extern int __ftrylockfile (FILE *__stream);
71 extern int __getc_unlocked (FILE *__fp);
73 extern wint_t __getwc_unlocked (FILE *__fp);