Re: [PATCH] Re: [ID 20010105.023] numeric problems in IRIX
[p5sagit/p5-mst-13.2.git] / perliol.h
index a2581b2..f524fcd 100644 (file)
--- a/perliol.h
+++ b/perliol.h
@@ -10,7 +10,7 @@ struct _PerlIO_funcs
  PerlIO *      (*Fdopen)(PerlIO_funcs *tab, int fd, const char *mode);
  PerlIO *      (*Open)(PerlIO_funcs *tab, const char *path, const char *mode);
  int           (*Reopen)(const char *path, const char *mode, PerlIO *f);
- IV            (*Pushed)(PerlIO *f,const char *mode);
+ IV            (*Pushed)(PerlIO *f,const char *mode,const char *arg,STRLEN len);
  IV            (*Popped)(PerlIO *f);
  /* Unix-like functions - cf sfio line disciplines */
  SSize_t       (*Read)(PerlIO *f, void *vbuf, Size_t count);
@@ -40,6 +40,7 @@ struct _PerlIO_funcs
 #define PERLIO_K_BUFFERED      0x00000002
 #define PERLIO_K_CANCRLF       0x00000004
 #define PERLIO_K_FASTGETS      0x00000008
+#define PERLIO_K_DUMMY         0x00000010
 
 /*--------------------------------------------------------------------------------------*/
 struct _PerlIO
@@ -78,11 +79,15 @@ extern PerlIO_funcs PerlIO_unix;
 extern PerlIO_funcs PerlIO_perlio;
 extern PerlIO_funcs PerlIO_stdio;
 extern PerlIO_funcs PerlIO_crlf;
+extern PerlIO_funcs PerlIO_utf8;
+extern PerlIO_funcs PerlIO_raw;
+/* The EXT is need for Cygwin -- but why only for _pending? --jhi */
+EXT PerlIO_funcs PerlIO_pending;
 #ifdef HAS_MMAP
 extern PerlIO_funcs PerlIO_mmap;
 #endif
 
-extern PerlIO *PerlIO_allocate(void);
+extern PerlIO *PerlIO_allocate(pTHX);
 
 #if O_BINARY != O_TEXT
 #define PERLIO_STDTEXT "t"
@@ -94,7 +99,7 @@ extern PerlIO *PerlIO_allocate(void);
 /* Generic, or stub layer functions */
 
 extern IV      PerlIOBase_fileno    (PerlIO *f);
-extern IV      PerlIOBase_pushed    (PerlIO *f, const char *mode);
+extern IV      PerlIOBase_pushed    (PerlIO *f, const char *mode,const char *arg,STRLEN len);
 extern IV      PerlIOBase_popped    (PerlIO *f);
 extern SSize_t PerlIOBase_unread    (PerlIO *f, const void *vbuf, Size_t count);
 extern IV      PerlIOBase_eof       (PerlIO *f);