summaryrefslogtreecommitdiff
path: root/iperlsys.h
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2000-11-04 19:56:10 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2000-11-04 19:56:10 +0000
commitf3862f8bcf6d3aa824432654b287f4ebd64db17f (patch)
tree00fa691fd2e861069b323ef66ed74244267dea71 /iperlsys.h
parent05d1247b4b0324742a6edccf90ff347d8905fcdb (diff)
downloadperl-f3862f8bcf6d3aa824432654b287f4ebd64db17f.tar.gz
PerlIO infrastructure complete.
p4raw-id: //depot/perlio@7539
Diffstat (limited to 'iperlsys.h')
-rw-r--r--iperlsys.h20
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