X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perliol.h;h=fa399e6f50d0261f565e22a3013865bb354c6e71;hb=1a95e36d92295cabb6c213a2f397c4cb7614d12c;hp=124589b493803f38e55e6fe0ebec98462b387c80;hpb=4b069b44f3c785593c10e7aca80c893a2f210b9d;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perliol.h b/perliol.h index 124589b..fa399e6 100644 --- a/perliol.h +++ b/perliol.h @@ -14,16 +14,18 @@ struct PerlIO_list_s { }; struct _PerlIO_funcs { + Size_t fsize; char *name; Size_t size; U32 kind; - IV (*Pushed) (pTHX_ PerlIO *f, const char *mode, SV *arg); + IV (*Pushed) (pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); IV (*Popped) (pTHX_ PerlIO *f); PerlIO *(*Open) (pTHX_ PerlIO_funcs *tab, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); + IV (*Binmode)(pTHX_ PerlIO *f); SV *(*Getarg) (pTHX_ PerlIO *f, CLONE_PARAMS *param, int flags); IV (*Fileno) (pTHX_ PerlIO *f); PerlIO *(*Dup) (pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); @@ -123,8 +125,9 @@ extern SV *PerlIO_arg_fetch(PerlIO_list_t *av, IV n); extern IV PerlIOBase_fileno(pTHX_ PerlIO *f); extern PerlIO *PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); -extern IV PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg); +extern IV PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); extern IV PerlIOBase_popped(pTHX_ PerlIO *f); +extern IV PerlIOBase_binmode(pTHX_ PerlIO *f); extern SSize_t PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); extern SSize_t PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); @@ -166,7 +169,7 @@ extern PerlIO *PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); -extern IV PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg); +extern IV PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); extern IV PerlIOBuf_popped(pTHX_ PerlIO *f); extern PerlIO *PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); extern SSize_t PerlIOBuf_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);