#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);
char Wstrerror_buffer[512];
struct servent Wservent;
char Wgetlogin_buffer[128];
-# ifdef USE_SOCKETS_AS_HANDLES
- int Winit_socktype;
-# endif
# ifdef HAVE_DES_FCRYPT
char Wcrypt_buffer[30];
# endif
#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 */
-/* Use CP_UTF8 when mode is UTF8 */
-
-#define A2WHELPER_LEN(lpa, alen, lpw, nBytes)\
- (lpw[0] = 0, MultiByteToWideChar((IN_BYTES) ? CP_ACP : CP_UTF8, 0, \
- lpa, alen, lpw, (nBytes/sizeof(WCHAR))))
-#define A2WHELPER(lpa, lpw, nBytes) A2WHELPER_LEN(lpa, -1, lpw, nBytes)
-
-#define W2AHELPER_LEN(lpw, wlen, lpa, nChars)\
- (lpa[0] = '\0', WideCharToMultiByte((IN_BYTES) ? CP_ACP : CP_UTF8, 0, \
- lpw, wlen, (LPSTR)lpa, nChars,NULL,NULL))
-#define W2AHELPER(lpw, lpa, nChars) W2AHELPER_LEN(lpw, -1, lpa, nChars)
-
-#define USING_WIDE() (0)
-
#ifdef USE_ITHREADS
# define PERL_WAIT_FOR_CHILDREN \
STMT_START { \
#ifdef PERL_CORE
/* C doesn't like repeat struct definitions */
+#if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION>=3)
+#undef _CRTIMP
+#endif
#ifndef _CRTIMP
#define _CRTIMP __declspec(dllimport)
#endif
#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()