X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fwin32.h;h=e2a083434e29d9fa9d863ad07e68c72095bf98cb;hb=2b7d8dfb16883bbf415fa28447ef22b443aa29c1;hp=1669ea4b2959054514b3fd86e57f98b7cb0df565;hpb=4ea817c67acbb0637159d692922fa81954793ad9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/win32.h b/win32/win32.h index 1669ea4..e2a0834 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -135,6 +135,12 @@ struct utsname { #define USE_FIXED_OSFHANDLE #endif +/* Define PERL_WIN32_SOCK_DLOAD to have Perl dynamically load the winsock + DLL when needed. Don't use if your compiler supports delayloading (ie, VC++ 6.0) + -- BKS 5-29-2000 */ +#if !(defined(_M_IX86) && _MSC_VER >= 1200) +#define PERL_WIN32_SOCK_DLOAD +#endif #define ENV_IS_CASELESS #ifndef VER_PLATFORM_WIN32_WINDOWS /* VC-2.0 headers don't have this */ @@ -153,6 +159,11 @@ struct utsname { # define F_OK 0 #endif +/* for waitpid() */ +#ifndef WNOHANG +# define WNOHANG 1 +#endif + #define PERL_GET_CONTEXT_DEFINED /* Compiler-specific stuff. */ @@ -200,6 +211,8 @@ typedef unsigned short mode_t; /* Visual C thinks that a pointer to a member variable is 16 bytes in size. */ #define PERL_MEMBER_PTR_SIZE 16 +#define isnan _isnan + #endif /* _MSC_VER */ #ifdef __MINGW32__ /* Minimal Gnu-Win32 */ @@ -211,6 +224,7 @@ typedef long gid_t; #endif #define flushall _flushall #define fcloseall _fcloseall +#define isnan _isnan /* ...same libraries as MSVC */ #ifdef PERL_OBJECT # define MEMBER_TO_FPTR(name) &(name) @@ -302,6 +316,23 @@ typedef struct { HANDLE childStdIn; HANDLE childStdOut; HANDLE childStdErr; + /* + * the following correspond to the fields of the same name + * in the STARTUPINFO structure. Embedders can use these to + * control the spawning process' look. + * Example - to hide the window of the spawned process: + * dwFlags = STARTF_USESHOWWINDOW; + * wShowWindow = SW_HIDE; + */ + DWORD dwFlags; + DWORD dwX; + DWORD dwY; + DWORD dwXSize; + DWORD dwYSize; + DWORD dwXCountChars; + DWORD dwYCountChars; + DWORD dwFillAttribute; + WORD wShowWindow; } child_IO_table; DllExport void win32_get_child_IO(child_IO_table* ptr); @@ -320,6 +351,10 @@ extern int IsWin95(void); extern int IsWinNT(void); extern void win32_argv2utf8(int argc, char** argv); +#ifdef PERL_IMPLICIT_SYS +extern void win32_delete_internal_host(void *h); +#endif + extern char * staticlinkmodules[]; END_EXTERN_C