This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Squash repetitititive code in doio.c:my_stat_flags
[perl5.git] / epoc / epocish.h
index 551d1f5..bd364ec 100644 (file)
@@ -9,7 +9,7 @@
  *     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
@@ -54,7 +54,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 
 #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
 
 #define  BOGUS_GETNAME_RETURN 8
 
 /* 
-   read() on a socket blocks until buf is filled completly, 
-   recv() returns each massage 
+   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
    atof() in ER5 stdlib depends on locale. 
 */
 
-double epoc_atof( const char *ptr);
-#define atof(a) epoc_atof(a)
+#define strtoul(a,b,c) epoc_strtoul(a,b,c)
 
 #define init_os_extras Perl_init_os_extras
 
-#define NO_ENVIRON_ARRAY
+#define ARG_MAX 4096
+
+#define ECONNABORTED 0xdead
+
+/* For environ */
+#include <emx.h>
+#define PERL_USE_SAFE_PUTENV
+
+