* 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
/* 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.
*/
* 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
/* #define ALTERNATE_SHEBANG "#!" / **/
-#ifndef SIGABRT
-# define SIGABRT SIGILL
-#endif
-#ifndef SIGILL
-# define SIGILL 6 /* blech */
-#endif
#define ABORT() abort();
/*
#define Fflush(fp) fflush(fp)
#define Mkdir(path,mode) mkdir((path),(mode))
-/* these should be set in a hint file, not here */
-#ifndef PERL_SYS_INIT
-# define PERL_SYS_INIT(c,v) Perl_epoc_init(c,v); MALLOC_INIT
+
+/* epocemx setenv bug workaround */
+#ifndef PERL_SYS_INIT_BODY
+# define PERL_SYS_INIT_BODY(c,v) \
+ MALLOC_CHECK_TAINT2(*c,*v) putenv(".dummy=foo"); putenv(".dummy"); \
+ 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 "NUL:"
+#define BIT_BUCKET "/dev/null"
#define dXSUB_SYS
+/* getsockname returns the size of struct sockaddr_in *without* padding */
+#define BOGUS_GETNAME_RETURN 8
+
+/*
+ read() on a socket is unimplemented in current epocemx
+ use recv() instead
+*/
+
+#define PERL_SOCK_SYSREAD_IS_RECV
+
+/* write ditto, use send */
+#define PERL_SOCK_SYSWRITE_IS_SEND
+
+/* No /dev/random available*/
+
+#define PERL_NO_DEV_RANDOM
+
+/*
+ work around for buggy atof():
+ atof() in ER5 stdlib depends on locale.
+*/
+
+#define strtoul(a,b,c) epoc_strtoul(a,b,c)
+
+#define init_os_extras Perl_init_os_extras
+
+#define ARG_MAX 4096
+
+#define ECONNABORTED 0xdead
+
+/* For environ */
+#include <emx.h>
+#define PERL_USE_SAFE_PUTENV
+
+