summaryrefslogtreecommitdiff
path: root/perliol.h
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2001-03-22 22:26:51 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2001-03-22 22:26:51 +0000
commitee518936bd3eee0065c20591f5182f733dadd4bd (patch)
tree47bb05c60004fa322c14c6f944b966a8f4840ebc /perliol.h
parent4fbc943a81ac8168e4ba63497561c515427127d8 (diff)
downloadperl-ee518936bd3eee0065c20591f5182f733dadd4bd.tar.gz
Snapshot of new PerlIO open scheme. Still buggy - mainly in open($fh,">&STDOUT!")
type code. - Invent PerlIO_openn() - which has "lots" of args a bit like do_openn() which is its main caller. In particular now has access to "extra" args, and can tell when an open handle is "reopened" (or duped?). - In -Duseperlio PerlIO_open() et. al. are now wrappers on PerlIO_openn(). - In -Uuseperlio (untested as yet) PerlIO_openn() is a wrapper on PerlIO_open() et. al. (i.e. other way round). - Collapse "vtable" entries for layers - was fdopen/open/reopen now just open with args close to PerlIO_openn(). p4raw-id: //depot/perlio@9302
Diffstat (limited to 'perliol.h')
-rw-r--r--perliol.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/perliol.h b/perliol.h
index 6d4485abcc..d97df31160 100644
--- a/perliol.h
+++ b/perliol.h
@@ -7,9 +7,7 @@ struct _PerlIO_funcs
Size_t size;
IV kind;
IV (*Fileno)(PerlIO *f);
- PerlIO * (*Fdopen)(PerlIO_funcs *tab, int fd, const char *mode);
- PerlIO * (*Open)(PerlIO_funcs *tab, const char *path, const char *mode);
- int (*Reopen)(const char *path, const char *mode, PerlIO *f);
+ PerlIO * (*Open)(pTHX_ PerlIO_funcs *tab, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
IV (*Pushed)(PerlIO *f,const char *mode,const char *arg,STRLEN len);
IV (*Popped)(PerlIO *f);
/* Unix-like functions - cf sfio line disciplines */
@@ -131,9 +129,7 @@ typedef struct
IV oneword; /* Emergency buffer */
} PerlIOBuf;
-extern PerlIO * PerlIOBuf_fdopen (PerlIO_funcs *self, int fd, const char *mode);
-extern PerlIO * PerlIOBuf_open (PerlIO_funcs *self, const char *path, const char *mode);
-extern int PerlIOBuf_reopen (const char *path, const char *mode, PerlIO *f);
+extern PerlIO * PerlIOBuf_open (pTHX_ PerlIO_funcs *self, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
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);