Add prototypes for compatibility functions.
[kopensolaris-gnu/glibc.git] / include / stdio.h
1 #ifndef _STDIO_H
2 # if defined __need_FILE || defined __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 (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 __vfscanf (FILE *__restrict __s,
18                       __const char *__restrict __format,
19                       _G_va_list __arg)
20      __attribute__ ((__format__ (__scanf__, 2, 0)));
21 extern int __vscanf (__const char *__restrict __format,
22                      _G_va_list __arg)
23      __attribute__ ((__format__ (__scanf__, 1, 0)));
24 extern _IO_ssize_t __getline (char **__lineptr, size_t *__n,
25                               FILE *__stream);
26 extern int __vsscanf (__const char *__restrict __s,
27                       __const char *__restrict __format,
28                       _G_va_list __arg)
29      __attribute__ ((__format__ (__scanf__, 2, 0)));
30
31 /* Prototypes for compatibility functions.  */
32 extern FILE *__new_tmpfile (void);
33 extern FILE *__old_tmpfile (void);
34
35
36 #  else
37 #   include <stdio/stdio.h>
38 #  endif
39
40 #  define __need_size_t
41 #  include <stddef.h>
42 /* Generate a unique file name (and possibly open it).  */
43 extern int __path_search (char *__tmpl, size_t __tmpl_len,
44                           __const char *__dir, __const char *__pfx,
45                           int __try_tempdir);
46
47 extern int __gen_tempname (char *__tmpl, int __kind);
48 /* The __kind argument to __gen_tempname may be one of: */
49 #  define __GT_FILE     0       /* create a file */
50 #  define __GT_BIGFILE  1       /* create a file, using open64 */
51 #  define __GT_DIR      2       /* create a directory */
52 #  define __GT_NOCREATE 3       /* just find a name not currently in use */
53
54 /* Print out MESSAGE on the error output and abort.  */
55 extern void __libc_fatal (__const char *__message)
56      __attribute__ ((__noreturn__));
57
58 /* Acquire ownership of STREAM.  */
59 extern void __flockfile (FILE *__stream);
60
61 /* Relinquish the ownership granted for STREAM.  */
62 extern void __funlockfile (FILE *__stream);
63
64 /* Try to acquire ownership of STREAM but do not block if it is not
65    possible.  */
66 extern int __ftrylockfile (FILE *__stream);
67
68 extern int __getc_unlocked (FILE *__fp);
69 extern wint_t __getwc_unlocked (FILE *__fp);
70
71
72 # endif
73
74 #endif