[INCLUDE/CRT]
[reactos.git] / reactos / include / crt / crtdefs.h
index 832769e..76cc426 100644 (file)
@@ -4,6 +4,7 @@
  * No warranty is given; refer to the file DISCLAIMER within this package.
  */
 #include <_mingw.h>
+#include <specstrings.h>
 
 #ifndef _INC_CRTDEFS
 #define _INC_CRTDEFS
@@ -52,7 +53,7 @@
 
 #ifndef _CRTIMP
  #ifdef CRTDLL /* Defined for ntdll, crtdll, msvcrt, etc */
-  #define _CRTIMP __declspec(dllexport)
+  #define _CRTIMP
  #elif defined(_DLL)
   #define _CRTIMP __declspec(dllimport)
  #else /* !CRTDLL && !_DLL */
@@ -342,6 +343,14 @@ extern "C" {
 #endif
 #endif
 
+/* For wine code... */
+#if !defined(_MSVCRT_LONG_DEFINED) && defined(__ROS_LONG64__)
+#define _MSVCRT_LONG_DEFINED
+/* we need 32-bit longs even on 64-bit */
+typedef int __msvcrt_long;
+typedef unsigned int __msvcrt_ulong;
+#endif
+
 #ifndef _TIME_T_DEFINED
 #define _TIME_T_DEFINED
 #ifdef _USE_32BIT_TIME_T
@@ -351,18 +360,16 @@ extern "C" {
 #endif
 #endif
 
-  struct threadlocaleinfostruct;
-  typedef struct threadlocaleinfostruct *pthreadlocinfo;
-
-  struct threadmbcinfostruct;
-  typedef struct threadmbcinfostruct *pthreadmbcinfo;
+  typedef struct threadmbcinfostruct {
+    int refcount;
+    int mbcodepage;
+    int ismbcodepage;
+    int mblcid;
+    unsigned short mbulinfo[6];
+    char mbctype[257];
+    char mbcasemap[256];
+} threadmbcinfo, *pthreadmbcinfo;
 
-  struct __lc_time_data;
-
-  typedef struct localeinfo_struct {
-    pthreadlocinfo locinfo;
-    pthreadmbcinfo mbcinfo;
-  } _locale_tstruct,*_locale_t;
 
 #ifndef _TAGLC_ID_DEFINED
 #define _TAGLC_ID_DEFINED
@@ -399,9 +406,15 @@ extern "C" {
     const unsigned char *pclmap;
     const unsigned char *pcumap;
     struct __lc_time_data *lc_time_curr;
-  } threadlocinfo;
+  } threadlocinfo, *pthreadlocinfo;
 #endif
 
+struct __lc_time_data;
+
+typedef struct localeinfo_struct {
+    pthreadlocinfo locinfo;
+    pthreadmbcinfo mbcinfo;
+}_locale_tstruct,*_locale_t;
 
 #ifdef __cplusplus
 }