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 51b9a83..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"
@@ -80,10 +87,10 @@ typedef PerlIOl *PerlIO;
 #define PerlIO PerlIO
 #define PERLIO_LAYERS 1
 
-extern void    PerlIO_define_layer     (PerlIO_funcs *tab);
-extern SV *    PerlIO_find_layer       (const char *name, STRLEN len);
-extern PerlIO *        PerlIO_push             (PerlIO *f,PerlIO_funcs *tab,const char *mode,const char *arg,STRLEN len);
-extern void    PerlIO_pop              (PerlIO *f);
+extern void    PerlIO_define_layer     (pTHX_ PerlIO_funcs *tab);
+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);
 
 #endif /* PerlIO */
 
@@ -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,11 @@ 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);
 
 #ifndef PERLIO_IS_STDIO