virtual int Printf(PerlIO*, int &err, const char *,...) = 0;
virtual int Vprintf(PerlIO*, int &err, const char *, va_list) = 0;
virtual long Tell(PerlIO*, int &err) = 0;
- virtual int Seek(PerlIO*, off_t, int, int &err) = 0;
+ virtual int Seek(PerlIO*, Off_t, int, int &err) = 0;
virtual void Rewind(PerlIO*, int &err) = 0;
virtual PerlIO * Tmpfile(int &err) = 0;
virtual int Getpos(PerlIO*, Fpos_t *, int &err) = 0;
extern int PerlIO_vprintf _((PerlIO *, const char *, va_list));
#endif
#ifndef PerlIO_tell
-extern long PerlIO_tell _((PerlIO *));
+extern Off_t PerlIO_tell _((PerlIO *));
#endif
#ifndef PerlIO_seek
-extern int PerlIO_seek _((PerlIO *,off_t,int));
+extern int PerlIO_seek _((PerlIO *, Off_t, int));
#endif
#ifndef PerlIO_rewind
extern void PerlIO_rewind _((PerlIO *));
virtual int Putenv(const char *envstring, int &err) = 0;
virtual char * LibPath(char *patchlevel) =0;
virtual char * SiteLibPath(char *patchlevel) =0;
+ virtual int Uname(struct utsname *name, int &err) =0;
+ virtual char * Getenv_len(const char *varname, unsigned long *len, int &err) = 0;
+#ifdef HAS_ENVGETENV
+ virtual char * ENVGetenv(const char *varname, int &err) = 0;
+ virtual char * ENVGetenv_len(const char *varname, unsigned long *len, int &err) = 0;
+#endif
};
#define PerlEnv_putenv(str) PL_piENV->Putenv((str), ErrorNo())
#define PerlEnv_getenv(str) PL_piENV->Getenv((str), ErrorNo())
+#define PerlEnv_getenv_len(str,l) PL_piENV->Getenv_len((str), (l), ErrorNo())
+#ifdef HAS_ENVGETENV
+# define PerlEnv_ENVgetenv(str) PL_piENV->ENVGetenv((str), ErrorNo())
+# define PerlEnv_ENVgetenv_len(str,l) PL_piENV->ENVGetenv_len((str), (l), ErrorNo())
+#else
+# define PerlEnv_ENVgetenv(str) PerlEnv_getenv((str))
+# define PerlEnv_ENVgetenv_len(str,l) PerlEnv_getenv_len((str),(l))
+#endif
+#define PerlEnv_uname(name) PL_piENV->Uname((name), ErrorNo())
#ifdef WIN32
#define PerlEnv_lib_path(str) PL_piENV->LibPath((str))
#define PerlEnv_sitelib_path(str) PL_piENV->SiteLibPath((str))
#define PerlEnv_putenv(str) putenv((str))
#define PerlEnv_getenv(str) getenv((str))
+#define PerlEnv_getenv_len(str,l) getenv_len((str), (l))
+#ifdef HAS_ENVGETENV
+# define PerlEnv_ENVgetenv(str) ENVgetenv((str))
+# define PerlEnv_ENVgetenv_len(str,l) ENVgetenv_len((str), (l))
+#else
+# define PerlEnv_ENVgetenv(str) PerlEnv_getenv((str))
+# define PerlEnv_ENVgetenv_len(str,l) PerlEnv_getenv_len((str), (l))
+#endif
+#define PerlEnv_uname(name) uname((name))
#endif /* PERL_OBJECT */
#endif /* PERL_OBJECT */
+/* Mention
+
+ HAS_READV
+ HAS_RECVMSG
+ HAS_SENDMSG
+ HAS_WRITEV
+ HAS_STRUCT_MSGHDR
+ HAS_STRUCT_CMSGHDR
+
+ here so that Configure picks them up. Perl core does not
+ use them but somebody might want to extend Socket:: or IO::
+ someday.
+
+ Jarkko Hietaniemi November 1998
+
+ */
+
#endif /* __Inc__IPerl___ */