X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perlio.h;h=914aa4d20774555febd451e21387886aca3f83f7;hb=e71c662575b0eacf7e7e6e47ee6a2e23313ee8e7;hp=76fff3840a5417d54b234475f0acb4bae69f19d8;hpb=88b61e10dfef3b0642d1458a9fff93e5000f86b0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perlio.h b/perlio.h index 76fff38..914aa4d 100644 --- a/perlio.h +++ b/perlio.h @@ -80,10 +80,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); -extern void PerlIO_pop (PerlIO *f); +extern void PerlIO_define_layer (pTHX_ PerlIO_funcs *tab); +extern SV * 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 */ @@ -106,6 +106,10 @@ extern void PerlIO_pop (PerlIO *f); #ifndef PERLIO_NOT_STDIO #define PERLIO_NOT_STDIO 1 #endif +#else +#ifndef PERLIO_NOT_STDIO +#define PERLIO_NOT_STDIO 0 +#endif #endif #ifdef PERLIO_NOT_STDIO @@ -161,6 +165,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 */ @@ -183,6 +189,9 @@ extern int PerlIO_puts (PerlIO *,const char *); #ifndef PerlIO_open extern PerlIO * PerlIO_open (const char *,const char *); #endif +#ifndef PerlIO_openn +extern PerlIO * PerlIO_openn (pTHX_ const char *layers, const char *mode,int fd,int imode,int perm,PerlIO *old,int narg,SV **arg); +#endif #ifndef PerlIO_close extern int PerlIO_close (PerlIO *); #endif @@ -297,21 +306,37 @@ 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_isutf8 -extern int PerlIO_apply_layers (pTHX_ PerlIO *f,const char *mode, const char *names); +#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_destruct(pTHX); + +#ifndef PERLIO_IS_STDIO + +extern void PerlIO_cleanup(void); + extern void PerlIO_debug(const char *fmt,...); +#endif + +END_EXTERN_C + #endif /* _PERLIO_H */