This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
amigaos4: use afstat for fstat
[perl5.git] / unixish.h
index 781b049..0c7de45 100644 (file)
--- a/unixish.h
+++ b/unixish.h
 #define fwrite1 fwrite
 
 #define Stat(fname,bufptr) stat((fname),(bufptr))
-#define Fstat(fd,bufptr)   fstat((fd),(bufptr))
+
+#if defined(__amigaos4__)
+int afstat(int fd, struct stat *statb);
+#    define Fstat(fd,bufptr) afstat((fd),(bufptr))
+#endif
+
+#ifndef Fstat
+#    define Fstat(fd,bufptr)   fstat((fd),(bufptr))
+#endif
+
 #define Fflush(fp)         fflush(fp)
 #define Mkdir(path,mode)   mkdir((path),(mode))
 
+#if defined(__amigaos4__)
+void amigaos4_init_fork_array();
+void amigaos4_dispose_fork_array();
+void amigaos4_init_environ_sema();
+#  define PERL_SYS_INIT_BODY(c,v)                                      \
+       MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT; amigaos4_init_fork_array(); amigaos4_init_environ_sema();
+#  define PERL_SYS_TERM_BODY() \
+    HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM; \
+    OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM; amigaos4_dispose_fork_array(); 
+#endif
+
 #ifndef PERL_SYS_INIT_BODY
 #  define PERL_SYS_INIT_BODY(c,v)                                      \
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
 #endif
 
 /*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */