This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
avoid literal 'undef' in $lddlflags under `Configure -Uoptimize`
[perl5.git] / iperlsys.h
index 0c93fd8..67ef90a 100644 (file)
@@ -114,7 +114,7 @@ public:
     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;
@@ -322,10 +322,10 @@ extern int        PerlIO_sprintf          _((char *, int, const char *,...))
 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 *));
@@ -634,6 +634,7 @@ class IPerlProc
 {
 public:
     virtual void       Abort(void) = 0;
+    virtual char *     Crypt(const char* clear, const char* salt) = 0;
     virtual void       Exit(int status) = 0;
     virtual void       _Exit(int status) = 0;
     virtual int                Execl(const char *cmdname, const char *arg0,
@@ -671,6 +672,7 @@ public:
 };
 
 #define PerlProc_abort()       PL_piProc->Abort()
+#define PerlProc_crypt(c,s)    PL_piProc->Crypt((c), (s))
 #define PerlProc_exit(s)       PL_piProc->Exit((s))
 #define PerlProc__exit(s)      PL_piProc->_Exit((s))
 #define PerlProc_execl(c, w, x, y, z)                                  \
@@ -713,6 +715,7 @@ public:
 #else  /* PERL_OBJECT */
 
 #define PerlProc_abort()       abort()
+#define PerlProc_crypt(c,s)    crypt((c), (s))
 #define PerlProc_exit(s)       exit((s))
 #define PerlProc__exit(s)      _exit((s))
 #define PerlProc_execl(c,w,x,y,z)                                      \
@@ -904,6 +907,7 @@ public:
 #define PerlSock_inet_addr(c)          inet_addr(c)
 #define PerlSock_inet_ntoa(i)          inet_ntoa(i)
 #define PerlSock_listen(s, b)          listen(s, b)
+#define PerlSock_recv(s, b, l, f)      recv(s, b, l, f)
 #define PerlSock_recvfrom(s, b, l, f, from, fromlen)                   \
        recvfrom(s, b, l, f, from, fromlen)
 #define PerlSock_select(n, r, w, e, t) select(n, r, w, e, t)
@@ -923,5 +927,22 @@ public:
 
 #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___ */