Don't #include <tlhelp32.h> when compiling with gcc, as it isn't provided.
authorTor Lillqvist <tml@iki.fi>
Tue, 18 Jul 2000 20:24:29 +0000 (20:24 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Tue, 18 Jul 2000 20:24:29 +0000 (20:24 +0000)
2000-07-19  Tor Lillqvist  <tml@iki.fi>

* gmodule-win32.c: Don't #include <tlhelp32.h> when compiling with gcc, as it
isn't provided. Declaration of a needed struct (from
www.microsoft.com) inserted instead.

gmodule/ChangeLog
gmodule/gmodule-win32.c

index 211595b054e399dcc3ef5fc0892a71bd208d5d00..8661b909a11257793930fe74870a7fc00bc61b7c 100644 (file)
@@ -1,3 +1,9 @@
+2000-07-19  Tor Lillqvist  <tml@iki.fi>
+
+       * gmodule-win32.c: Don't #include <tlhelp32.h> when compiling with
+       gcc, as it isn't provided. Declaration of a needed struct (from
+       www.microsoft.com) inserted instead.
+
 2000-05-13  Tor Lillqvist  <tml@iki.fi>
 
        * makefile.mingw.in: New file, with gmodule stuff
index 76377bb2caf5e73f3ca6c73dc8fb4357ca1109d1..9811496ffb6199d9e15a0bdab792c117803fed77 100644 (file)
 
 #include <stdio.h>
 #include <windows.h>
+
+#ifdef __MSVC__
 #include <tlhelp32.h>
+#else
+
+/* The w32api headers supplied with the mingw gcc don't have
+ * tlhelp32.h. We really only need the MODULEENTRY32 struct and the
+ * TH32CS_SNAPMODULE value, so provide them here.
+ */
+
+#define MAX_MODULE_NAME32 255
+
+typedef struct
+{
+  DWORD dwSize;
+  DWORD th32ModuleID;
+  DWORD th32ProcessID;
+  DWORD GlblcntUsage;
+  DWORD ProccntUsage;
+  BYTE  *modBaseAddr; 
+  DWORD modBaseSize; 
+  HMODULE hModule;     
+  char szModule[MAX_MODULE_NAME32 + 1];
+  char szExePath[MAX_PATH];
+} MODULEENTRY32;
+#define TH32CS_SNAPMODULE 8
+
+#endif
 
 static void
 set_error (void)
@@ -82,10 +109,10 @@ find_in_any_module_using_toolhelp (const gchar *symbol_name)
   typedef HANDLE (WINAPI *PFNCREATETOOLHELP32SNAPSHOT)(DWORD, DWORD);
   static PFNCREATETOOLHELP32SNAPSHOT pfnCreateToolhelp32Snapshot = NULL;
 
-  typedef BOOL (WINAPI *PFNMODULE32FIRST)(HANDLE, LPMODULEENTRY32);
+  typedef BOOL (WINAPI *PFNMODULE32FIRST)(HANDLE, MODULEENTRY32*);
   static PFNMODULE32FIRST pfnModule32First= NULL;
 
-  typedef BOOL (WINAPI *PFNMODULE32NEXT)(HANDLE, LPMODULEENTRY32);
+  typedef BOOL (WINAPI *PFNMODULE32NEXT)(HANDLE, MODULEENTRY32*);
   static PFNMODULE32NEXT pfnModule32Next = NULL;
 
   static HMODULE kernel32;