-extern IV PerlIOBuf_pushed(PerlIO *f, const char *mode, SV *arg);
-extern PerlIO *PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param);
-extern SSize_t PerlIOBuf_read(PerlIO *f, void *vbuf, Size_t count);
-extern SSize_t PerlIOBuf_unread(PerlIO *f, const void *vbuf, Size_t count);
-extern SSize_t PerlIOBuf_write(PerlIO *f, const void *vbuf, Size_t count);
-extern IV PerlIOBuf_seek(PerlIO *f, Off_t offset, int whence);
-extern Off_t PerlIOBuf_tell(PerlIO *f);
-extern IV PerlIOBuf_close(PerlIO *f);
-extern IV PerlIOBuf_flush(PerlIO *f);
-extern IV PerlIOBuf_fill(PerlIO *f);
-extern STDCHAR *PerlIOBuf_get_base(PerlIO *f);
-extern Size_t PerlIOBuf_bufsiz(PerlIO *f);
-extern STDCHAR *PerlIOBuf_get_ptr(PerlIO *f);
-extern SSize_t PerlIOBuf_get_cnt(PerlIO *f);
-extern void PerlIOBuf_set_ptrcnt(PerlIO *f, STDCHAR * ptr, SSize_t cnt);
+extern IV PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg);
+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);
+extern SSize_t PerlIOBuf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+extern SSize_t PerlIOBuf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
+extern IV PerlIOBuf_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
+extern Off_t PerlIOBuf_tell(pTHX_ PerlIO *f);
+extern IV PerlIOBuf_close(pTHX_ PerlIO *f);
+extern IV PerlIOBuf_flush(pTHX_ PerlIO *f);
+extern IV PerlIOBuf_fill(pTHX_ PerlIO *f);
+extern STDCHAR *PerlIOBuf_get_base(pTHX_ PerlIO *f);
+extern Size_t PerlIOBuf_bufsiz(pTHX_ PerlIO *f);
+extern STDCHAR *PerlIOBuf_get_ptr(pTHX_ PerlIO *f);
+extern SSize_t PerlIOBuf_get_cnt(pTHX_ PerlIO *f);
+extern void PerlIOBuf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);