X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perlio.h;h=e510929d5675521d53a5b0cfea3dce5da273ce3d;hb=26f423df377276528161ee2c2bb3d257fc527c90;hp=0c6b26ab1dd75883d4f214a93067bdfb4dd42c86;hpb=7ea3cd407b6ec2a3e424bdfbc486b6e01d6d28bd;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perlio.h b/perlio.h index 0c6b26a..e510929 100644 --- a/perlio.h +++ b/perlio.h @@ -30,9 +30,11 @@ #if defined(PERL_IMPLICIT_SYS) #ifndef USE_PERLIO +#ifndef NETWARE # define USE_PERLIO #endif #endif +#endif #ifndef USE_PERLIO # define USE_STDIO @@ -60,6 +62,11 @@ #define fseek fseeko #endif +/* BS2000 includes are sometimes a bit non standard :-( */ +#if defined(POSIX_BC) && defined(O_BINARY) && !defined(O_TEXT) +#undef O_BINARY +#endif + #ifdef PERLIO_IS_STDIO /* #define PerlIO_xxxx() as equivalent stdio function */ #include "perlsdio.h" @@ -80,10 +87,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,const char *arg,STRLEN len); -extern void PerlIO_pop (PerlIO *f); +extern void PerlIO_define_layer (pTHX_ PerlIO_funcs *tab); +extern PerlIO_funcs *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 +113,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 @@ -185,6 +196,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 @@ -230,6 +244,9 @@ extern void PerlIO_releaseFILE (PerlIO *,FILE *); #ifndef PerlIO_read extern SSize_t PerlIO_read (PerlIO *,void *,Size_t); #endif +#ifndef PerlIO_unread +extern SSize_t PerlIO_unread (PerlIO *,const void *,Size_t); +#endif #ifndef PerlIO_write extern SSize_t PerlIO_write (PerlIO *,const void *,Size_t); #endif @@ -319,10 +336,15 @@ extern int PerlIO_apply_layers (pTHX_ PerlIO *f, const char *mode, const char *n #ifndef PerlIO_binmode extern int PerlIO_binmode (pTHX_ PerlIO *f, int iotype, int omode, const char *names); #endif +#ifndef PerlIO_getname +extern char * PerlIO_getname (PerlIO *, char *); +#endif + +extern void PerlIO_destruct(pTHX); #ifndef PERLIO_IS_STDIO -extern void PerlIO_cleanup(); +extern void PerlIO_cleanup(void); extern void PerlIO_debug(const char *fmt,...);