typedef struct _PerlIO_funcs PerlIO_funcs;
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);
extern void PerlIO_pop (PerlIO *f);
#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
extern int PerlIO_setpos (PerlIO *,const Fpos_t *);
#endif
#ifndef PerlIO_fdupopen
-extern PerlIO * PerlIO_fdupopen (PerlIO *);
+#define PerlIO_fdupopen(f) (f)
+/* extern PerlIO * PerlIO_fdupopen (PerlIO *); */
#endif
#ifndef PerlIO_isutf8
extern int PerlIO_isutf8 (PerlIO *);
#endif
+#ifndef PerlIO_apply_layers
+extern int PerlIO_apply_layers (pTHX_ PerlIO *f, const char *mode, const char *names);
+#endif
+#ifndef PerlIO_binmode
+extern int PerlIO_binmode (pTHX_ PerlIO *f, int iotype, int omode, const char *names);
+#endif
+
+extern void PerlIO_debug(const char *fmt,...);
#endif /* _PERLIO_H */