X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fwin32.h;h=f6b5e3e559a54eac0b68cebd4e142fd3108f9e1a;hb=73e51c8a2e5bd997f8b13e4f86b01e266a2d73f5;hp=f318890a9badf955b8e4bc144230d22481d2d41f;hpb=aeecf691f59fe1423b7011655dd5de7d5fbd2192;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/win32.h b/win32/win32.h index f318890..f6b5e3e 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -127,8 +127,11 @@ struct utsname { /* Define USE_FIXED_OSFHANDLE to fix MSVCRT's _open_osfhandle() on W95. It now uses some black magic to work seamlessly with the DLL CRT and works with MSVC++ 4.0+ or GCC/Mingw32 - -- BKS 1-24-2000 */ -#if (defined(_M_IX86) && _MSC_VER >= 1000) || defined(__MINGW32__) + -- BKS 1-24-2000 + Only use this fix for VC++ 6.x or earlier (and for GCC, which we assume + uses MSVCRT.DLL). Later versions use MSVCR70.dll, MSVCR71.dll, etc, which + do not require the fix. */ +#if (defined(_M_IX86) && _MSC_VER >= 1000 && _MSC_VER <= 1200) || defined(__MINGW32__) #define USE_FIXED_OSFHANDLE #endif @@ -182,14 +185,15 @@ struct utsname { #define DllMain DllEntryPoint #endif -#pragma warn -ccc /* "condition is always true/false" */ -#pragma warn -rch /* "unreachable code" */ -#pragma warn -sig /* "conversion may lose significant digits" */ -#pragma warn -pia /* "possibly incorrect assignment" */ -#pragma warn -par /* "parameter 'foo' is never used" */ -#pragma warn -aus /* "'foo' is assigned a value that is never used" */ -#pragma warn -use /* "'foo' is declared but never used" */ -#pragma warn -csu /* "comparing signed and unsigned values" */ +#pragma warn -8004 /* "'foo' is assigned a value that is never used" */ +#pragma warn -8008 /* "condition is always true/false" */ +#pragma warn -8012 /* "comparing signed and unsigned values" */ +#pragma warn -8027 /* "functions containing %s are not expanded inline" */ +#pragma warn -8057 /* "parameter 'foo' is never used" */ +#pragma warn -8060 /* "possibly incorrect assignment" */ +#pragma warn -8066 /* "unreachable code" */ +#pragma warn -8071 /* "conversion may lose significant digits" */ +#pragma warn -8080 /* "'foo' is declared but never used" */ /* Borland C thinks that a pointer to a member variable is 12 bytes in size. */ #define PERL_MEMBER_PTR_SIZE 12 @@ -200,15 +204,25 @@ struct utsname { #ifdef _MSC_VER /* Microsoft Visual C++ */ +#ifndef UNDER_CE typedef long uid_t; typedef long gid_t; typedef unsigned short mode_t; +#endif + #pragma warning(disable: 4102) /* "unreferenced label" */ /* Visual C thinks that a pointer to a member variable is 16 bytes in size. */ #define PERL_MEMBER_PTR_SIZE 16 #define isnan _isnan +#define snprintf _snprintf +#define vsnprintf _vsnprintf + +#if _MSC_VER < 1300 +/* VC6 has broken NaN semantics: NaN == NaN returns true instead of false */ +#define NAN_COMPARE_BROKEN 1 +#endif #endif /* _MSC_VER */ @@ -230,6 +244,17 @@ typedef long gid_t; # endif #endif +/* , pulled in by as of mingw-runtime-3.3, typedef's + * (u)intptr_t but doesn't set the _(U)INTPTR_T_DEFINED defines */ +#ifdef _STDINT_H +# ifndef _INTPTR_T_DEFINED +# define _INTPTR_T_DEFINED +# endif +# ifndef _UINTPTR_T_DEFINED +# define _UINTPTR_T_DEFINED +# endif +#endif + #endif /* __MINGW32__ */ /* both GCC/Mingw32 and MSVC++ 4.0 are missing this, so we put it here */ @@ -260,6 +285,7 @@ extern gid_t getegid(void); extern int setuid(uid_t uid); extern int setgid(gid_t gid); extern int kill(int pid, int sig); +extern int killpg(int pid, int sig); #ifndef USE_PERL_SBRK extern void *sbrk(ptrdiff_t need); # define HAS_SBRK_PROTO @@ -304,7 +330,7 @@ typedef struct { } child_IO_table; DllExport void win32_get_child_IO(child_IO_table* ptr); -DllExport HWND win32_create_message_window(); +DllExport HWND win32_create_message_window(void); #ifndef USE_SOCKETS_AS_HANDLES extern FILE * my_fdopen(int, char *); @@ -340,10 +366,6 @@ typedef char * caddr_t; /* In malloc.c (core address). */ /* #define PERL_SBRK_VIA_MALLOC /**/ #endif -#if defined(PERLDLL) && !defined(PERL_CORE) -#define PERL_CORE -#endif - #ifdef PERL_TEXTMODE_SCRIPTS # define PERL_SCRIPT_MODE "r" #else @@ -369,6 +391,9 @@ struct thread_intern { 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 @@ -447,6 +472,7 @@ DllExport int win32_async_check(pTHX); #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) @@ -547,5 +573,17 @@ EXTERN_C _CRTIMP ioinfo* __pioinfo[]; DllExport void *win32_signal_context(void); #define PERL_GET_SIG_CONTEXT win32_signal_context() +#ifdef UNDER_CE +#define Win_GetModuleHandle XCEGetModuleHandleA +#define Win_GetProcAddress XCEGetProcAddressA +#define Win_GetModuleFileName XCEGetModuleFileNameA +#define Win_CreateSemaphore CreateSemaphoreW +#else +#define Win_GetModuleHandle GetModuleHandle +#define Win_GetProcAddress GetProcAddress +#define Win_GetModuleFileName GetModuleFileName +#define Win_CreateSemaphore CreateSemaphore +#endif + #endif /* _INC_WIN32_PERL5 */