This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add File::Temp's OO test.
[perl5.git] / win32 / win32.h
index 8975885..f4102c3 100644 (file)
@@ -140,6 +140,8 @@ struct utsname {
 #endif
 #define ENV_IS_CASELESS
 
+#define PIPESOCK_MODE  "b"             /* pipes, sockets default to binmode */
+
 #ifndef VER_PLATFORM_WIN32_WINDOWS     /* VC-2.0 headers don't have this */
 #define VER_PLATFORM_WIN32_WINDOWS     1
 #endif
@@ -273,6 +275,7 @@ extern  int mkstemp(const char *path);
 #define  init_os_extras Perl_init_os_extras
 
 DllExport void         Perl_win32_init(int *argcp, char ***argvp);
+DllExport void         Perl_win32_term(void);
 DllExport void         Perl_init_os_extras(void);
 DllExport void         win32_str_os_error(void *sv, DWORD err);
 DllExport int          RunPerl(int argc, char **argv, char **env);
@@ -368,12 +371,6 @@ struct thread_intern {
     WORD               Wshowwindow;
 };
 
-#ifdef USE_5005THREADS
-#  ifndef USE_DECLSPEC_THREAD
-#    define HAVE_THREAD_INTERN
-#  endif /* !USE_DECLSPEC_THREAD */
-#endif /* USE_5005THREADS */
-
 #define HAVE_INTERP_INTERN
 typedef struct {
     long       num;
@@ -397,9 +394,7 @@ struct interp_intern {
     child_tab *        pseudo_children;
 #endif
     void *     internal_host;
-#ifndef USE_5005THREADS
     struct thread_intern       thr_intern;
-#endif
     UINT       timerid;
     unsigned   poll_count;
     Sighandler_t sigtable[SIG_SIZE];
@@ -428,23 +423,13 @@ DllExport int win32_async_check(pTHX);
 #define w32_sighandler                 (PL_sys_intern.sigtable)
 #define w32_poll_count                 (PL_sys_intern.poll_count)
 #define w32_do_async                   (w32_poll_count++ > WIN32_POLL_INTERVAL)
-#ifdef USE_5005THREADS
-#  define w32_strerror_buffer  (thr->i.Wstrerror_buffer)
-#  define w32_getlogin_buffer  (thr->i.Wgetlogin_buffer)
-#  define w32_crypt_buffer     (thr->i.Wcrypt_buffer)
-#  define w32_servent          (thr->i.Wservent)
-#  define w32_init_socktype    (thr->i.Winit_socktype)
-#  define w32_use_showwindow   (thr->i.Wuse_showwindow)
-#  define w32_showwindow       (thr->i.Wshowwindow)
-#else
-#  define w32_strerror_buffer  (PL_sys_intern.thr_intern.Wstrerror_buffer)
-#  define w32_getlogin_buffer  (PL_sys_intern.thr_intern.Wgetlogin_buffer)
-#  define w32_crypt_buffer     (PL_sys_intern.thr_intern.Wcrypt_buffer)
-#  define w32_servent          (PL_sys_intern.thr_intern.Wservent)
-#  define w32_init_socktype    (PL_sys_intern.thr_intern.Winit_socktype)
-#  define w32_use_showwindow   (PL_sys_intern.thr_intern.Wuse_showwindow)
-#  define w32_showwindow       (PL_sys_intern.thr_intern.Wshowwindow)
-#endif /* USE_5005THREADS */
+#define w32_strerror_buffer    (PL_sys_intern.thr_intern.Wstrerror_buffer)
+#define w32_getlogin_buffer    (PL_sys_intern.thr_intern.Wgetlogin_buffer)
+#define w32_crypt_buffer       (PL_sys_intern.thr_intern.Wcrypt_buffer)
+#define w32_servent            (PL_sys_intern.thr_intern.Wservent)
+#define w32_init_socktype      (PL_sys_intern.thr_intern.Winit_socktype)
+#define w32_use_showwindow     (PL_sys_intern.thr_intern.Wuse_showwindow)
+#define w32_showwindow (PL_sys_intern.thr_intern.Wshowwindow)
 
 /* UNICODE<>ANSI translation helpers */
 /* Use CP_ACP when mode is ANSI */
@@ -460,7 +445,7 @@ DllExport int win32_async_check(pTHX);
                                       lpw, wlen, (LPSTR)lpa, nChars,NULL,NULL))
 #define W2AHELPER(lpw, lpa, nChars)    W2AHELPER_LEN(lpw, -1, lpa, nChars)
 
-#define USING_WIDE() (PL_widesyscalls && PerlEnv_os_id() == VER_PLATFORM_WIN32_NT)
+#define USING_WIDE() (0)
 
 #ifdef USE_ITHREADS
 #  define PERL_WAIT_FOR_CHILDREN \
@@ -545,9 +530,13 @@ EXTERN_C _CRTIMP ioinfo* __pioinfo[];
 #if !defined(ECONNABORTED) && defined(WSAECONNABORTED)
 #define ECONNABORTED WSAECONNABORTED
 #endif
+#if !defined(ECONNRESET) && defined(WSAECONNRESET)
+#define ECONNRESET WSAECONNRESET
+#endif
 #if !defined(EAFNOSUPPORT) && defined(WSAEAFNOSUPPORT)
 #define EAFNOSUPPORT WSAEAFNOSUPPORT
 #endif
+/* Why not needed for ECONNREFUSED? --abe */
 
 DllExport void *win32_signal_context(void);
 #define PERL_GET_SIG_CONTEXT win32_signal_context()