Release 961201
[wine] / library / miscstubs.c
1 /*
2  * JBP (Jim Peterson <jspeter@birch.ee.vt.edu>): Lots of stubs needed for
3  *      libwine.a.
4  */
5
6 #include <stdarg.h>
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include <string.h>
10 #include "windows.h"
11 #include "dde_mem.h"
12 #include "global.h"
13 #include "debug.h"
14 #include "xmalloc.h"
15
16 void SIGNAL_MaskAsyncEvents( BOOL32 mask )
17 {
18     /* FIXME: signals don't work in the library */
19 }
20
21 int CallTo32_LargeStack( int (*func)(), int nbargs, ...)
22 {
23   va_list arglist;
24   int i,a[32];
25
26   va_start(arglist,nbargs);
27
28   for(i=0; i<nbargs; i++) a[i]=va_arg(arglist,int);
29
30   switch(nbargs) /* Ewww... Icky.  But what can I do? */
31   {
32   case 5: return func(a[0],a[1],a[2],a[3],a[4]);
33   case 6: return func(a[0],a[1],a[2],a[3],a[4],a[5]);
34   case 8: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
35   case 10: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
36                 a[7],a[8],a[9]);
37   case 11: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
38                 a[7],a[8],a[9],a[10]);
39   case 14: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
40                 a[7],a[8],a[9],a[10],a[11],a[12],a[13]);
41   case 16: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
42                 a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);
43   default: fprintf(stderr,"JBP: CallTo32_LargeStack called with unsupported "
44                           "number of arguments (%d).  Ignored.\n",nbargs);
45            return 0;
46   }
47 }
48
49 extern LRESULT AboutDlgProc(HWND,UINT,WPARAM16,LPARAM);
50 extern LRESULT ColorDlgProc(HWND,UINT,WPARAM16,LPARAM);
51 extern LRESULT ComboBoxWndProc(HWND,UINT,WPARAM16,LPARAM);
52 extern LRESULT ComboLBoxWndProc(HWND,UINT,WPARAM16,LPARAM);
53 extern LRESULT EditWndProc(HWND,UINT,WPARAM16,LPARAM);
54 extern LRESULT FileOpenDlgProc(HWND,UINT,WPARAM16,LPARAM);
55 extern LRESULT FileSaveDlgProc(HWND,UINT,WPARAM16,LPARAM);
56 extern LRESULT FindTextDlgProc(HWND,UINT,WPARAM16,LPARAM);
57 extern LRESULT MDIClientWndProc(HWND,UINT,WPARAM16,LPARAM);
58 extern LRESULT PopupMenuWndProc(HWND,UINT,WPARAM16,LPARAM);
59 extern LRESULT PrintDlgProc(HWND,UINT,WPARAM16,LPARAM);
60 extern LRESULT PrintSetupDlgProc(HWND,UINT,WPARAM16,LPARAM);
61 extern LRESULT ReplaceTextDlgProc(HWND,UINT,WPARAM16,LPARAM);
62 extern LRESULT ScrollBarWndProc(HWND,UINT,WPARAM16,LPARAM);
63 extern LRESULT StaticWndProc(HWND,UINT,WPARAM16,LPARAM);
64 extern LRESULT SystemMessageBoxProc(HWND,UINT,WPARAM16,LPARAM);
65 extern LRESULT TASK_Reschedule(void);
66
67 /***********************************************************************
68  *           MODULE_GetWndProcEntry16 (not a Windows API function)
69  *
70  * Return an entry point from the WPROCS dll.
71  */
72 FARPROC16 MODULE_GetWndProcEntry16( char *name )
73 {
74 #define MAP_STR_TO_PROC(str,proc) if(!strcmp(name,str))return (FARPROC16)proc
75   MAP_STR_TO_PROC("AboutDlgProc",AboutDlgProc);
76   MAP_STR_TO_PROC("ColorDlgProc",ColorDlgProc);
77   MAP_STR_TO_PROC("ComboBoxWndProc",ComboBoxWndProc);
78   MAP_STR_TO_PROC("ComboLBoxWndProc",ComboLBoxWndProc);
79   MAP_STR_TO_PROC("DefDlgProc",DefDlgProc16);
80   MAP_STR_TO_PROC("EditWndProc",EditWndProc);
81   MAP_STR_TO_PROC("FileOpenDlgProc",FileOpenDlgProc);
82   MAP_STR_TO_PROC("FileSaveDlgProc",FileSaveDlgProc);
83   MAP_STR_TO_PROC("FindTextDlgProc",FindTextDlgProc);
84   MAP_STR_TO_PROC("MDIClientWndProc",MDIClientWndProc);
85   MAP_STR_TO_PROC("PopupMenuWndProc",PopupMenuWndProc);
86   MAP_STR_TO_PROC("PrintDlgProc",PrintDlgProc);
87   MAP_STR_TO_PROC("PrintSetupDlgProc",PrintSetupDlgProc);
88   MAP_STR_TO_PROC("ReplaceTextDlgProc",ReplaceTextDlgProc);
89   MAP_STR_TO_PROC("ScrollBarWndProc",ScrollBarWndProc);
90   MAP_STR_TO_PROC("StaticWndProc",StaticWndProc);
91   MAP_STR_TO_PROC("SystemMessageBoxProc",SystemMessageBoxProc);
92   MAP_STR_TO_PROC("TASK_Reschedule",TASK_Reschedule);
93   fprintf(stderr,"warning: No mapping for %s(), add one in library/miscstubs.c\n",name);
94   return NULL;
95 }
96
97 void DEBUG_EnterDebugger(void)
98 {
99 }
100