This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Trivial patch for HP-UX 11 and shared libperl
[perl5.git] / iperlsys.h
index f616533..cfdc39f 100644 (file)
@@ -127,10 +127,32 @@ public:
 #endif
 };
 
-#define PerlIO_canset_cnt(f)   1
-#define PerlIO_has_base(f)     1
-#define PerlIO_has_cntptr(f)   1
-#define PerlIO_fast_gets(f)    1
+
+
+#ifdef USE_STDIO_PTR
+#  define PerlIO_has_cntptr(f)         1       
+#  ifdef STDIO_CNT_LVALUE
+#    define PerlIO_canset_cnt(f)       1      
+#    ifdef STDIO_PTR_LVALUE
+#      define PerlIO_fast_gets(f)      1        
+#    endif
+#  else
+#    define PerlIO_canset_cnt(f)       0      
+#  endif
+#else  /* USE_STDIO_PTR */
+#  define PerlIO_has_cntptr(f)         0
+#  define PerlIO_canset_cnt(f)         0
+#endif /* USE_STDIO_PTR */
+
+#ifndef PerlIO_fast_gets
+#define PerlIO_fast_gets(f)            0        
+#endif
+
+#ifdef FILE_base
+#define PerlIO_has_base(f)             1
+#else
+#define PerlIO_has_base(f)             0
+#endif
 
 #define PerlIO_stdin()         PL_piStdIO->Stdin()
 #define PerlIO_stdout()                PL_piStdIO->Stdout()
@@ -612,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,
@@ -649,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)                                  \
@@ -691,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)                                      \
@@ -882,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)
@@ -901,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___ */