/* dosish.h
*
* Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, by Larry Wall and others
+ * 2000, 2001, 2002, 2007, by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
#ifdef DJGPP
# define BIT_BUCKET "nul"
# define OP_BINARY O_BINARY
-# define PERL_SYS_INIT(c,v) MALLOC_CHECK_TAINT2(*c,*v) Perl_DJGPP_init(c,v)
+# define PERL_SYS_INIT_BODY(c,v) \
+ MALLOC_CHECK_TAINT2(*c,*v) Perl_DJGPP_init(c,v); PERLIO_INIT
# define init_os_extras Perl_init_os_extras
-# include <signal.h>
# define HAS_UTIME
# define HAS_KILL
char *djgpp_pathexp (const char*);
# if (DJGPP==2 && DJGPP_MINOR < 2)
# define NO_LOCALECONV_MON_THOUSANDS_SEP
# endif
-# define PERL_FS_VER_FMT "%d_%d_%d"
-#else /* DJGPP */
-# ifdef WIN32
-# define PERL_SYS_INIT(c,v) MALLOC_CHECK_TAINT2(*c,*v) Perl_win32_init(c,v)
-# define PERL_SYS_TERM() Perl_win32_term()
-# define BIT_BUCKET "nul"
-# else
-# ifdef NETWARE
-# define PERL_SYS_INIT(c,v) MALLOC_CHECK_TAINT2(*c,*v) Perl_nw5_init(c,v)
-# define BIT_BUCKET "nwnul"
-# else
-# define PERL_SYS_INIT(c,v) MALLOC_CHECK_TAINT2(*c,*v)
-# define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
-# endif /* NETWARE */
+# ifndef PERL_CORE
+# define PERL_FS_VER_FMT "%d_%d_%d"
# endif
-#endif /* DJGPP */
-
-#ifndef PERL_SYS_TERM
-# define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM
+# define PERL_FS_VERSION STRINGIFY(PERL_REVISION) "_" \
+ STRINGIFY(PERL_VERSION) "_" \
+ STRINGIFY(PERL_SUBVERSION)
+#elif defined(WIN32)
+# define PERL_SYS_INIT_BODY(c,v) \
+ MALLOC_CHECK_TAINT2(*c,*v) Perl_win32_init(c,v); PERLIO_INIT
+# define PERL_SYS_TERM_BODY() Perl_win32_term()
+# define BIT_BUCKET "nul"
+#elif defined(NETWARE)
+# define PERL_SYS_INIT_BODY(c,v) \
+ MALLOC_CHECK_TAINT2(*c,*v) Perl_nw5_init(c,v); PERLIO_INIT
+# define BIT_BUCKET "nwnul"
+#else
+# define PERL_SYS_INIT_BODY(c,v) \
+ MALLOC_CHECK_TAINT2(*c,*v); PERLIO_INIT
+# define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
#endif
-#define dXSUB_SYS
-/*
- * 5.003_07 and earlier keyed on #ifdef MSDOS for determining if we were
- * running on DOS, *and* if we had to cope with 16 bit memory addressing
- * constraints, *and* we need to have memory allocated as unsigned long.
- *
- * with the advent of *real* compilers for DOS, they are not locked together.
- * MSDOS means "I am running on MSDOS". HAS_64K_LIMIT means "I have
- * 16 bit memory addressing constraints".
- *
- * if you need the last, try #DEFINE MEM_SIZE unsigned long.
- */
-#ifdef MSDOS
-# ifndef DJGPP
-# define HAS_64K_LIMIT
-# endif
+#ifndef PERL_SYS_TERM_BODY
+# define PERL_SYS_TERM_BODY() \
+ HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \
+ OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \
+ MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM;
#endif
+#define dXSUB_SYS dNOOP
/* USEMYBINMODE
* This symbol, if defined, indicates that the program should
* information.
*/
#if defined(WIN64) || defined(USE_LARGE_FILES)
-#define Stat_t struct _stati64
+# define Stat_t struct _stati64
+#elif defined(UNDER_CE)
+# define Stat_t struct xcestat
#else
-#if defined(UNDER_CE)
-#define Stat_t struct xcestat
-#else
-#define Stat_t struct stat
-#endif
+# define Stat_t struct stat
#endif
/* USE_STAT_RDEV:
*/
/* #define ALTERNATE_SHEBANG "#!" / **/
+#include <signal.h>
+
/*
* fwrite1() should be a routine with the same calling sequence as fwrite(),
* but which outputs all of the bytes requested as a single stream (unlike
#define WUNTRACED 0
#endif
+
+/* Don't go reading from /dev/urandom */
+#define PERL_NO_DEV_RANDOM
+
+/*
+ * ex: set ts=8 sts=4 sw=4 et:
+ */