Perl-Dist-Strawberry
view release on metacpan or search on metacpan
share/perl-5.20/win32_win32.h view on Meta::CPAN
#undef init_os_extras
#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);
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);
DllExport HWND win32_create_message_window(void);
extern int my_fclose(FILE *);
extern char * win32_get_privlib(const char *pl, STRLEN *const len);
extern char * win32_get_sitelib(const char *pl, STRLEN *const len);
extern char * win32_get_vendorlib(const char *pl, STRLEN *const len);
#ifdef PERL_IMPLICIT_SYS
extern void win32_delete_internal_host(void *h);
#endif
extern int win32_get_errno(int err);
extern const char * const staticlinkmodules[];
END_EXTERN_C
typedef char * caddr_t; /* In malloc.c (core address). */
/*
* handle socket stuff, assuming socket is always available
*/
#include <sys/socket.h>
#include <netdb.h>
#ifdef MYMALLOC
#define EMBEDMYMALLOC /**/
/* #define USE_PERL_SBRK / **/
/* #define PERL_SBRK_VIA_MALLOC / **/
#endif
#ifdef PERL_TEXTMODE_SCRIPTS
# define PERL_SCRIPT_MODE "r"
#else
# define PERL_SCRIPT_MODE "rb"
#endif
/*
* Now Win32 specific per-thread data stuff
*/
/* Leave the first couple ids after WM_USER unused because they
* might be used by an embedding application, and on Windows
* version before 2000 we might end up eating those messages
* if they were not meant for us.
*/
#define WM_USER_MIN (WM_USER+30)
#define WM_USER_MESSAGE (WM_USER_MIN)
#define WM_USER_KILL (WM_USER_MIN+1)
#define WM_USER_MAX (WM_USER_MIN+1)
struct thread_intern {
/* XXX can probably use one buffer instead of several */
char Wstrerror_buffer[512];
struct servent Wservent;
char Wgetlogin_buffer[128];
int Winit_socktype;
char Wcrypt_buffer[30];
# ifdef USE_RTL_THREAD_API
void * retv; /* slot for thread return value */
# endif
BOOL Wuse_showwindow;
WORD Wshowwindow;
};
#define HAVE_INTERP_INTERN
typedef struct {
long num;
DWORD pids[MAXIMUM_WAIT_OBJECTS];
HANDLE handles[MAXIMUM_WAIT_OBJECTS];
} child_tab;
#ifdef USE_ITHREADS
typedef struct {
long num;
DWORD pids[MAXIMUM_WAIT_OBJECTS];
HANDLE handles[MAXIMUM_WAIT_OBJECTS];
HWND message_hwnds[MAXIMUM_WAIT_OBJECTS];
char sigterm[MAXIMUM_WAIT_OBJECTS];
} pseudo_child_tab;
#endif
#ifndef Sighandler_t
typedef Signal_t (*Sighandler_t) (int);
#define Sighandler_t Sighandler_t
#endif
( run in 1.389 second using v1.01-cache-2.11-cpan-d7f47b0818f )