root/maint/gnulib/lib/freadable.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /* Retrieve information about a FILE stream.
   2    Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc.
   3 
   4    This file is free software: you can redistribute it and/or modify
   5    it under the terms of the GNU Lesser General Public License as
   6    published by the Free Software Foundation; either version 3 of the
   7    License, or (at your option) any later version.
   8 
   9    This file 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 Lesser General Public License for more details.
  13 
  14    You should have received a copy of the GNU Lesser General Public License
  15    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  16 
  17 #include <stdbool.h>
  18 #include <stdio.h>
  19 
  20 /* Return true if the stream STREAM supports reading, false if it supports
  21    only writing, i.e. if it was opened write-only or append-only.
  22    STREAM must not be wide-character oriented.
  23    The result doesn't change until the stream is closed or re-opened.  */
  24 
  25 #if HAVE___FREADABLE
  26 /* glibc >= 2.2, Solaris >= 7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.34, Android API >= 23, musl libc */
  27 
  28 # if HAVE_STDIO_EXT_H
  29 #  include <stdio_ext.h>
  30 # endif
  31 # define freadable(stream) (__freadable (stream) != 0)
  32 
  33 #else
  34 
  35 # ifdef __cplusplus
  36 extern "C" {
  37 # endif
  38 
  39 extern bool freadable (FILE *stream) _GL_ATTRIBUTE_PURE;
  40 
  41 # ifdef __cplusplus
  42 }
  43 # endif
  44 
  45 #endif

/* [previous][next][first][last][top][bottom][index][help] */