This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Clear up a documentation confusion noticed by Xiaoyun Wu
[perl5.git] / perlio.h
index cd722a1..e510929 100644 (file)
--- a/perlio.h
+++ b/perlio.h
 
 #if defined(PERL_IMPLICIT_SYS)
 #ifndef USE_PERLIO
+#ifndef NETWARE
 # define USE_PERLIO
 #endif
 #endif
+#endif
 
 #ifndef USE_PERLIO
 # define USE_STDIO
 #define fseek fseeko
 #endif
 
+/* BS2000 includes are sometimes a bit non standard :-( */
+#if defined(POSIX_BC) && defined(O_BINARY) && !defined(O_TEXT)
+#undef O_BINARY
+#endif
+
 #ifdef PERLIO_IS_STDIO
 /* #define PerlIO_xxxx() as equivalent stdio function */
 #include "perlsdio.h"
@@ -81,7 +88,7 @@ typedef PerlIOl *PerlIO;
 #define PERLIO_LAYERS 1
 
 extern void    PerlIO_define_layer     (pTHX_ PerlIO_funcs *tab);
-extern SV *    PerlIO_find_layer       (pTHX_ const char *name, STRLEN len);
+extern PerlIO_funcs *PerlIO_find_layer (pTHX_ const char *name, STRLEN len, int load);
 extern PerlIO *        PerlIO_push             (pTHX_ PerlIO *f,PerlIO_funcs *tab,const char *mode,SV *arg);
 extern void    PerlIO_pop              (pTHX_ PerlIO *f);
 
@@ -237,6 +244,9 @@ extern void PerlIO_releaseFILE      (PerlIO *,FILE *);
 #ifndef PerlIO_read
 extern SSize_t PerlIO_read             (PerlIO *,void *,Size_t);
 #endif
+#ifndef PerlIO_unread
+extern SSize_t PerlIO_unread           (PerlIO *,const void *,Size_t);
+#endif
 #ifndef PerlIO_write
 extern SSize_t PerlIO_write            (PerlIO *,const void *,Size_t);
 #endif
@@ -326,6 +336,9 @@ extern int  PerlIO_apply_layers     (pTHX_ PerlIO *f, const char *mode, const char *n
 #ifndef PerlIO_binmode
 extern int     PerlIO_binmode          (pTHX_ PerlIO *f, int iotype, int omode, const char *names);
 #endif
+#ifndef PerlIO_getname
+extern char *  PerlIO_getname          (PerlIO *, char *);
+#endif
 
 extern void PerlIO_destruct(pTHX);