1 /* Retrieve information about a FILE stream.
2 Copyright (C) 2007 Free Software Foundation, Inc.
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)
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.
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. */
21 /* Return true if the stream STREAM is opened write-only or
22 append-only, or if the last operation on the stream was a write
23 operation. Return false if the stream is opened read-only, or if
24 it supports reading and there is no current write operation (such
27 freading and fwriting will never both be true. If STREAM supports
28 both reads and writes, then both freading and fwriting might be
29 false when the stream is first opened, after repositioning (such as
30 fseek, fsetpos, or rewind), after read encounters EOF, or after
31 fflush, depending on the underlying implementation.
33 STREAM must not be wide-character oriented. */
35 #if HAVE___FWRITING /* glibc >= 2.2, Solaris >= 7 */
37 # include <stdio_ext.h>
38 # define fwriting(stream) (__fwriting (stream) != 0)
46 extern bool fwriting (FILE *stream);