diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2000-11-04 19:56:10 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2000-11-04 19:56:10 +0000 |
commit | f3862f8bcf6d3aa824432654b287f4ebd64db17f (patch) | |
tree | 00fa691fd2e861069b323ef66ed74244267dea71 /iperlsys.h | |
parent | 05d1247b4b0324742a6edccf90ff347d8905fcdb (diff) | |
download | perl-f3862f8bcf6d3aa824432654b287f4ebd64db17f.tar.gz |
PerlIO infrastructure complete.
p4raw-id: //depot/perlio@7539
Diffstat (limited to 'iperlsys.h')
-rw-r--r-- | iperlsys.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/iperlsys.h b/iperlsys.h index 94e5fd614c..55471cdbd4 100644 --- a/iperlsys.h +++ b/iperlsys.h @@ -78,13 +78,17 @@ extern void PerlIO_init (void); typedef Signal_t (*Sighandler_t) (int); #endif +#ifndef Fpos_t +#define Fpos_t Off_t +#endif + #if defined(PERL_IMPLICIT_SYS) #ifndef PerlIO typedef struct _PerlIO PerlIOl; typedef PerlIOl *PerlIO; #define PerlIO PerlIO -#endif +#endif /* No PerlIO */ /* IPerlStdIO */ struct IPerlStdIO; @@ -136,6 +140,7 @@ typedef int (*LPSetpos)(struct IPerlStdIO*, PerlIO*, typedef void (*LPInit)(struct IPerlStdIO*); typedef void (*LPInitOSExtras)(struct IPerlStdIO*); typedef PerlIO* (*LPFdupopen)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPIsUtf8)(struct IPerlStdIO*, PerlIO*); struct IPerlStdIO { @@ -178,6 +183,7 @@ struct IPerlStdIO LPInit pInit; LPInitOSExtras pInitOSExtras; LPFdupopen pFdupopen; + LPIsUtf8 pIsUtf8; }; struct IPerlStdIOInfo @@ -296,18 +302,22 @@ struct IPerlStdIOInfo (*PL_StdIO->pInitOSExtras)(PL_StdIO) #define PerlIO_fdupopen(f) \ (*PL_StdIO->pFdupopen)(PL_StdIO, (f)) +#define PerlIO_isutf8(f) \ + (*PL_StdIO->pIsUtf8)(PL_StdIO, (f)) #else /* PERL_IMPLICIT_SYS */ #include "perlsdio.h" #include "perl.h" #define PerlIO_fdupopen(f) (f) +#define PerlIO_isutf8(f) 0 #endif /* PERL_IMPLICIT_SYS */ #ifndef PERLIO_IS_STDIO #ifdef USE_SFIO #include "perlsfio.h" +#define PerlIO_isutf8(f) 0 #endif /* USE_SFIO */ #endif /* PERLIO_IS_STDIO */ @@ -338,10 +348,6 @@ typedef PerlIOl *PerlIO; #define PerlIO PerlIO #endif /* No PerlIO */ -#ifndef Fpos_t -#define Fpos_t long -#endif - #ifndef NEXT30_NO_ATTRIBUTE #ifndef HASATTRIBUTE /* disable GNU-cc attribute checking? */ #ifdef __attribute__ /* Avoid possible redefinition errors */ @@ -483,7 +489,9 @@ extern int PerlIO_setpos (PerlIO *,const Fpos_t *); #ifndef PerlIO_fdupopen extern PerlIO * PerlIO_fdupopen (PerlIO *); #endif - +#ifndef PerlIO_isutf8 +extern int PerlIO_isutf8 (PerlIO *); +#endif /* * Interface for directory functions |