1993-07-08 19:37:25 +02:00
|
|
|
static char RCSId[] = "$Id: build.c,v 1.3 1993/07/04 04:04:21 root Exp root $";
|
1993-07-01 12:58:21 +02:00
|
|
|
static char Copyright[] = "Copyright Robert J. Amstadt, 1993";
|
|
|
|
|
1993-06-29 18:33:12 +02:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <ctype.h>
|
|
|
|
|
Release 0.4.0
Mon Sep 13 05:00:11 1993 Eric Youngdale
* [Makefile] [if1632/relay.c] [include/dlls.h] [selector.c]
[loader/wine.c] [tools/build.c]
Added ability to generate missing functions statistics.
Mon Sep 13 12:09:47 1993 Scott A. Laird (scott@curly)
* [WIN31-APPLETS]
Added new file.
* [if1632/kernel.spec]
Added definitions for GetProfile{Int,String} and SetHandleCount.
* [if1632/keyboard.spec]
Created interface specification for Keyboard driver DLL.
* [if1632/relay.c]
Added keyboard.dll to list of included DLLs.
* [if1632/user.spec]
Added LoadAccelerators definition.
* [loader/resource.c]
Added LoadAccelerators stub.
* [misc/file.c]
Changed OpenFile, and added SetHandleCount (for winfile.exe)
* [misc/keyboard.c]
Added keyboard code.
* [misc/profile.c] [misc/xt.c]
Moved GetPrivateProfile* commands here, and added GetProfile*
commands.
Mon Sep 13 10:24:37 1993 Andrew Bulhak
* [windows/utility.c]
Implemented MulDiv(), OutputDebugString() and wvsprintf()
Fri Sep 10 09:13:30 1993 John Brezak
* [*/Makefile]
Created patch to allow BSD make to build wine.
* [windows/win.c]
Fixed NULL pointer reference.
* [windows/message.c] [misc/xt.c]
Defined HZ to handle system specific timing.
* [windows/graphics.c]
Use M_PI is PI
* [objects/pallete.c]
NetBSD does not have /usr/include/values.h and MAXINT is INT_MAX.
* [dump.c] [ldt.c] [wine.c]
ifdef'ed linux headers for linux compile.
* [loader/ldtlib.c]
Add NetBSD system calls when compiled on that system.
* [loader/selector.c]
Use mmap(MAP_ANON, ...) for NetBSD.
* [if1632/call.S]
Fixed selector assumptions.
Thu Sep 9 20:01:37 1993 David Metcalfe
* [controls/WinButton*] [controls/button.c] [controls/widget.c]
[windows/win.c] [windows/class.c]
Added 3D button control and tied into CreateWindow()
Thu Sep 9 07:35:24 1993 Scott Laird
* [if1632/sound.spec]
Created interface specification for SOUND DLL.
* [if1632/win87em.spec]
Added more functions to the WIN87EM DLL interface specification
* [misc/emulate.c]
Created stubs for the new math emulation functions.
* [misc/sound.c]
Created stubs for the SOUND DLL.
Sun Sep 5 21:02:10 1993 John Burton
* [if1632/kernel.spec]
Added interface specifications for OpenFile, _lclose, _lread, _lopen,
and _lwrite.
* [include/windows.h]
Added OF_ macros
* [misc/file.c]
Implemented OpenFile, _lclose, _lread, _lopen and _lwrite.
Fri Sep 3 18:47:03 1993 Alexandre Julliard
* [windows/dc.c]
Bug fix
* [objects/text.c]
Bug fix
Fri Sep 3 18:47:03 1993 Bob Amstadt
* [objects/linedda.c]
Finished LineDDA().
1993-09-14 18:47:10 +02:00
|
|
|
#ifdef linux
|
|
|
|
#define UTEXTSEL 0x23
|
|
|
|
#endif
|
Release 940201
Tue Feb 1 21:14:47 1994 Bob Amstadt (bob@pooh)
* [loader/selector.c]
Added function CreateNewSegments(). Modified IPCCopySelector
to allow aliasing to any arbitrary memory space.
* [memory/global.c]
Fixed potential bug in GlobalGetFreeSegments().
* [memory/linear.c]
Created functions GlobalLinearLock() and GlobalLinearUnlock().
Tue Feb 1 05:51:43 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [controls/widgets.c]
Removed CAPTION window class.
* [loader/cursor.c]
Bug fix in LoadCursor(): don't allocate memory every time for
built-in cursors.
* [windows/clipping.c]
Invalidate child windows in InvalidateRgn().
* [windows/defwnd.c]
Added repaint of the caption when changing window text.
* [windows/event.c]
Modified SetCapture() to allow keyboard events while capturing.
* [windows/message.c]
New function MSG_GetHardwareMessage(), to do mouse tracking
without returning control to the Windows program.
* [windows/nonclient.c]
A couple of changes in frame drawing for DLGMODALFRAME windows.
Rewritten window moving code, to use MSG_GetHardwareMessage()
instead of non-client mouse events (this is the way Windows
does it), and to send WM_ENTERSIZEMOVE messages.
Removed WM_NCBUTTONUP and WM_NCMOUSEMOVE handlers.
* [windows/win.c]
Allocate temporary structures on the USER heap instead of
using GlobalAlloc().
* [windows/winpos.c]
Added function WINPOS_GetMinMaxInfo() to get sizing informations.
Jan 31, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawScrollBar() during NC's drawing.
Call to NC_ScrollBarButtonDown() on NC mouse events WM_LBUTTONDOWN.
Call to NC_ScrollBarButtonUp() on NC mouse events WM_LBUTTONUP.
Call to NC_ScrollBarMouseMove() on NC mouse events WM_MOUSEMOVE.
* [controls/menu.c]
New GetSubMenu() function.
Move GetMenu() & SetMenu() functions from 'windows/win.c'.
* [controls/listbox.c]
Start changes to satisfy recent changes in scrollbars/windows.
* [loader/resource.c]
Put some code in LoadAccelerators() stub.
New TranslateAccelerator() function.
* [windows/win.c]
Remove GetMenu() & SetMenu() functions.
Call to NC_CreateScrollBars() if required by CreateWindow().
Mon Jan 24 10:40:10 EST 1994 John Richardson (jrichard@cs.uml.edu)
* [window/win.c]
Added functions EnumWindows, EnumChildWindows, and helper
WIN_EnumChildWin. EnumWindows won't list all wine windows
because GetDesktopWindow isn't complete. However, the code
is in place for it to work correctly and only needs
GetDesktopWindow to do so.
Tue Jan 25 05:51:47 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/defwnd.c]
Added handling of activation messages (WM_ACTIVATE,
WM_NCACTIVATE, WM_MOUSEACTIVATE)
* [windows/event.c]
De-activate the window when losing input focus.
* [windows/focus.c]
Bug fix in SetFocus().
* [windows/message.c]
Added activation of the window on mouse-clicks.
* [windows/nonclient.c]
Changed non-client area painting to use the correct colors
depending upon the activation state.
Added WM_NCACTIVATE message handling.
Fixed a couple of bugs in window moving and resizing.
* [windows/winpos.c]
Implemented Get/SetActiveWindow().
Implemented SWP_NOACTIVATE flag in SetWindowPos().
Jan 17, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [misc/message.c]
MessageBox has a CaptionBar for his title except for
MB_SYSTEMMODAL with MB_ICONHAND.
* [windows/nonclient.c]
Call to NC_TrackSysMenu on SysMenu button mouse click.
* [windows/defwnd.c]
Call to NC_TrackSysMenu on Alt key (VK_MENU).
* [controls/menu.c]
New GetSystemMenu() function.
New CopySystemMenu() internal function.
New NC_TrackSysMenu() internal function.
* [include/windows.h]
New WM_INITMENU, WM_INITMENUPOPUP, WM_MENUSELECT & WM_MENUCHAR defines.
1994-02-02 07:48:31 +01:00
|
|
|
#if defined(__NetBSD__) || defined(__FreeBSD__)
|
Release 0.4.0
Mon Sep 13 05:00:11 1993 Eric Youngdale
* [Makefile] [if1632/relay.c] [include/dlls.h] [selector.c]
[loader/wine.c] [tools/build.c]
Added ability to generate missing functions statistics.
Mon Sep 13 12:09:47 1993 Scott A. Laird (scott@curly)
* [WIN31-APPLETS]
Added new file.
* [if1632/kernel.spec]
Added definitions for GetProfile{Int,String} and SetHandleCount.
* [if1632/keyboard.spec]
Created interface specification for Keyboard driver DLL.
* [if1632/relay.c]
Added keyboard.dll to list of included DLLs.
* [if1632/user.spec]
Added LoadAccelerators definition.
* [loader/resource.c]
Added LoadAccelerators stub.
* [misc/file.c]
Changed OpenFile, and added SetHandleCount (for winfile.exe)
* [misc/keyboard.c]
Added keyboard code.
* [misc/profile.c] [misc/xt.c]
Moved GetPrivateProfile* commands here, and added GetProfile*
commands.
Mon Sep 13 10:24:37 1993 Andrew Bulhak
* [windows/utility.c]
Implemented MulDiv(), OutputDebugString() and wvsprintf()
Fri Sep 10 09:13:30 1993 John Brezak
* [*/Makefile]
Created patch to allow BSD make to build wine.
* [windows/win.c]
Fixed NULL pointer reference.
* [windows/message.c] [misc/xt.c]
Defined HZ to handle system specific timing.
* [windows/graphics.c]
Use M_PI is PI
* [objects/pallete.c]
NetBSD does not have /usr/include/values.h and MAXINT is INT_MAX.
* [dump.c] [ldt.c] [wine.c]
ifdef'ed linux headers for linux compile.
* [loader/ldtlib.c]
Add NetBSD system calls when compiled on that system.
* [loader/selector.c]
Use mmap(MAP_ANON, ...) for NetBSD.
* [if1632/call.S]
Fixed selector assumptions.
Thu Sep 9 20:01:37 1993 David Metcalfe
* [controls/WinButton*] [controls/button.c] [controls/widget.c]
[windows/win.c] [windows/class.c]
Added 3D button control and tied into CreateWindow()
Thu Sep 9 07:35:24 1993 Scott Laird
* [if1632/sound.spec]
Created interface specification for SOUND DLL.
* [if1632/win87em.spec]
Added more functions to the WIN87EM DLL interface specification
* [misc/emulate.c]
Created stubs for the new math emulation functions.
* [misc/sound.c]
Created stubs for the SOUND DLL.
Sun Sep 5 21:02:10 1993 John Burton
* [if1632/kernel.spec]
Added interface specifications for OpenFile, _lclose, _lread, _lopen,
and _lwrite.
* [include/windows.h]
Added OF_ macros
* [misc/file.c]
Implemented OpenFile, _lclose, _lread, _lopen and _lwrite.
Fri Sep 3 18:47:03 1993 Alexandre Julliard
* [windows/dc.c]
Bug fix
* [objects/text.c]
Bug fix
Fri Sep 3 18:47:03 1993 Bob Amstadt
* [objects/linedda.c]
Finished LineDDA().
1993-09-14 18:47:10 +02:00
|
|
|
#define UTEXTSEL 0x1f
|
|
|
|
#endif
|
|
|
|
|
1993-06-29 18:33:12 +02:00
|
|
|
#define VARTYPE_BYTE 0
|
|
|
|
#define VARTYPE_SIGNEDWORD 0
|
|
|
|
#define VARTYPE_WORD 1
|
|
|
|
#define VARTYPE_LONG 2
|
|
|
|
#define VARTYPE_FARPTR 3
|
|
|
|
|
|
|
|
#define FUNCTYPE_PASCAL 16
|
|
|
|
#define FUNCTYPE_C 17
|
|
|
|
#define FUNCTYPE_REG 19
|
|
|
|
|
|
|
|
#define EQUATETYPE_ABS 18
|
1993-07-01 12:58:21 +02:00
|
|
|
#define TYPE_RETURN 20
|
1993-06-29 18:33:12 +02:00
|
|
|
|
|
|
|
#define MAX_ORDINALS 1024
|
|
|
|
|
|
|
|
typedef struct ordinal_definition_s
|
|
|
|
{
|
|
|
|
int valid;
|
|
|
|
int type;
|
|
|
|
char export_name[80];
|
|
|
|
void *additional_data;
|
|
|
|
} ORDDEF;
|
|
|
|
|
|
|
|
typedef struct ordinal_variable_definition_s
|
|
|
|
{
|
|
|
|
int n_values;
|
|
|
|
int *values;
|
|
|
|
} ORDVARDEF;
|
|
|
|
|
|
|
|
typedef struct ordinal_function_definition_s
|
|
|
|
{
|
|
|
|
int n_args_16;
|
|
|
|
int arg_types_16[16];
|
|
|
|
int arg_16_offsets[16];
|
|
|
|
int arg_16_size;
|
|
|
|
char internal_name[80];
|
|
|
|
int n_args_32;
|
|
|
|
int arg_indices_32[16];
|
|
|
|
} ORDFUNCDEF;
|
|
|
|
|
1993-07-01 12:58:21 +02:00
|
|
|
typedef struct ordinal_return_definition_s
|
|
|
|
{
|
|
|
|
int arg_size;
|
|
|
|
int ret_value;
|
|
|
|
} ORDRETDEF;
|
|
|
|
|
1993-06-29 18:33:12 +02:00
|
|
|
ORDDEF OrdinalDefinitions[MAX_ORDINALS];
|
|
|
|
|
|
|
|
char LowerDLLName[80];
|
|
|
|
char UpperDLLName[80];
|
|
|
|
int Limit;
|
|
|
|
int DLLId;
|
|
|
|
FILE *SpecFp;
|
|
|
|
|
|
|
|
char *ParseBuffer = NULL;
|
|
|
|
char *ParseNext;
|
|
|
|
char ParseSaveChar;
|
|
|
|
int Line;
|
|
|
|
|
|
|
|
int IsNumberString(char *s)
|
|
|
|
{
|
|
|
|
while (*s != '\0')
|
|
|
|
if (!isdigit(*s++))
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
char *strlower(char *s)
|
|
|
|
{
|
|
|
|
char *p;
|
|
|
|
|
|
|
|
for(p = s; *p != '\0'; p++)
|
|
|
|
*p = tolower(*p);
|
|
|
|
|
|
|
|
return s;
|
|
|
|
}
|
|
|
|
|
|
|
|
char *strupper(char *s)
|
|
|
|
{
|
|
|
|
char *p;
|
|
|
|
|
|
|
|
for(p = s; *p != '\0'; p++)
|
|
|
|
*p = toupper(*p);
|
|
|
|
|
|
|
|
return s;
|
|
|
|
}
|
|
|
|
|
|
|
|
int stricmp(char *s1, char *s2)
|
|
|
|
{
|
|
|
|
if (strlen(s1) != strlen(s2))
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
while (*s1 != '\0')
|
|
|
|
if (*s1++ != *s2++)
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
char *
|
|
|
|
GetTokenInLine(void)
|
|
|
|
{
|
|
|
|
char *p;
|
|
|
|
char *token;
|
|
|
|
|
|
|
|
if (ParseNext != ParseBuffer)
|
|
|
|
{
|
|
|
|
if (ParseSaveChar == '\0')
|
|
|
|
return NULL;
|
|
|
|
*ParseNext = ParseSaveChar;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Remove initial white space.
|
|
|
|
*/
|
|
|
|
for (p = ParseNext; isspace(*p); p++)
|
|
|
|
;
|
|
|
|
|
|
|
|
if (*p == '\0')
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Find end of token.
|
|
|
|
*/
|
|
|
|
token = p++;
|
|
|
|
if (*token != '(' && *token != ')')
|
|
|
|
while (*p != '\0' && *p != '(' && *p != ')' && !isspace(*p))
|
|
|
|
p++;
|
|
|
|
|
|
|
|
ParseSaveChar = *p;
|
|
|
|
ParseNext = p;
|
|
|
|
*p = '\0';
|
|
|
|
|
|
|
|
return token;
|
|
|
|
}
|
|
|
|
|
|
|
|
char *
|
|
|
|
GetToken(void)
|
|
|
|
{
|
|
|
|
char *token;
|
|
|
|
|
|
|
|
if (ParseBuffer == NULL)
|
|
|
|
{
|
|
|
|
ParseBuffer = malloc(512);
|
|
|
|
ParseNext = ParseBuffer;
|
|
|
|
Line++;
|
1993-07-01 12:58:21 +02:00
|
|
|
while (1)
|
|
|
|
{
|
|
|
|
if (fgets(ParseBuffer, 511, SpecFp) == NULL)
|
|
|
|
return NULL;
|
|
|
|
if (ParseBuffer[0] != '#')
|
|
|
|
break;
|
|
|
|
}
|
1993-06-29 18:33:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
while ((token = GetTokenInLine()) == NULL)
|
|
|
|
{
|
|
|
|
ParseNext = ParseBuffer;
|
|
|
|
Line++;
|
1993-07-01 12:58:21 +02:00
|
|
|
while (1)
|
|
|
|
{
|
|
|
|
if (fgets(ParseBuffer, 511, SpecFp) == NULL)
|
|
|
|
return NULL;
|
|
|
|
if (ParseBuffer[0] != '#')
|
|
|
|
break;
|
|
|
|
}
|
1993-06-29 18:33:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return token;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ParseVariable(int ordinal, int type)
|
|
|
|
{
|
|
|
|
ORDDEF *odp;
|
|
|
|
ORDVARDEF *vdp;
|
|
|
|
char export_name[80];
|
|
|
|
char *token;
|
|
|
|
char *endptr;
|
|
|
|
int *value_array;
|
|
|
|
int n_values;
|
|
|
|
int value_array_size;
|
|
|
|
|
|
|
|
strcpy(export_name, GetToken());
|
|
|
|
|
|
|
|
token = GetToken();
|
|
|
|
if (*token != '(')
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected '(' got '%s'\n", Line, token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
n_values = 0;
|
|
|
|
value_array_size = 25;
|
|
|
|
value_array = malloc(sizeof(*value_array) * value_array_size);
|
|
|
|
|
|
|
|
while ((token = GetToken()) != NULL)
|
|
|
|
{
|
|
|
|
if (*token == ')')
|
|
|
|
break;
|
|
|
|
|
|
|
|
value_array[n_values++] = strtol(token, &endptr, 0);
|
|
|
|
if (n_values == value_array_size)
|
|
|
|
{
|
|
|
|
value_array_size += 25;
|
|
|
|
value_array = realloc(value_array,
|
|
|
|
sizeof(*value_array) * value_array_size);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (endptr == NULL || *endptr != '\0')
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected number value, got '%s'\n", Line,
|
|
|
|
token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (token == NULL)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: End of file in variable declaration\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (ordinal >= MAX_ORDINALS)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Ordinal number too large\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
odp = &OrdinalDefinitions[ordinal];
|
|
|
|
odp->valid = 1;
|
|
|
|
odp->type = type;
|
|
|
|
strcpy(odp->export_name, export_name);
|
|
|
|
|
|
|
|
vdp = malloc(sizeof(*vdp));
|
|
|
|
odp->additional_data = vdp;
|
|
|
|
|
|
|
|
vdp->n_values = n_values;
|
|
|
|
vdp->values = realloc(value_array, sizeof(*value_array) * n_values);
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ParseExportFunction(int ordinal, int type)
|
|
|
|
{
|
|
|
|
char *token;
|
|
|
|
ORDDEF *odp;
|
|
|
|
ORDFUNCDEF *fdp;
|
|
|
|
int arg_types[16];
|
|
|
|
int i;
|
|
|
|
int arg_num;
|
|
|
|
int current_offset;
|
|
|
|
int arg_size;
|
|
|
|
|
|
|
|
|
|
|
|
if (ordinal >= MAX_ORDINALS)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Ordinal number too large\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
odp = &OrdinalDefinitions[ordinal];
|
|
|
|
strcpy(odp->export_name, GetToken());
|
|
|
|
odp->valid = 1;
|
|
|
|
odp->type = type;
|
|
|
|
fdp = malloc(sizeof(*fdp));
|
|
|
|
odp->additional_data = fdp;
|
|
|
|
|
|
|
|
token = GetToken();
|
|
|
|
if (*token != '(')
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected '(' got '%s'\n", Line, token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
fdp->arg_16_size = 0;
|
|
|
|
for (i = 0; i < 16; i++)
|
|
|
|
{
|
|
|
|
token = GetToken();
|
|
|
|
if (*token == ')')
|
|
|
|
break;
|
|
|
|
|
|
|
|
if (stricmp(token, "byte") == 0 || stricmp(token, "word") == 0)
|
|
|
|
{
|
|
|
|
fdp->arg_types_16[i] = VARTYPE_WORD;
|
|
|
|
fdp->arg_16_size += 2;
|
|
|
|
fdp->arg_16_offsets[i] = 2;
|
|
|
|
}
|
|
|
|
else if (stricmp(token, "s_byte") == 0 ||
|
|
|
|
stricmp(token, "s_word") == 0)
|
|
|
|
{
|
|
|
|
fdp->arg_types_16[i] = VARTYPE_SIGNEDWORD;
|
|
|
|
fdp->arg_16_size += 2;
|
|
|
|
fdp->arg_16_offsets[i] = 2;
|
|
|
|
}
|
|
|
|
else if (stricmp(token, "long") == 0 || stricmp(token, "s_long") == 0)
|
|
|
|
{
|
|
|
|
fdp->arg_types_16[i] = VARTYPE_LONG;
|
|
|
|
fdp->arg_16_size += 4;
|
|
|
|
fdp->arg_16_offsets[i] = 4;
|
|
|
|
}
|
|
|
|
else if (stricmp(token, "ptr") == 0)
|
|
|
|
{
|
|
|
|
fdp->arg_types_16[i] = VARTYPE_FARPTR;
|
|
|
|
fdp->arg_16_size += 4;
|
|
|
|
fdp->arg_16_offsets[i] = 4;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Unknown variable type '%s'\n", Line, token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fdp->n_args_16 = i;
|
|
|
|
|
|
|
|
if (type == FUNCTYPE_PASCAL || type == FUNCTYPE_REG)
|
|
|
|
{
|
|
|
|
current_offset = 0;
|
|
|
|
for (i--; i >= 0; i--)
|
|
|
|
{
|
|
|
|
arg_size = fdp->arg_16_offsets[i];
|
|
|
|
fdp->arg_16_offsets[i] = current_offset;
|
|
|
|
current_offset += arg_size;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
current_offset = 0;
|
|
|
|
for (i = 0; i < fdp->n_args_16; i++)
|
|
|
|
{
|
|
|
|
arg_size = fdp->arg_16_offsets[i];
|
|
|
|
fdp->arg_16_offsets[i] = current_offset;
|
|
|
|
current_offset += arg_size;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
strcpy(fdp->internal_name, GetToken());
|
|
|
|
token = GetToken();
|
|
|
|
if (*token != '(')
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected '(' got '%s'\n", Line, token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
for (i = 0; i < 16; i++)
|
|
|
|
{
|
|
|
|
token = GetToken();
|
|
|
|
if (*token == ')')
|
|
|
|
break;
|
|
|
|
|
|
|
|
fdp->arg_indices_32[i] = atoi(token);
|
|
|
|
if (fdp->arg_indices_32[i] < 1 ||
|
|
|
|
fdp->arg_indices_32[i] > fdp->n_args_16)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Bad argument index %d\n", Line,
|
|
|
|
fdp->arg_indices_32[i]);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fdp->n_args_32 = i;
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ParseEquate(int ordinal)
|
|
|
|
{
|
|
|
|
ORDDEF *odp;
|
|
|
|
char *token;
|
|
|
|
char *endptr;
|
|
|
|
int value;
|
|
|
|
|
|
|
|
if (ordinal >= MAX_ORDINALS)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Ordinal number too large\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
odp = &OrdinalDefinitions[ordinal];
|
|
|
|
strcpy(odp->export_name, GetToken());
|
|
|
|
|
|
|
|
token = GetToken();
|
|
|
|
value = strtol(token, &endptr, 0);
|
|
|
|
if (endptr == NULL || *endptr != '\0')
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected number value, got '%s'\n", Line,
|
|
|
|
token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
odp->valid = 1;
|
|
|
|
odp->type = EQUATETYPE_ABS;
|
|
|
|
odp->additional_data = (void *) value;
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
1993-07-01 12:58:21 +02:00
|
|
|
int
|
|
|
|
ParseReturn(int ordinal)
|
|
|
|
{
|
|
|
|
ORDDEF *odp;
|
|
|
|
ORDRETDEF *rdp;
|
|
|
|
char *token;
|
|
|
|
char *endptr;
|
|
|
|
int value;
|
|
|
|
|
|
|
|
if (ordinal >= MAX_ORDINALS)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Ordinal number too large\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
rdp = malloc(sizeof(*rdp));
|
|
|
|
|
|
|
|
odp = &OrdinalDefinitions[ordinal];
|
|
|
|
strcpy(odp->export_name, GetToken());
|
|
|
|
odp->valid = 1;
|
|
|
|
odp->type = TYPE_RETURN;
|
|
|
|
odp->additional_data = rdp;
|
|
|
|
|
|
|
|
token = GetToken();
|
|
|
|
rdp->arg_size = strtol(token, &endptr, 0);
|
|
|
|
if (endptr == NULL || *endptr != '\0')
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected number value, got '%s'\n", Line,
|
|
|
|
token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
token = GetToken();
|
|
|
|
rdp->ret_value = strtol(token, &endptr, 0);
|
|
|
|
if (endptr == NULL || *endptr != '\0')
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected number value, got '%s'\n", Line,
|
|
|
|
token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
1993-06-29 18:33:12 +02:00
|
|
|
int
|
|
|
|
ParseOrdinal(int ordinal)
|
|
|
|
{
|
|
|
|
char *token;
|
|
|
|
|
|
|
|
token = GetToken();
|
|
|
|
if (token == NULL)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected type after ordinal\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (stricmp(token, "byte") == 0)
|
|
|
|
return ParseVariable(ordinal, VARTYPE_BYTE);
|
|
|
|
else if (stricmp(token, "word") == 0)
|
|
|
|
return ParseVariable(ordinal, VARTYPE_WORD);
|
|
|
|
else if (stricmp(token, "long") == 0)
|
|
|
|
return ParseVariable(ordinal, VARTYPE_LONG);
|
|
|
|
else if (stricmp(token, "c") == 0)
|
|
|
|
return ParseExportFunction(ordinal, FUNCTYPE_C);
|
|
|
|
else if (stricmp(token, "p") == 0)
|
|
|
|
return ParseExportFunction(ordinal, FUNCTYPE_PASCAL);
|
|
|
|
else if (stricmp(token, "pascal") == 0)
|
|
|
|
return ParseExportFunction(ordinal, FUNCTYPE_PASCAL);
|
|
|
|
else if (stricmp(token, "register") == 0)
|
|
|
|
return ParseExportFunction(ordinal, FUNCTYPE_REG);
|
|
|
|
else if (stricmp(token, "equate") == 0)
|
|
|
|
return ParseEquate(ordinal);
|
1993-07-01 12:58:21 +02:00
|
|
|
else if (stricmp(token, "return") == 0)
|
|
|
|
return ParseReturn(ordinal);
|
1993-06-29 18:33:12 +02:00
|
|
|
else
|
|
|
|
{
|
|
|
|
fprintf(stderr,
|
|
|
|
"%d: Expected type after ordinal, found '%s' instead\n",
|
|
|
|
Line, token);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ParseTopLevel(void)
|
|
|
|
{
|
|
|
|
char *token;
|
|
|
|
|
|
|
|
while ((token = GetToken()) != NULL)
|
|
|
|
{
|
|
|
|
if (stricmp(token, "name") == 0)
|
|
|
|
{
|
|
|
|
strcpy(LowerDLLName, GetToken());
|
|
|
|
strlower(LowerDLLName);
|
|
|
|
|
|
|
|
strcpy(UpperDLLName, LowerDLLName);
|
|
|
|
strupper(UpperDLLName);
|
|
|
|
}
|
|
|
|
else if (stricmp(token, "id") == 0)
|
|
|
|
{
|
|
|
|
token = GetToken();
|
|
|
|
if (!IsNumberString(token))
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected number after id\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
DLLId = atoi(token);
|
|
|
|
}
|
|
|
|
else if (stricmp(token, "length") == 0)
|
|
|
|
{
|
|
|
|
token = GetToken();
|
|
|
|
if (!IsNumberString(token))
|
|
|
|
{
|
|
|
|
fprintf(stderr, "%d: Expected number after length\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
Limit = atoi(token);
|
|
|
|
}
|
|
|
|
else if (IsNumberString(token))
|
|
|
|
{
|
|
|
|
int ordinal;
|
|
|
|
int rv;
|
|
|
|
|
|
|
|
ordinal = atoi(token);
|
|
|
|
if ((rv = ParseOrdinal(ordinal)) < 0)
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
fprintf(stderr,
|
|
|
|
"%d: Expected name, id, length or ordinal\n", Line);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
OutputVariableCode(FILE *fp, char *storage, ORDDEF *odp)
|
|
|
|
{
|
|
|
|
ORDVARDEF *vdp;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i);
|
|
|
|
|
|
|
|
vdp = odp->additional_data;
|
|
|
|
for (i = 0; i < vdp->n_values; i++)
|
|
|
|
{
|
|
|
|
if ((i & 7) == 0)
|
|
|
|
fprintf(fp, "\t%s\t", storage);
|
|
|
|
|
|
|
|
fprintf(fp, "%d", vdp->values[i]);
|
|
|
|
|
|
|
|
if ((i & 7) == 7 || i == vdp->n_values - 1)
|
|
|
|
fprintf(fp, "\n");
|
|
|
|
else
|
|
|
|
fprintf(fp, ", ");
|
|
|
|
}
|
|
|
|
fprintf(fp, "\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
main(int argc, char **argv)
|
|
|
|
{
|
|
|
|
ORDDEF *odp;
|
|
|
|
ORDFUNCDEF *fdp;
|
1993-07-01 12:58:21 +02:00
|
|
|
ORDRETDEF *rdp;
|
1993-06-29 18:33:12 +02:00
|
|
|
FILE *fp;
|
|
|
|
char filename[80];
|
|
|
|
char buffer[80];
|
|
|
|
char *p;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
if (argc < 2)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "usage: build SPECNAME\n");
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
SpecFp = fopen(argv[1], "r");
|
|
|
|
if (SpecFp == NULL)
|
|
|
|
{
|
|
|
|
fprintf(stderr, "Could not open specification file, '%s'\n", argv[1]);
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
ParseTopLevel();
|
|
|
|
|
|
|
|
sprintf(filename, "dll_%s.S", LowerDLLName);
|
|
|
|
fp = fopen(filename, "w");
|
|
|
|
|
|
|
|
fprintf(fp, "\t.globl _%s_Dispatch\n", UpperDLLName);
|
|
|
|
fprintf(fp, "_%s_Dispatch:\n", UpperDLLName);
|
1993-09-29 13:21:49 +01:00
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%esp\n");
|
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%ebp\n");
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "\torl\t$0x%08x,%%eax\n", DLLId << 16);
|
|
|
|
fprintf(fp, "\tjmp\t_CallTo32\n\n");
|
|
|
|
|
|
|
|
odp = OrdinalDefinitions;
|
|
|
|
for (i = 0; i <= Limit; i++, odp++)
|
|
|
|
{
|
|
|
|
fprintf(fp, "\t.globl _%s_Ordinal_%d\n", UpperDLLName, i);
|
|
|
|
|
|
|
|
if (!odp->valid)
|
|
|
|
{
|
|
|
|
fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i);
|
1993-09-29 13:21:49 +01:00
|
|
|
#ifdef BOB_SAYS_NO
|
1993-09-04 12:09:32 +02:00
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%esp\n");
|
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%ebp\n");
|
1993-09-29 13:21:49 +01:00
|
|
|
#endif
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "\tmovl\t$%d,%%eax\n", i);
|
|
|
|
fprintf(fp, "\tpushw\t$0\n");
|
|
|
|
fprintf(fp, "\tjmp\t_%s_Dispatch\n\n", UpperDLLName);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
fdp = odp->additional_data;
|
1993-07-01 12:58:21 +02:00
|
|
|
rdp = odp->additional_data;
|
1993-06-29 18:33:12 +02:00
|
|
|
|
|
|
|
switch (odp->type)
|
|
|
|
{
|
|
|
|
case EQUATETYPE_ABS:
|
|
|
|
fprintf(fp, "_%s_Ordinal_%d = %d\n\n",
|
|
|
|
UpperDLLName, i, (int) odp->additional_data);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case VARTYPE_BYTE:
|
|
|
|
OutputVariableCode(fp, ".byte", odp);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case VARTYPE_WORD:
|
|
|
|
OutputVariableCode(fp, ".word", odp);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case VARTYPE_LONG:
|
|
|
|
OutputVariableCode(fp, ".long", odp);
|
|
|
|
break;
|
|
|
|
|
1993-07-01 12:58:21 +02:00
|
|
|
case TYPE_RETURN:
|
|
|
|
fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i);
|
|
|
|
fprintf(fp, "\tmovw\t$%d,%%ax\n", rdp->ret_value & 0xffff);
|
|
|
|
fprintf(fp, "\tmovw\t$%d,%%dx\n",
|
|
|
|
(rdp->ret_value >> 16) & 0xffff);
|
|
|
|
fprintf(fp, "\t.byte\t0x66\n");
|
|
|
|
if (rdp->arg_size != 0)
|
|
|
|
fprintf(fp, "\tlret\t$%d\n", rdp->arg_size);
|
|
|
|
else
|
|
|
|
fprintf(fp, "\tlret\n");
|
|
|
|
break;
|
|
|
|
|
1993-06-29 18:33:12 +02:00
|
|
|
case FUNCTYPE_REG:
|
|
|
|
fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i);
|
1993-09-04 12:09:32 +02:00
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%esp\n");
|
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%ebp\n");
|
Release 0.4.7
Mon Nov 1 14:40:21 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [if1632/user.spec]
Removed some duplicate entries.
* [include/dialog.h] [windows/dialog.c]
Implemented dialog units and fonts.
Added preliminary loading of dialog resources.
Preliminary implementation of DialogBox().
Implemented Get/SetDlgItem* functions.
* [windows/win.c]
Implemented WM_PARENTNOTIFY message.
Implemented CreateWindowEx() and GetWindow().
Completed DestroyWindow().
Mon Nov 1 18:19:34 1993 Erik Bos
* [loader/signal.c]
Added support for int 0x11 & 0x12.
* [loader/int21.c]
Improved function handling.
Sun Oct 31 12:38:09 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Implemented GetCharWidth().
Wed Oct 27 09:56:06 1993 John Brezak <brezak@ch.hp.com>
* [Makefile]
Use GNU malloc.
* [include/int21.h include/wine.h]
Change sc_eflags to sc_efl .
* [include/wine.h]
Fix misplaced #endif
Include <signal.h> for NetBSD
* [loader/int21.c]
Don't include <sys/vfs.h> in NetBSD
Do include <sys/mount.h> in NetBSD
Cleanup some lint.
Mon Oct 26 17:59:01 1993 Erik Bos
* [include/int21.h]
Added.
* [loader/int21.c]
Added support for many dos ints.
* [misc/file.c] [include/files.h]
Moved OPEN_MAX and DosDriveStruct to files.h.
Sun Oct 24 13:36:50 1993 David Metcalfe <david@prism.demon.co.uk>
* [controls/button.c]
Implemented CHECKBOX, AUTOCHECKBOX, 3STATE, AUTO3STATE,
RADIOBUTTON, AUTORADIOBUTTON, GROUPBOX controls, together with
a preliminary USERBUTTON control.
* [objects/text.c]
Corrected bugs in TEXT_NextLine() and added handling of prefix
character.
* [controls/button.c]
Disabled focus handling by commenting out SetFocus() calls until
serious bug can be found.
Oct 20, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
Listbox control window
Painting cleanup, new messages processed.
* [controls/scroll.c]
Scroll bar control window
Painting cleanup.
* [controls/combo.c]
Combo box control window
Painting cleanup.
Tue Oct 12 17:50:11 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [objects/color.c] [objects/palette.c] [windows/syscolor.c]
Better support for the private color map.
Using a private map is now the default.
* [windows/win.c]
Bug fix.
* [include/dialog.h] [windows/dialog.c]
Implemented CreateDialog*() and IsDialogMessage().
* [misc/xt.c] [windows/defwnd.c]
Moved DefWindowProc() to defwnd.c.
Added WM_NCCREATE, WM_NCDESTROY and WM_CTLCOLOR handling.
* [windows/defdlg.c]
Started the implementation of DefDlgProc().
* [windows/win.c]
Added WM_NCCREATE and WM_NCDESTROY messages.
Implemented IsChild().
Tue Oct 12 17:50:20 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/focus.c]
Implemented GetFocus() and SetFocus().
* [windows/event.c]
Added processing of FocusIn and FocusOut events.
* [windows/graphics.c]
Added DrawFocusRect().
Sat Oct 9 14:36:57 1993 Erik Bos
* [loader/int1a.c]
Added more function handling.
Wed Oct 6 12:21:22 1993 Erik Bos
* [loader/signal.c]
Split signal.c into int1a.c, int21.c and signal.c.
Tue Oct 5 22:12:40 1993 David Metcalfe
* [controls/static.c] [control/widgets.c]
Static control class.
* [objects/text.c]
Added processing of additional DT_ flags to DrawText().
* [windows/win.c] [misc/xt.c]
Added SetWindowText() and WM_SETTEXT processing.
Tue Oct 5 22:12:40 1993 Martin Ayotte
* [controls/listbox.c]
Listbox control window
* [controls/scroll.c]
Scroll bar control window
* [controls/combo.c]
Combo box control window
* [include/combo.h]
Combo box definitions
* [include/listbox.h]
Listbox definitions
* [include/scroll.h]
Scroll bar definitions
Sat Oct 2 09:35:54 1993 Bob Amstadt (bob at pooh)
* [if1632/callback.c]
Fixed bug in MakeProcInstance().
* [debugger/info.c]
Changed x/w and x/b to display in hex.
* [debugger/i386-pinsn.c]
Added code to properly unassemble 16-bit indexing.
Fri Oct 1 08:29:05 1993 Bob Amstadt (bob at pooh)
* [loader/files.c] [misc/profile.c]
System initialization file is now called "wine.ini" and can
be located in the current directory, the user's home directory,
or any directories specified in the WINEPATH environment variable.
* [tools/build.c] [if1632/call.S] [include/regfunc.h]
Changed register function stack to match sigcontext structure.
Thu Sep 30 22:30:21 1993 Bob Amstadt (bob at pooh)
* [loader/files.c]
Created function to search a path for files to load.
* [loader/wine.c]
Modified exe and dll file loading to search through path
specified by the environment variable WINEPATH.
Thu Sep 30 22:30:21 1993 Eric Youngdale
* [loader/signal.c]
Bug fix.
Thu Sep 30 22:30:21 1993 John Brezak
* [debugger/dbg.y] [debugger/debug.l] [debugger/dtest.c]
[debugger/obstack.h]
Updates to allow debugger to function under NetBSD.
1993-11-03 20:23:37 +01:00
|
|
|
fprintf(fp, "\tpushl\t$0\n"); /* cr2 */
|
|
|
|
fprintf(fp, "\tpushl\t$0\n"); /* oldmask */
|
|
|
|
fprintf(fp, "\tpushl\t$0\n"); /* i387 */
|
|
|
|
fprintf(fp, "\tpushw\t$0\n"); /* __ssh */
|
|
|
|
fprintf(fp, "\tpushw\t%%ss\n"); /* ss */
|
|
|
|
fprintf(fp, "\tpushl\t%%esp\n"); /* esp */
|
|
|
|
fprintf(fp, "\tpushfl\n"); /* eflags */
|
|
|
|
fprintf(fp, "\tpushw\t$0\n"); /* __csh */
|
|
|
|
fprintf(fp, "\tpushw\t%%cs\n"); /* cs */
|
|
|
|
fprintf(fp, "\tpushl\t$0\n"); /* eip */
|
|
|
|
fprintf(fp, "\tpushl\t$0\n"); /* err */
|
|
|
|
fprintf(fp, "\tpushl\t$0\n"); /* trapno */
|
|
|
|
fprintf(fp, "\tpushal\n"); /* AX, ... */
|
|
|
|
fprintf(fp, "\tpushw\t$0\n"); /* __dsh */
|
|
|
|
fprintf(fp, "\tpushw\t%%ds\n"); /* ds */
|
|
|
|
fprintf(fp, "\tpushw\t$0\n"); /* __esh */
|
|
|
|
fprintf(fp, "\tpushw\t%%es\n"); /* es */
|
|
|
|
fprintf(fp, "\tpushw\t$0\n"); /* __fsh */
|
|
|
|
fprintf(fp, "\tpushw\t%%fs\n"); /* fs */
|
|
|
|
fprintf(fp, "\tpushw\t$0\n"); /* __gsh */
|
|
|
|
fprintf(fp, "\tpushw\t%%gs\n"); /* gs */
|
|
|
|
fprintf(fp, "\tmovl\t%%ebp,%%eax\n");
|
|
|
|
fprintf(fp, "\tmovw\t%%esp,%%ebp\n");
|
|
|
|
fprintf(fp, "\tpushl\t88(%%ebp)\n");
|
|
|
|
fprintf(fp, "\tmovl\t%%eax,%%ebp\n");
|
|
|
|
fprintf(fp, "\tmovl\t$%d,%%eax\n", i);
|
|
|
|
fprintf(fp, "\tpushw\t$92\n");
|
|
|
|
fprintf(fp, "\tjmp\t_%s_Dispatch\n\n", UpperDLLName);
|
|
|
|
#if 0
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "\tpushw\t%%ax\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%cx\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%dx\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%bx\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%sp\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%bp\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%si\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%di\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%ds\n");
|
|
|
|
fprintf(fp, "\tpushw\t%%es\n");
|
|
|
|
fprintf(fp, "\tmovl\t%%ebp,%%eax\n");
|
|
|
|
fprintf(fp, "\tmovw\t%%esp,%%ebp\n");
|
|
|
|
fprintf(fp, "\tpushl\t20(%%ebp)\n");
|
|
|
|
fprintf(fp, "\tmovl\t%%eax,%%ebp\n");
|
|
|
|
fprintf(fp, "\tmovl\t$%d,%%eax\n", i);
|
|
|
|
fprintf(fp, "\tpushw\t$24\n");
|
|
|
|
fprintf(fp, "\tjmp\t_%s_Dispatch\n\n", UpperDLLName);
|
Release 0.4.7
Mon Nov 1 14:40:21 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [if1632/user.spec]
Removed some duplicate entries.
* [include/dialog.h] [windows/dialog.c]
Implemented dialog units and fonts.
Added preliminary loading of dialog resources.
Preliminary implementation of DialogBox().
Implemented Get/SetDlgItem* functions.
* [windows/win.c]
Implemented WM_PARENTNOTIFY message.
Implemented CreateWindowEx() and GetWindow().
Completed DestroyWindow().
Mon Nov 1 18:19:34 1993 Erik Bos
* [loader/signal.c]
Added support for int 0x11 & 0x12.
* [loader/int21.c]
Improved function handling.
Sun Oct 31 12:38:09 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Implemented GetCharWidth().
Wed Oct 27 09:56:06 1993 John Brezak <brezak@ch.hp.com>
* [Makefile]
Use GNU malloc.
* [include/int21.h include/wine.h]
Change sc_eflags to sc_efl .
* [include/wine.h]
Fix misplaced #endif
Include <signal.h> for NetBSD
* [loader/int21.c]
Don't include <sys/vfs.h> in NetBSD
Do include <sys/mount.h> in NetBSD
Cleanup some lint.
Mon Oct 26 17:59:01 1993 Erik Bos
* [include/int21.h]
Added.
* [loader/int21.c]
Added support for many dos ints.
* [misc/file.c] [include/files.h]
Moved OPEN_MAX and DosDriveStruct to files.h.
Sun Oct 24 13:36:50 1993 David Metcalfe <david@prism.demon.co.uk>
* [controls/button.c]
Implemented CHECKBOX, AUTOCHECKBOX, 3STATE, AUTO3STATE,
RADIOBUTTON, AUTORADIOBUTTON, GROUPBOX controls, together with
a preliminary USERBUTTON control.
* [objects/text.c]
Corrected bugs in TEXT_NextLine() and added handling of prefix
character.
* [controls/button.c]
Disabled focus handling by commenting out SetFocus() calls until
serious bug can be found.
Oct 20, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
Listbox control window
Painting cleanup, new messages processed.
* [controls/scroll.c]
Scroll bar control window
Painting cleanup.
* [controls/combo.c]
Combo box control window
Painting cleanup.
Tue Oct 12 17:50:11 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [objects/color.c] [objects/palette.c] [windows/syscolor.c]
Better support for the private color map.
Using a private map is now the default.
* [windows/win.c]
Bug fix.
* [include/dialog.h] [windows/dialog.c]
Implemented CreateDialog*() and IsDialogMessage().
* [misc/xt.c] [windows/defwnd.c]
Moved DefWindowProc() to defwnd.c.
Added WM_NCCREATE, WM_NCDESTROY and WM_CTLCOLOR handling.
* [windows/defdlg.c]
Started the implementation of DefDlgProc().
* [windows/win.c]
Added WM_NCCREATE and WM_NCDESTROY messages.
Implemented IsChild().
Tue Oct 12 17:50:20 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/focus.c]
Implemented GetFocus() and SetFocus().
* [windows/event.c]
Added processing of FocusIn and FocusOut events.
* [windows/graphics.c]
Added DrawFocusRect().
Sat Oct 9 14:36:57 1993 Erik Bos
* [loader/int1a.c]
Added more function handling.
Wed Oct 6 12:21:22 1993 Erik Bos
* [loader/signal.c]
Split signal.c into int1a.c, int21.c and signal.c.
Tue Oct 5 22:12:40 1993 David Metcalfe
* [controls/static.c] [control/widgets.c]
Static control class.
* [objects/text.c]
Added processing of additional DT_ flags to DrawText().
* [windows/win.c] [misc/xt.c]
Added SetWindowText() and WM_SETTEXT processing.
Tue Oct 5 22:12:40 1993 Martin Ayotte
* [controls/listbox.c]
Listbox control window
* [controls/scroll.c]
Scroll bar control window
* [controls/combo.c]
Combo box control window
* [include/combo.h]
Combo box definitions
* [include/listbox.h]
Listbox definitions
* [include/scroll.h]
Scroll bar definitions
Sat Oct 2 09:35:54 1993 Bob Amstadt (bob at pooh)
* [if1632/callback.c]
Fixed bug in MakeProcInstance().
* [debugger/info.c]
Changed x/w and x/b to display in hex.
* [debugger/i386-pinsn.c]
Added code to properly unassemble 16-bit indexing.
Fri Oct 1 08:29:05 1993 Bob Amstadt (bob at pooh)
* [loader/files.c] [misc/profile.c]
System initialization file is now called "wine.ini" and can
be located in the current directory, the user's home directory,
or any directories specified in the WINEPATH environment variable.
* [tools/build.c] [if1632/call.S] [include/regfunc.h]
Changed register function stack to match sigcontext structure.
Thu Sep 30 22:30:21 1993 Bob Amstadt (bob at pooh)
* [loader/files.c]
Created function to search a path for files to load.
* [loader/wine.c]
Modified exe and dll file loading to search through path
specified by the environment variable WINEPATH.
Thu Sep 30 22:30:21 1993 Eric Youngdale
* [loader/signal.c]
Bug fix.
Thu Sep 30 22:30:21 1993 John Brezak
* [debugger/dbg.y] [debugger/debug.l] [debugger/dtest.c]
[debugger/obstack.h]
Updates to allow debugger to function under NetBSD.
1993-11-03 20:23:37 +01:00
|
|
|
#endif
|
1993-06-29 18:33:12 +02:00
|
|
|
break;
|
|
|
|
|
|
|
|
case FUNCTYPE_PASCAL:
|
|
|
|
fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i);
|
1993-09-29 13:21:49 +01:00
|
|
|
#ifdef BOB_SAYS_NO
|
1993-09-04 12:09:32 +02:00
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%esp\n");
|
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%ebp\n");
|
1993-09-29 13:21:49 +01:00
|
|
|
#endif
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "\tmovl\t$%d,%%eax\n", i);
|
|
|
|
fprintf(fp, "\tpushw\t$%d\n", fdp->arg_16_size);
|
|
|
|
fprintf(fp, "\tjmp\t_%s_Dispatch\n\n", UpperDLLName);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case FUNCTYPE_C:
|
|
|
|
default:
|
|
|
|
fprintf(fp, "_%s_Ordinal_%d:\n", UpperDLLName, i);
|
1993-09-29 13:21:49 +01:00
|
|
|
#ifdef BOB_SAYS_NO
|
1993-09-04 12:09:32 +02:00
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%esp\n");
|
|
|
|
fprintf(fp, "\tandl\t$0x0000ffff,%%ebp\n");
|
1993-09-29 13:21:49 +01:00
|
|
|
#endif
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "\tmovl\t$%d,%%eax\n", i);
|
|
|
|
fprintf(fp, "\tpushw\t$0\n");
|
|
|
|
fprintf(fp, "\tjmp\t_%s_Dispatch\n\n", UpperDLLName);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fclose(fp);
|
|
|
|
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 20:48:04 +01:00
|
|
|
#ifndef SHORTNAMES
|
1993-06-29 18:33:12 +02:00
|
|
|
sprintf(filename, "dll_%s_tab.c", LowerDLLName);
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 20:48:04 +01:00
|
|
|
#else
|
|
|
|
sprintf(filename, "dtb_%s.c", LowerDLLName);
|
|
|
|
#endif
|
1993-06-29 18:33:12 +02:00
|
|
|
fp = fopen(filename, "w");
|
|
|
|
|
|
|
|
fprintf(fp, "#include <stdio.h>\n");
|
|
|
|
fprintf(fp, "#include <stdlib.h>\n");
|
|
|
|
fprintf(fp, "#include \042dlls.h\042\n\n");
|
|
|
|
|
|
|
|
for (i = 0; i <= Limit; i++)
|
|
|
|
{
|
|
|
|
fprintf(fp, "extern void %s_Ordinal_%d();\n", UpperDLLName, i);
|
|
|
|
}
|
|
|
|
|
|
|
|
odp = OrdinalDefinitions;
|
|
|
|
for (i = 0; i <= Limit; i++, odp++)
|
|
|
|
{
|
|
|
|
if (odp->valid &&
|
|
|
|
(odp->type == FUNCTYPE_PASCAL || odp->type == FUNCTYPE_C ||
|
|
|
|
odp->type == FUNCTYPE_REG))
|
|
|
|
{
|
|
|
|
fdp = odp->additional_data;
|
|
|
|
fprintf(fp, "extern int %s();\n", fdp->internal_name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fprintf(fp, "\nstruct dll_table_entry_s %s_table[%d] =\n",
|
|
|
|
UpperDLLName, Limit + 1);
|
|
|
|
fprintf(fp, "{\n");
|
|
|
|
odp = OrdinalDefinitions;
|
|
|
|
for (i = 0; i <= Limit; i++, odp++)
|
|
|
|
{
|
|
|
|
fdp = odp->additional_data;
|
|
|
|
|
|
|
|
if (!odp->valid)
|
|
|
|
odp->type = -1;
|
|
|
|
|
|
|
|
switch (odp->type)
|
|
|
|
{
|
|
|
|
case FUNCTYPE_PASCAL:
|
|
|
|
case FUNCTYPE_REG:
|
Release 0.4.0
Mon Sep 13 05:00:11 1993 Eric Youngdale
* [Makefile] [if1632/relay.c] [include/dlls.h] [selector.c]
[loader/wine.c] [tools/build.c]
Added ability to generate missing functions statistics.
Mon Sep 13 12:09:47 1993 Scott A. Laird (scott@curly)
* [WIN31-APPLETS]
Added new file.
* [if1632/kernel.spec]
Added definitions for GetProfile{Int,String} and SetHandleCount.
* [if1632/keyboard.spec]
Created interface specification for Keyboard driver DLL.
* [if1632/relay.c]
Added keyboard.dll to list of included DLLs.
* [if1632/user.spec]
Added LoadAccelerators definition.
* [loader/resource.c]
Added LoadAccelerators stub.
* [misc/file.c]
Changed OpenFile, and added SetHandleCount (for winfile.exe)
* [misc/keyboard.c]
Added keyboard code.
* [misc/profile.c] [misc/xt.c]
Moved GetPrivateProfile* commands here, and added GetProfile*
commands.
Mon Sep 13 10:24:37 1993 Andrew Bulhak
* [windows/utility.c]
Implemented MulDiv(), OutputDebugString() and wvsprintf()
Fri Sep 10 09:13:30 1993 John Brezak
* [*/Makefile]
Created patch to allow BSD make to build wine.
* [windows/win.c]
Fixed NULL pointer reference.
* [windows/message.c] [misc/xt.c]
Defined HZ to handle system specific timing.
* [windows/graphics.c]
Use M_PI is PI
* [objects/pallete.c]
NetBSD does not have /usr/include/values.h and MAXINT is INT_MAX.
* [dump.c] [ldt.c] [wine.c]
ifdef'ed linux headers for linux compile.
* [loader/ldtlib.c]
Add NetBSD system calls when compiled on that system.
* [loader/selector.c]
Use mmap(MAP_ANON, ...) for NetBSD.
* [if1632/call.S]
Fixed selector assumptions.
Thu Sep 9 20:01:37 1993 David Metcalfe
* [controls/WinButton*] [controls/button.c] [controls/widget.c]
[windows/win.c] [windows/class.c]
Added 3D button control and tied into CreateWindow()
Thu Sep 9 07:35:24 1993 Scott Laird
* [if1632/sound.spec]
Created interface specification for SOUND DLL.
* [if1632/win87em.spec]
Added more functions to the WIN87EM DLL interface specification
* [misc/emulate.c]
Created stubs for the new math emulation functions.
* [misc/sound.c]
Created stubs for the SOUND DLL.
Sun Sep 5 21:02:10 1993 John Burton
* [if1632/kernel.spec]
Added interface specifications for OpenFile, _lclose, _lread, _lopen,
and _lwrite.
* [include/windows.h]
Added OF_ macros
* [misc/file.c]
Implemented OpenFile, _lclose, _lread, _lopen and _lwrite.
Fri Sep 3 18:47:03 1993 Alexandre Julliard
* [windows/dc.c]
Bug fix
* [objects/text.c]
Bug fix
Fri Sep 3 18:47:03 1993 Bob Amstadt
* [objects/linedda.c]
Finished LineDDA().
1993-09-14 18:47:10 +02:00
|
|
|
fprintf(fp, " { 0x%x, %s_Ordinal_%d, ", UTEXTSEL, UpperDLLName, i);
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "\042%s\042, ", odp->export_name);
|
|
|
|
fprintf(fp, "%s, DLL_HANDLERTYPE_PASCAL, ", fdp->internal_name);
|
Release 0.4.0
Mon Sep 13 05:00:11 1993 Eric Youngdale
* [Makefile] [if1632/relay.c] [include/dlls.h] [selector.c]
[loader/wine.c] [tools/build.c]
Added ability to generate missing functions statistics.
Mon Sep 13 12:09:47 1993 Scott A. Laird (scott@curly)
* [WIN31-APPLETS]
Added new file.
* [if1632/kernel.spec]
Added definitions for GetProfile{Int,String} and SetHandleCount.
* [if1632/keyboard.spec]
Created interface specification for Keyboard driver DLL.
* [if1632/relay.c]
Added keyboard.dll to list of included DLLs.
* [if1632/user.spec]
Added LoadAccelerators definition.
* [loader/resource.c]
Added LoadAccelerators stub.
* [misc/file.c]
Changed OpenFile, and added SetHandleCount (for winfile.exe)
* [misc/keyboard.c]
Added keyboard code.
* [misc/profile.c] [misc/xt.c]
Moved GetPrivateProfile* commands here, and added GetProfile*
commands.
Mon Sep 13 10:24:37 1993 Andrew Bulhak
* [windows/utility.c]
Implemented MulDiv(), OutputDebugString() and wvsprintf()
Fri Sep 10 09:13:30 1993 John Brezak
* [*/Makefile]
Created patch to allow BSD make to build wine.
* [windows/win.c]
Fixed NULL pointer reference.
* [windows/message.c] [misc/xt.c]
Defined HZ to handle system specific timing.
* [windows/graphics.c]
Use M_PI is PI
* [objects/pallete.c]
NetBSD does not have /usr/include/values.h and MAXINT is INT_MAX.
* [dump.c] [ldt.c] [wine.c]
ifdef'ed linux headers for linux compile.
* [loader/ldtlib.c]
Add NetBSD system calls when compiled on that system.
* [loader/selector.c]
Use mmap(MAP_ANON, ...) for NetBSD.
* [if1632/call.S]
Fixed selector assumptions.
Thu Sep 9 20:01:37 1993 David Metcalfe
* [controls/WinButton*] [controls/button.c] [controls/widget.c]
[windows/win.c] [windows/class.c]
Added 3D button control and tied into CreateWindow()
Thu Sep 9 07:35:24 1993 Scott Laird
* [if1632/sound.spec]
Created interface specification for SOUND DLL.
* [if1632/win87em.spec]
Added more functions to the WIN87EM DLL interface specification
* [misc/emulate.c]
Created stubs for the new math emulation functions.
* [misc/sound.c]
Created stubs for the SOUND DLL.
Sun Sep 5 21:02:10 1993 John Burton
* [if1632/kernel.spec]
Added interface specifications for OpenFile, _lclose, _lread, _lopen,
and _lwrite.
* [include/windows.h]
Added OF_ macros
* [misc/file.c]
Implemented OpenFile, _lclose, _lread, _lopen and _lwrite.
Fri Sep 3 18:47:03 1993 Alexandre Julliard
* [windows/dc.c]
Bug fix
* [objects/text.c]
Bug fix
Fri Sep 3 18:47:03 1993 Bob Amstadt
* [objects/linedda.c]
Finished LineDDA().
1993-09-14 18:47:10 +02:00
|
|
|
#ifdef WINESTAT
|
|
|
|
fprintf(fp, "0, ");
|
|
|
|
#endif
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "%d, ", fdp->n_args_32);
|
|
|
|
if (fdp->n_args_32 > 0)
|
|
|
|
{
|
|
|
|
int argnum;
|
|
|
|
|
|
|
|
fprintf(fp, "\n {\n");
|
|
|
|
for (argnum = 0; argnum < fdp->n_args_32; argnum++)
|
|
|
|
{
|
|
|
|
fprintf(fp, " { %d, %d },\n",
|
|
|
|
fdp->arg_16_offsets[fdp->arg_indices_32[argnum]-1],
|
|
|
|
fdp->arg_types_16[argnum]);
|
|
|
|
}
|
|
|
|
fprintf(fp, " }\n ");
|
|
|
|
}
|
|
|
|
fprintf(fp, "}, \n");
|
|
|
|
break;
|
|
|
|
|
|
|
|
case FUNCTYPE_C:
|
Release 0.4.0
Mon Sep 13 05:00:11 1993 Eric Youngdale
* [Makefile] [if1632/relay.c] [include/dlls.h] [selector.c]
[loader/wine.c] [tools/build.c]
Added ability to generate missing functions statistics.
Mon Sep 13 12:09:47 1993 Scott A. Laird (scott@curly)
* [WIN31-APPLETS]
Added new file.
* [if1632/kernel.spec]
Added definitions for GetProfile{Int,String} and SetHandleCount.
* [if1632/keyboard.spec]
Created interface specification for Keyboard driver DLL.
* [if1632/relay.c]
Added keyboard.dll to list of included DLLs.
* [if1632/user.spec]
Added LoadAccelerators definition.
* [loader/resource.c]
Added LoadAccelerators stub.
* [misc/file.c]
Changed OpenFile, and added SetHandleCount (for winfile.exe)
* [misc/keyboard.c]
Added keyboard code.
* [misc/profile.c] [misc/xt.c]
Moved GetPrivateProfile* commands here, and added GetProfile*
commands.
Mon Sep 13 10:24:37 1993 Andrew Bulhak
* [windows/utility.c]
Implemented MulDiv(), OutputDebugString() and wvsprintf()
Fri Sep 10 09:13:30 1993 John Brezak
* [*/Makefile]
Created patch to allow BSD make to build wine.
* [windows/win.c]
Fixed NULL pointer reference.
* [windows/message.c] [misc/xt.c]
Defined HZ to handle system specific timing.
* [windows/graphics.c]
Use M_PI is PI
* [objects/pallete.c]
NetBSD does not have /usr/include/values.h and MAXINT is INT_MAX.
* [dump.c] [ldt.c] [wine.c]
ifdef'ed linux headers for linux compile.
* [loader/ldtlib.c]
Add NetBSD system calls when compiled on that system.
* [loader/selector.c]
Use mmap(MAP_ANON, ...) for NetBSD.
* [if1632/call.S]
Fixed selector assumptions.
Thu Sep 9 20:01:37 1993 David Metcalfe
* [controls/WinButton*] [controls/button.c] [controls/widget.c]
[windows/win.c] [windows/class.c]
Added 3D button control and tied into CreateWindow()
Thu Sep 9 07:35:24 1993 Scott Laird
* [if1632/sound.spec]
Created interface specification for SOUND DLL.
* [if1632/win87em.spec]
Added more functions to the WIN87EM DLL interface specification
* [misc/emulate.c]
Created stubs for the new math emulation functions.
* [misc/sound.c]
Created stubs for the SOUND DLL.
Sun Sep 5 21:02:10 1993 John Burton
* [if1632/kernel.spec]
Added interface specifications for OpenFile, _lclose, _lread, _lopen,
and _lwrite.
* [include/windows.h]
Added OF_ macros
* [misc/file.c]
Implemented OpenFile, _lclose, _lread, _lopen and _lwrite.
Fri Sep 3 18:47:03 1993 Alexandre Julliard
* [windows/dc.c]
Bug fix
* [objects/text.c]
Bug fix
Fri Sep 3 18:47:03 1993 Bob Amstadt
* [objects/linedda.c]
Finished LineDDA().
1993-09-14 18:47:10 +02:00
|
|
|
fprintf(fp, " { 0x%x, %s_Ordinal_%d, ", UTEXTSEL, UpperDLLName, i);
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "\042%s\042, ", odp->export_name);
|
|
|
|
fprintf(fp, "%s, DLL_HANDLERTYPE_C, ", fdp->internal_name);
|
Release 0.4.0
Mon Sep 13 05:00:11 1993 Eric Youngdale
* [Makefile] [if1632/relay.c] [include/dlls.h] [selector.c]
[loader/wine.c] [tools/build.c]
Added ability to generate missing functions statistics.
Mon Sep 13 12:09:47 1993 Scott A. Laird (scott@curly)
* [WIN31-APPLETS]
Added new file.
* [if1632/kernel.spec]
Added definitions for GetProfile{Int,String} and SetHandleCount.
* [if1632/keyboard.spec]
Created interface specification for Keyboard driver DLL.
* [if1632/relay.c]
Added keyboard.dll to list of included DLLs.
* [if1632/user.spec]
Added LoadAccelerators definition.
* [loader/resource.c]
Added LoadAccelerators stub.
* [misc/file.c]
Changed OpenFile, and added SetHandleCount (for winfile.exe)
* [misc/keyboard.c]
Added keyboard code.
* [misc/profile.c] [misc/xt.c]
Moved GetPrivateProfile* commands here, and added GetProfile*
commands.
Mon Sep 13 10:24:37 1993 Andrew Bulhak
* [windows/utility.c]
Implemented MulDiv(), OutputDebugString() and wvsprintf()
Fri Sep 10 09:13:30 1993 John Brezak
* [*/Makefile]
Created patch to allow BSD make to build wine.
* [windows/win.c]
Fixed NULL pointer reference.
* [windows/message.c] [misc/xt.c]
Defined HZ to handle system specific timing.
* [windows/graphics.c]
Use M_PI is PI
* [objects/pallete.c]
NetBSD does not have /usr/include/values.h and MAXINT is INT_MAX.
* [dump.c] [ldt.c] [wine.c]
ifdef'ed linux headers for linux compile.
* [loader/ldtlib.c]
Add NetBSD system calls when compiled on that system.
* [loader/selector.c]
Use mmap(MAP_ANON, ...) for NetBSD.
* [if1632/call.S]
Fixed selector assumptions.
Thu Sep 9 20:01:37 1993 David Metcalfe
* [controls/WinButton*] [controls/button.c] [controls/widget.c]
[windows/win.c] [windows/class.c]
Added 3D button control and tied into CreateWindow()
Thu Sep 9 07:35:24 1993 Scott Laird
* [if1632/sound.spec]
Created interface specification for SOUND DLL.
* [if1632/win87em.spec]
Added more functions to the WIN87EM DLL interface specification
* [misc/emulate.c]
Created stubs for the new math emulation functions.
* [misc/sound.c]
Created stubs for the SOUND DLL.
Sun Sep 5 21:02:10 1993 John Burton
* [if1632/kernel.spec]
Added interface specifications for OpenFile, _lclose, _lread, _lopen,
and _lwrite.
* [include/windows.h]
Added OF_ macros
* [misc/file.c]
Implemented OpenFile, _lclose, _lread, _lopen and _lwrite.
Fri Sep 3 18:47:03 1993 Alexandre Julliard
* [windows/dc.c]
Bug fix
* [objects/text.c]
Bug fix
Fri Sep 3 18:47:03 1993 Bob Amstadt
* [objects/linedda.c]
Finished LineDDA().
1993-09-14 18:47:10 +02:00
|
|
|
#ifdef WINESTAT
|
|
|
|
fprintf(fp, "0, ");
|
|
|
|
#endif
|
1993-06-29 18:33:12 +02:00
|
|
|
fprintf(fp, "%d, ", fdp->n_args_32);
|
|
|
|
if (fdp->n_args_32 > 0)
|
|
|
|
{
|
|
|
|
int argnum;
|
|
|
|
|
|
|
|
fprintf(fp, "\n {\n");
|
|
|
|
for (argnum = 0; argnum < fdp->n_args_32; argnum++)
|
|
|
|
{
|
|
|
|
fprintf(fp, " { %d, %d },\n",
|
|
|
|
fdp->arg_16_offsets[fdp->arg_indices_32[argnum]-1],
|
|
|
|
fdp->arg_types_16[argnum]);
|
|
|
|
}
|
|
|
|
fprintf(fp, " }\n ");
|
|
|
|
}
|
|
|
|
fprintf(fp, "}, \n");
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
Release 0.4.0
Mon Sep 13 05:00:11 1993 Eric Youngdale
* [Makefile] [if1632/relay.c] [include/dlls.h] [selector.c]
[loader/wine.c] [tools/build.c]
Added ability to generate missing functions statistics.
Mon Sep 13 12:09:47 1993 Scott A. Laird (scott@curly)
* [WIN31-APPLETS]
Added new file.
* [if1632/kernel.spec]
Added definitions for GetProfile{Int,String} and SetHandleCount.
* [if1632/keyboard.spec]
Created interface specification for Keyboard driver DLL.
* [if1632/relay.c]
Added keyboard.dll to list of included DLLs.
* [if1632/user.spec]
Added LoadAccelerators definition.
* [loader/resource.c]
Added LoadAccelerators stub.
* [misc/file.c]
Changed OpenFile, and added SetHandleCount (for winfile.exe)
* [misc/keyboard.c]
Added keyboard code.
* [misc/profile.c] [misc/xt.c]
Moved GetPrivateProfile* commands here, and added GetProfile*
commands.
Mon Sep 13 10:24:37 1993 Andrew Bulhak
* [windows/utility.c]
Implemented MulDiv(), OutputDebugString() and wvsprintf()
Fri Sep 10 09:13:30 1993 John Brezak
* [*/Makefile]
Created patch to allow BSD make to build wine.
* [windows/win.c]
Fixed NULL pointer reference.
* [windows/message.c] [misc/xt.c]
Defined HZ to handle system specific timing.
* [windows/graphics.c]
Use M_PI is PI
* [objects/pallete.c]
NetBSD does not have /usr/include/values.h and MAXINT is INT_MAX.
* [dump.c] [ldt.c] [wine.c]
ifdef'ed linux headers for linux compile.
* [loader/ldtlib.c]
Add NetBSD system calls when compiled on that system.
* [loader/selector.c]
Use mmap(MAP_ANON, ...) for NetBSD.
* [if1632/call.S]
Fixed selector assumptions.
Thu Sep 9 20:01:37 1993 David Metcalfe
* [controls/WinButton*] [controls/button.c] [controls/widget.c]
[windows/win.c] [windows/class.c]
Added 3D button control and tied into CreateWindow()
Thu Sep 9 07:35:24 1993 Scott Laird
* [if1632/sound.spec]
Created interface specification for SOUND DLL.
* [if1632/win87em.spec]
Added more functions to the WIN87EM DLL interface specification
* [misc/emulate.c]
Created stubs for the new math emulation functions.
* [misc/sound.c]
Created stubs for the SOUND DLL.
Sun Sep 5 21:02:10 1993 John Burton
* [if1632/kernel.spec]
Added interface specifications for OpenFile, _lclose, _lread, _lopen,
and _lwrite.
* [include/windows.h]
Added OF_ macros
* [misc/file.c]
Implemented OpenFile, _lclose, _lread, _lopen and _lwrite.
Fri Sep 3 18:47:03 1993 Alexandre Julliard
* [windows/dc.c]
Bug fix
* [objects/text.c]
Bug fix
Fri Sep 3 18:47:03 1993 Bob Amstadt
* [objects/linedda.c]
Finished LineDDA().
1993-09-14 18:47:10 +02:00
|
|
|
fprintf(fp, " { 0x%x, %s_Ordinal_%d, \042\042, NULL },\n",
|
|
|
|
UTEXTSEL, UpperDLLName, i);
|
1993-06-29 18:33:12 +02:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fprintf(fp, "};\n");
|
|
|
|
|
|
|
|
fclose(fp);
|
|
|
|
}
|
|
|
|
|