+/*
+ * Helper routines for some of the common methods that people P/Invoke
+ * on their applications.
+ *
+ * Authors:
+ * Gonzalo Paniagua (gonzalo@ximian.com)
+ * Miguel de Icaza (miguel@novell.com)
+ *
+ * (C) 2005 Novell, Inc.
+ *
+ */
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include "mono/metadata/class.h"
#include "mono/metadata/object.h"
#include "mono/metadata/tabledefs.h"
-#include "mono/io-layer/wapi.h"
typedef struct {
const char *fname;
void *fnptr;
} FnPtr;
-gpointer FindWindowExW (gpointer hwndParent, gpointer hwndChildAfter,
- const char *classw, const char *window);
+gpointer FindWindowExW (gpointer hwndParent, gpointer hwndChildAfter,
+ const char *classw, const char *window);
-gpointer HeapAlloc (gpointer unused1, gint32 unused2, gint32 nbytes);
-gpointer HeapCreate (gint32 flags, gint32 initial_size, gint32 max_size);
-gboolean HeapSetInformation (gpointer handle, gpointer heap_info_class,
- gpointer heap_info, gint32 head_info_length);
-
-gboolean HeapQueryInformation (gpointer handle, gpointer heap_info_class,
- gpointer heap_info, gint32 head_info_length, gint32 *ret_length);
-
-gpointer HeapAlloc (gpointer handle, gint32 flags, gint32 nbytes);
-gpointer HeapReAlloc (gpointer handle, gint32 flags, gpointer mem, gint32 nbytes);
-gint32 HeapSize (gpointer handle, gint32 flags, gpointer mem);
-gboolean HeapFree (gpointer handle, gint32 flags, gpointer mem);
-gboolean HeapValidate (gpointer handle, gpointer mem);
-gboolean HeapDestroy (gpointer handle);
-gpointer GetProcessHeap (void);
+gpointer GetProcessHeap (void);
static FnPtr functions [] = {
{ "FindWindowExW", NULL }, /* user32 */
return func (hwndParent, hwndChildAfter, classw, window);
}
-/* begin Heap* functions */
-gpointer
-HeapCreate (gint32 flags, gint32 initial_size, gint32 max_size)
-{
- return (gpointer) 0xDEADBEEF;
-}
-
-gboolean
-HeapSetInformation (gpointer handle, gpointer heap_info_class, gpointer heap_info,
- gint32 head_info_length)
-{
- return TRUE;
-}
-
-gboolean
-HeapQueryInformation (gpointer handle, gpointer heap_info_class, gpointer heap_info,
- gint32 head_info_length, gint32 *ret_length)
-{
- *ret_length = 0;
- return TRUE;
-}
+int
+SetWindowPos (gpointer hwnd, gpointer hwndInsertAfter, int x, int y, int cx, int cy, unsigned int flags);
-gpointer
-HeapAlloc (gpointer handle, gint32 flags, gint32 nbytes)
+int
+SetWindowPos (gpointer hwnd, gpointer hwndInsertAfter, int x, int y, int cx, int cy, unsigned int flags)
{
- return g_malloc0 (nbytes);
+ fprintf (stderr, "SetWindowPos %p %p to [%d,%dx%d,%d] %d\n", hwnd, hwndInsertAfter, x, y, cx, cy, flags);
+ return 1;
}
-gpointer
-HeapReAlloc (gpointer handle, gint32 flags, gpointer mem, gint32 nbytes)
-{
- return g_realloc (mem, nbytes);
-}
+int
+SendMessageA (gpointer hwnd, unsigned int msg, gpointer wparam, gpointer lparam);
-gint32
-HeapSize (gpointer handle, gint32 flags, gpointer mem)
+int
+SendMessageA (gpointer hwnd, unsigned int msg, gpointer wparam, gpointer lparam)
{
+ fprintf (stderr, "SendMessage (%d, 0x%x, %p, %p)\n", (int) GPOINTER_TO_INT (hwnd), msg, wparam, lparam);
return 0;
}
-gboolean
-HeapFree (gpointer handle, gint32 flags, gpointer mem)
-{
- g_free (mem);
- return TRUE;
-}
-
-gboolean
-HeapValidate (gpointer handle, gpointer mem)
-{
- return TRUE;
-}
-
-gboolean
-HeapDestroy (gpointer handle)
-{
- return TRUE;
-}
-
+int
+GetWindowLongA (gpointer hwnd, int a);
-gpointer
-GetProcessHeap ()
+int
+GetWindowLongA (gpointer hwnd, int a)
{
- return (gpointer) 0xDEADBEEF;
+ return 0;
}
-/* end Heap* functions */
-