X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perlio.h;h=0c6b26ab1dd75883d4f214a93067bdfb4dd42c86;hb=a52fe3ac22032460c16bdf76478b04c7f356c27e;hp=d8ea15a8a023b13e910f0aff1592b8ce4f977f58;hpb=76ced9add7b621dfc9d4ecb534aeea8e131a418a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perlio.h b/perlio.h index d8ea15a..0c6b26a 100644 --- a/perlio.h +++ b/perlio.h @@ -78,9 +78,11 @@ typedef struct _PerlIO PerlIOl; 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 PerlIO * PerlIO_push (PerlIO *f,PerlIO_funcs *tab,const char *mode); +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); #endif /* PerlIO */ @@ -128,6 +130,8 @@ 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 @@ -157,6 +161,8 @@ extern void PerlIO_pop (PerlIO *f); /* --------------------- Now prototypes for functions --------------- */ +START_EXTERN_C + #ifndef NEXT30_NO_ATTRIBUTE #ifndef HASATTRIBUTE /* disable GNU-cc attribute checking? */ #ifdef __attribute__ /* Avoid possible redefinition errors */ @@ -293,16 +299,35 @@ extern PerlIO * PerlIO_stdout (void); extern PerlIO * PerlIO_stderr (void); #endif #ifndef PerlIO_getpos -extern int PerlIO_getpos (PerlIO *,Fpos_t *); +extern int PerlIO_getpos (PerlIO *,SV *); #endif #ifndef PerlIO_setpos -extern int PerlIO_setpos (PerlIO *,const Fpos_t *); +extern int PerlIO_setpos (PerlIO *,SV *); #endif #ifndef PerlIO_fdupopen -extern PerlIO * PerlIO_fdupopen (PerlIO *); +extern PerlIO * PerlIO_fdupopen (pTHX_ PerlIO *); +#endif +#if !defined(PerlIO_modestr) && !defined(PERLIO_IS_STDIO) +extern char *PerlIO_modestr (PerlIO *,char *buf); #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 + +#ifndef PERLIO_IS_STDIO + +extern void PerlIO_cleanup(); + +extern void PerlIO_debug(const char *fmt,...); + +#endif + +END_EXTERN_C #endif /* _PERLIO_H */