This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5191delta: deep recursion warnings (07b2687d2/#118521)
[perl5.git] / perlio.h
index ba9b067..7b5adbd 100644 (file)
--- a/perlio.h
+++ b/perlio.h
@@ -1,7 +1,7 @@
 /*    perlio.h
  *
  *    Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003,
- *    by Larry Wall and others
+ *    2004, 2005, 2006, 2007, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -25,7 +25,7 @@
                    then there are two modes determined by USE_SFIO:
 
    USE_SFIO    - If set causes PerlIO_xxx() to be #define-d onto sfio functions.
-                 A backward compatability mode for some specialist applications.
+                 A backward compatibility mode for some specialist applications.
 
                  If USE_SFIO is not set then PerlIO_xxx() are real functions
                  defined in perlio.c which implement extra functionality
  */
 #include <stdio.h>
 
-#ifdef __BEOS__
-int fseeko(FILE *stream, off_t offset, int whence);
-off_t ftello(FILE *stream);
-#endif
-
 #if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64)
 #define ftell ftello
 #endif
@@ -174,8 +169,6 @@ PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto,
 #endif                         /* ifndef PERLIO_NOT_STDIO */
 #endif                         /* PERLIO_IS_STDIO */
 
-#define specialCopIO(sv) ((sv) == Nullsv)
-
 /* ----------- fill in things that have not got #define'd  ---------- */
 
 #ifndef Fpos_t
@@ -191,6 +184,11 @@ PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto,
 #define BUFSIZ 1024
 #endif
 
+/* The default buffer size for the perlio buffering layer */
+#ifndef PERLIOBUF_DEFAULT_BUFSIZ
+#define PERLIOBUF_DEFAULT_BUFSIZ (BUFSIZ > 8192 ? BUFSIZ : 8192)
+#endif
+
 #ifndef SEEK_SET
 #define SEEK_SET 0
 #endif
@@ -210,19 +208,11 @@ PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto,
 
 START_EXTERN_C
 #ifndef __attribute__format__
-#ifdef CHECK_FORMAT
-#define __attribute__format__(x,y,z) __attribute__((__format__(x,y,z)))
-#else
-#define __attribute__format__(x,y,z)
-#endif
-#endif
-#ifndef NEXT30_NO_ATTRIBUTE
-#ifndef HASATTRIBUTE           /* disable GNU-cc attribute checking? */
-#ifdef  __attribute__          /* Avoid possible redefinition errors */
-#undef  __attribute__
-#endif
-#define __attribute__(attr)
-#endif
+#  ifdef HASATTRIBUTE_FORMAT
+#    define __attribute__format__(x,y,z) __attribute__((format(x,y,z)))
+#  else
+#    define __attribute__format__(x,y,z)
+#  endif
 #endif
 #ifndef PerlIO_init
 PERL_EXPORT_C void PerlIO_init(pTHX);
@@ -383,7 +373,8 @@ PERL_EXPORT_C int PerlIO_intmode2str(int rawmode, char *mode, int *writing);
 #ifdef PERLIO_LAYERS
 PERL_EXPORT_C void PerlIO_cleanup(pTHX);
 
-PERL_EXPORT_C void PerlIO_debug(const char *fmt, ...);
+PERL_EXPORT_C void PerlIO_debug(const char *fmt, ...)
+    __attribute__format__(__printf__, 1, 2);
 typedef struct PerlIO_list_s PerlIO_list_t;
 
 
@@ -391,3 +382,13 @@ typedef struct PerlIO_list_s PerlIO_list_t;
 
 END_EXTERN_C
 #endif                         /* _PERLIO_H */
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 et:
+ */