This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Escape double-quotes in generated #line directives
[perl5.git] / mpeix / mpeixish.h
index b5e4fa4..f4ce38e 100644 (file)
@@ -9,32 +9,32 @@
  *     This symbol, if defined, indicates that the ioctl() routine is
  *     available to set I/O characteristics
  */
-#define        HAS_IOCTL               / **/
+#define        HAS_IOCTL               /**/
  
 /* HAS_UTIME:
  *     This symbol, if defined, indicates that the routine utime() is
  *     available to update the access and modification times of files.
  */
-#define HAS_UTIME              / **/
+#define HAS_UTIME              /**/
 
 /* HAS_GROUP
  *     This symbol, if defined, indicates that the getgrnam() and
  *     getgrgid() routines are available to get group entries.
  */
-#define HAS_GROUP              / **/
+#define HAS_GROUP              /**/
 
 /* HAS_PASSWD
  *     This symbol, if defined, indicates that the getpwnam() and
  *     getpwuid() routines are available to get password entries.
  */
-#define HAS_PASSWD             / **/
+#define HAS_PASSWD             /**/
 
 #define HAS_KILL
 #define HAS_WAIT
   
 /* USEMYBINMODE
  *     This symbol, if defined, indicates that the program should
- *     use the routine my_binmode(FILE *fp, char iotype) to insure
+ *     use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
  *     that a file is in "binary" mode -- that is, that no translation
  *     of bytes occurs on read or write operations.
  */
@@ -52,7 +52,7 @@
  *     This symbol is defined if this system has a stat structure declaring
  *     st_rdev
  */
-#define USE_STAT_RDEV  / **/
+#define USE_STAT_RDEV  /**/
 
 /* ACME_MESS:
  *     This symbol, if defined, indicates that error messages should be 
@@ -87,9 +87,7 @@
  */
 /* #define ALTERNATE_SHEBANG "#!" / **/
 
-#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
-# include <signal.h>
-#endif
+#include <signal.h>
 
 #ifndef SIGABRT
 #    define SIGABRT SIGILL
 #define Fflush(fp)         fflush(fp)
 #define Mkdir(path,mode)   mkdir((path),(mode))
 
-#ifndef PERL_SYS_INIT
-#ifdef PERL_SCO5
-/* this should be set in a hint file, not here */
-#  define PERL_SYS_INIT(c,v)   fpsetmask(0); MALLOC_INIT
-#else
-#  define PERL_SYS_INIT(c,v)   MALLOC_INIT
-#endif
+#ifndef PERL_SYS_INIT_BODY
+#  define PERL_SYS_INIT_BODY(c,v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
 #endif
 
-#ifndef PERL_SYS_TERM
-#define PERL_SYS_TERM()                MALLOC_TERM
+#ifndef PERL_SYS_TERM_BODY
+#define PERL_SYS_TERM_BODY()           PERLIO_TERM; MALLOC_TERM
 #endif
 
 #define BIT_BUCKET "/dev/null"
 #undef PRPASSWD
 #undef PWAGE
 #undef PWCOMMENT
+
+/* various missing external function declarations */
+
+#include <sys/ipc.h>
+extern key_t ftok (char *pathname, char id);
+extern char *gcvt (double value, int ndigit, char *buf);
+extern int isnan (double value);
+extern void srand48(long int seedval);
+extern double drand48(void);
+extern double erand48(unsigned short xsubi[3]);
+extern long jrand48(unsigned short xsubi[3]);
+extern void lcong48(unsigned short param[7]);
+extern long lrand48(void);
+extern long mrand48(void);
+extern long nrand48(unsigned short xsubi[3]);
+extern unsigned short *seed48(unsigned short seed16v[3]);
+
+/* various missing constants -- define 'em */
+
+#define PF_UNSPEC 0
+
+/* declarations for wrappers in mpeix.c */
+
+#include <time.h>
+#include <sys/wait.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+
+
+extern int ftruncate(int fd, long wantsize);
+extern int gettimeofday( struct timeval *tp, struct timezone *tpz );
+extern int truncate(const char *pathname, off_t length);
+
+extern int mpe_read(int filedes, void *buffer, size_t len);
+extern int mpe_write(int filedes, const void *buffer, size_t len);
+extern int mpe_send(int socket, const void *buffer, size_t len, int flags);
+extern int mpe_sendto(int socket, const void *buffer, size_t len,
+       int flags, const struct sockaddr *dest_addr,
+       size_t dest_len);
+extern int mpe_recv(int socket, void *buffer, size_t length, int flags);
+extern int mpe_recvfrom(int socket, void *buffer, size_t length,
+           int flags, struct sockaddr *address,
+           size_t *address_len) ;
+extern int mpe_bind(int socket, const struct sockaddr *address,
+   size_t address_len);
+extern int mpe_getsockname(int socket, struct sockaddr *address,
+  size_t *address_len);
+extern int mpe_getpeername(int socket, struct sockaddr *address, 
+  size_t *address_len);
+
+/* Replacements to fix various socket problems -- see mpeix.c */
+#define fcntl mpe_fcntl
+#define read mpe_read
+#define write mpe_write
+#define send mpe_send
+#define sendto mpe_sendto
+#define recv mpe_recv
+#define recvfrom mpe_recvfrom
+#define bind mpe_bind
+#define getsockname mpe_getsockname
+#define getpeername mpe_getpeername