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
);