Release 970329
[wine/multimedia.git] / library / miscstubs.c
blob693fbccf52f7c5c20627c455f138d0ac5d9e883e
1 /*
2 * JBP (Jim Peterson <jspeter@birch.ee.vt.edu>): Lots of stubs needed for
3 * libwine.a.
4 */
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"
15 void SIGNAL_MaskAsyncEvents( BOOL32 mask )
17 /* FIXME: signals don't work in the library */
20 int CallTo32_LargeStack( int (*func)(), int nbargs, ...)
22 va_list arglist;
23 int i,a[32];
25 va_start(arglist,nbargs);
27 for(i=0; i<nbargs; i++) a[i]=va_arg(arglist,int);
29 switch(nbargs) /* Ewww... Icky. But what can I do? */
31 case 5: return func(a[0],a[1],a[2],a[3],a[4]);
32 case 6: return func(a[0],a[1],a[2],a[3],a[4],a[5]);
33 case 8: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
34 case 10: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
35 a[7],a[8],a[9]);
36 case 11: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
37 a[7],a[8],a[9],a[10]);
38 case 14: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
39 a[7],a[8],a[9],a[10],a[11],a[12],a[13]);
40 case 16: return func(a[0],a[1],a[2],a[3],a[4],a[5],a[6],
41 a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);
42 default: fprintf(stderr,"JBP: CallTo32_LargeStack called with unsupported "
43 "number of arguments (%d). Ignored.\n",nbargs);
44 return 0;
48 extern LRESULT ColorDlgProc(HWND16,UINT16,WPARAM16,LPARAM);
49 extern LRESULT FileOpenDlgProc(HWND16,UINT16,WPARAM16,LPARAM);
50 extern LRESULT FileSaveDlgProc(HWND16,UINT16,WPARAM16,LPARAM);
51 extern LRESULT FindTextDlgProc(HWND16,UINT16,WPARAM16,LPARAM);
52 extern LRESULT MDIClientWndProc(HWND16,UINT16,WPARAM16,LPARAM);
53 extern LRESULT PrintDlgProc(HWND16,UINT16,WPARAM16,LPARAM);
54 extern LRESULT PrintSetupDlgProc(HWND16,UINT16,WPARAM16,LPARAM);
55 extern LRESULT ReplaceTextDlgProc(HWND16,UINT16,WPARAM16,LPARAM);
56 extern LRESULT ScrollBarWndProc(HWND16,UINT16,WPARAM16,LPARAM);
57 extern LRESULT StaticWndProc(HWND16,UINT16,WPARAM16,LPARAM);
58 extern LRESULT TASK_Reschedule(void);
60 /***********************************************************************
61 * MODULE_GetWndProcEntry16 (not a Windows API function)
63 * Return an entry point from the WPROCS dll.
65 FARPROC16 MODULE_GetWndProcEntry16( char *name )
67 #define MAP_STR_TO_PROC(str,proc) if(!strcmp(name,str))return (FARPROC16)proc
68 MAP_STR_TO_PROC("ColorDlgProc",ColorDlgProc);
69 MAP_STR_TO_PROC("FileOpenDlgProc",FileOpenDlgProc);
70 MAP_STR_TO_PROC("FileSaveDlgProc",FileSaveDlgProc);
71 MAP_STR_TO_PROC("FindTextDlgProc",FindTextDlgProc);
72 MAP_STR_TO_PROC("MDIClientWndProc",MDIClientWndProc);
73 MAP_STR_TO_PROC("PrintDlgProc",PrintDlgProc);
74 MAP_STR_TO_PROC("PrintSetupDlgProc",PrintSetupDlgProc);
75 MAP_STR_TO_PROC("ReplaceTextDlgProc",ReplaceTextDlgProc);
76 MAP_STR_TO_PROC("ScrollBarWndProc",ScrollBarWndProc);
77 MAP_STR_TO_PROC("StaticWndProc",StaticWndProc);
78 MAP_STR_TO_PROC("TASK_Reschedule",TASK_Reschedule);
79 fprintf(stderr,"warning: No mapping for %s(), add one in library/miscstubs.c\n",name);
80 return NULL;