[! USE_IN_LIBIO && __need_FILE]: Avoid defining any additional
[kopensolaris-gnu/glibc.git] / include / stdio.h
1 #ifndef _STDIO_H
2 # ifdef __need_FILE
3 #  ifdef USE_IN_LIBIO
4 #   include <libio/stdio.h>
5 #  else
6 #   include <stdio/stdio.h>
7 #  endif
8 # else
9 #  ifdef USE_IN_LIBIO
10 #   include <libio/stdio.h>
11
12 /* Now define the internal interfaces.  */
13 extern int __fcloseall __P ((void));
14 extern int __snprintf __P ((char *__restrict __s, size_t __maxlen,
15                             __const char *__restrict __format, ...))
16      __attribute__ ((__format__ (__printf__, 3, 4)));
17 extern int __vfscanf __P ((FILE *__restrict __s,
18                            __const char *__restrict __format,
19                            _G_va_list __arg))
20      __attribute__ ((__format__ (__scanf__, 2, 0)));
21 extern int __vscanf __P ((__const char *__restrict __format,
22                           _G_va_list __arg))
23      __attribute__ ((__format__ (__scanf__, 1, 0)));
24 extern _IO_ssize_t __getline __P ((char **__lineptr, size_t *__n,
25                                    FILE *__stream));
26 extern int __vsscanf __P ((__const char *__restrict __s,
27                            __const char *__restrict __format,
28                            _G_va_list __arg))
29      __attribute__ ((__format__ (__scanf__, 2, 0)));
30
31 #  else
32 #   include <stdio/stdio.h>
33 #  endif
34
35 #  define __need_size_t
36 #  include <stddef.h>
37 /* Generate a unique file name (and possibly open it).  */
38 extern int __path_search __P ((char *__tmpl, size_t __tmpl_len,
39                                __const char *__dir, __const char *__pfx,
40                                int __try_tempdir));
41
42 extern int __gen_tempname __P ((char *__tmpl, int __kind));
43 /* The __kind argument to __gen_tempname may be one of: */
44 #  define __GT_FILE     0       /* create a file */
45 #  define __GT_BIGFILE  1       /* create a file, using open64 */
46 #  define __GT_DIR      2       /* create a directory */
47 #  define __GT_NOCREATE 3       /* just find a name not currently in use */
48
49 /* Print out MESSAGE on the error output and abort.  */
50 extern void __libc_fatal __P ((__const char *__message))
51      __attribute__ ((__noreturn__));
52
53 # endif
54
55 #endif