-// Time-stamp: <01/08/01 20:59:54 keuchel@w2k>
+/* Time-stamp: <01/08/01 20:59:54 keuchel@w2k> */
/* WIN32.H
*
# define _WIN32_WINNT 0x0400 /* needed for TryEnterCriticalSection() etc. */
#endif
-#if defined(PERL_OBJECT) || defined(PERL_IMPLICIT_SYS) || defined(PERL_CAPI)
+#if defined(PERL_IMPLICIT_SYS)
# define DYNAMIC_ENV_FETCH
# define ENV_HV_NAME "___ENV_HV_NAME___"
# define HAS_GETENV_LEN
/* now even GCC supports __declspec() */
-#if defined(PERL_OBJECT)
-#define DllExport
-#else
#if defined(PERLDLL) || defined(WIN95FIX)
#define DllExport
/*#define DllExport __declspec(dllexport)*/ /* noises with VC5+sp3 */
#else
#define DllExport __declspec(dllimport)
#endif
-#endif
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
/* Define USE_SOCKETS_AS_HANDLES to enable emulation of windows sockets as
* real filehandles. XXX Should always be defined (the other version is untested) */
-//#define USE_SOCKETS_AS_HANDLES
+/* #define USE_SOCKETS_AS_HANDLES */
/* read() and write() aren't transparent for socket handles */
#define PERL_SOCK_SYSREAD_IS_RECV
#pragma warn -pro /* "call to function with no prototype" */
#pragma warn -stu /* "undefined structure 'foo'" */
-/* Borland is picky about a bare member function name used as its ptr */
-#ifdef PERL_OBJECT
-# define MEMBER_TO_FPTR(name) &(name)
-#endif
-
/* Borland C thinks that a pointer to a member variable is 12 bytes in size. */
#define PERL_MEMBER_PTR_SIZE 12
#define flushall _flushall
#define fcloseall _fcloseall
-#ifdef PERL_OBJECT
-# define MEMBER_TO_FPTR(name) &(name)
-#endif
-
#ifndef _O_NOINHERIT
# define _O_NOINHERIT 0x0080
# ifndef _NO_OLDNAMES
/* compatibility stuff for other compilers goes here */
+#ifndef _INTPTR_T_DEFINED
+typedef int intptr_t;
+# define _INTPTR_T_DEFINED
+#endif
-#if !defined(PERL_OBJECT) && defined(PERL_CAPI) && defined(PERL_MEMBER_PTR_SIZE)
-# define STRUCT_MGVTBL_DEFINITION \
-struct mgvtbl { \
- union { \
- int (CPERLscope(*svt_get))(pTHX_ SV *sv, MAGIC* mg); \
- char handle_VC_problem1[PERL_MEMBER_PTR_SIZE]; \
- }; \
- union { \
- int (CPERLscope(*svt_set))(pTHX_ SV *sv, MAGIC* mg); \
- char handle_VC_problem2[PERL_MEMBER_PTR_SIZE]; \
- }; \
- union { \
- U32 (CPERLscope(*svt_len))(pTHX_ SV *sv, MAGIC* mg); \
- char handle_VC_problem3[PERL_MEMBER_PTR_SIZE]; \
- }; \
- union { \
- int (CPERLscope(*svt_clear))(pTHX_ SV *sv, MAGIC* mg); \
- char handle_VC_problem4[PERL_MEMBER_PTR_SIZE]; \
- }; \
- union { \
- int (CPERLscope(*svt_free))(pTHX_ SV *sv, MAGIC* mg); \
- char handle_VC_problem5[PERL_MEMBER_PTR_SIZE]; \
- }; \
-}
-
-# define BASEOP_DEFINITION \
- OP* op_next; \
- OP* op_sibling; \
- OP* (CPERLscope(*op_ppaddr))(pTHX); \
- char handle_VC_problem[PERL_MEMBER_PTR_SIZE-sizeof(OP*)]; \
- PADOFFSET op_targ; \
- OPCODE op_type; \
- U16 op_seq; \
- U8 op_flags; \
- U8 op_private;
-
-#endif /* !PERL_OBJECT && PERL_CAPI && PERL_MEMBER_PTR_SIZE */
-
+#ifndef _UINTPTR_T_DEFINED
+typedef unsigned int uintptr_t;
+# define _UINTPTR_T_DEFINED
+#endif
START_EXTERN_C