Move to sys_stat_.h.
[gnulib.git] / lib / fpurge.h
1 /* Flushing buffers of a FILE stream.
2    Copyright (C) 2007 Free Software Foundation, Inc.
3
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 2, or (at your option)
7    any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License along
15    with this program; if not, write to the Free Software Foundation,
16    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
17
18 #include <stdio.h>
19
20 /* Discard all pending buffered I/O on the stream STREAM.
21    STREAM must not be wide-character oriented.
22    Return 0 if successful.  Upon error, return -1 and set errno.  */
23
24 #if HAVE___FPURGE /* glibc >= 2.2, Solaris >= 7 */
25
26 # include <stdio_ext.h>
27 # define fpurge(stream) (__fpurge (stream), 0)
28
29 #elif ! HAVE_DECL_FPURGE
30
31 # ifdef __cplusplus
32 extern "C" {
33 # endif
34
35 extern int fpurge (FILE *stream);
36
37 # ifdef __cplusplus
38 }
39 # endif
40
41 #endif