From 234bc24db1df1c99426d99ad9571678ef31e8f3d Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Sat, 10 Dec 1994 13:02:28 +0000 Subject: [PATCH] Release 941210 Wed Dec 7 14:52:25 1994 Alexandre Julliard (julliard@lamisun.epfl.ch) * [controls/listbox.c] Fixed problems due to new scroll-bar code. * [loader/signal.c] [miscemu/ioports.c] Handle I/O opcodes that use an absolute address. * [objects/text.c] Implemented TabbedTextOut(). Sat Dec 3 18:53:08 1994 Kenneth MacDonald * [objects/metafile.c] Implemented GetMetafile(). Fixed bug in PlayMetaFile() when reading disc based metafile records. Added META_POLYPOLYGON, META_DELETEOBJECT and META_EOF to PlayMetaFileRecord(). Wed Nov 30 06:32:25 1994 Martin von Loewis (martin@cs.csufresno.edu) * [Imakefile] wine.sym: Remove gcc2_compiled and friends * [controls/listbox.c][if1632/relay.c][if1632/relay.c] [loader/resource.c][memory/heap.c][objects/dib.c][windows/dialog.c] Replace #ifdef DEBUG_XXX with if(debugging_xxx){ * [if1632/call.S] CallToLibMain: New function * [if1632/relay.c][include/options.h][misc/main.c] [miscemu/int1a.c][miscemu/int21.c][miscemu/kernel.c] removed Options.relay_debug * [include/heap.h] HEAP_OWNER: Use ds instead of cs:ip * [loader/ne_image.c] LoadNEImage: Remember current exe, handle nodata dlls InitNEDLL: handle nodata dlls, call CallToLibMain * [loader/selector.c] CreateSelectors: Initialize auto_data_sel with 0 * [memory/heap.c] HEAP_CheckHeap: Check prev HEAP_CheckLocalHeaps: new function * [misc/profile] Remember and dump only changed profiles * [tools/makedebug] Introduce debugging_xxx flags Sun Nov 27 23:13:22 MET 1994 * [clipboard.h color.h dc.h dos_fs.h event.h font.h graphics.h if1632.h kernel.h library.h miscemu.h ne_image.h nonclient.h pe_image.h selectors.h wintypes.h] Added. * [*/*] - Commented all 'static char copyright statements', see misc/main.c - moved prototypes to headers files, fixed wrong prototypes. - *please* add a header file for each .c if you need to export things. * [misc/main.c] Added one static string which list the names of the contributors. Fri Nov 25 16:24:27 MET 1994 Dag Asheim (dash@ifi.uio.no) * [Configure] Made the support for multiple languages more automatic. Added a [fonts] section to the wine.conf file. Made the defaults better. Generally cleaned it up. * [rc/sysres_No.rc] [rc/sysres_De.rc] [rc/sysres.c] Norwegian resources and small fixes to the german resources. Wed Nov 23 20:28:59 1994 Martin von Loewis (martin@cs.csufresno.edu) * [debugger/break.c] bark(), toggle_next(), should_continue(): New functions insert_break(): Fixed, adds write access to page before writing wine_bp.next_addr: new structure field * [debugger/dbg.y] Changed symbol's value to be it's value instead of the value pointed to by the symbol. Changed SIGTRAP handling to allow continuation after break point * [misc/shell.c] ShellAbout(): Load resource from memory --- ChangeLog | 97 ++++++++ Configure | 129 +++++----- DEVELOPERS-HINTS | 13 + Imakefile | 2 +- controls/button.c | 12 +- controls/combo.c | 12 +- controls/desktop.c | 13 +- controls/edit.c | 2 +- controls/listbox.c | 91 ++----- controls/menu.c | 14 +- controls/scroll.c | 18 +- controls/static.c | 13 +- controls/widgets.c | 2 +- debugger/break.c | 80 ++++++- debugger/dbg.y | 20 +- debugger/debug.l | 11 +- debugger/hash.c | 1 + debugger/info.c | 2 +- debugger/opcodes/i386-dis.c | 2 +- debugger/readline/complete.c | 2 +- if1632/call.S | 12 +- if1632/callback.c | 22 +- if1632/gdi.spec | 2 +- if1632/relay.c | 44 ++-- if1632/winsock.spec | 138 ++++++----- include/arch.h | 4 +- include/atom.h | 2 + include/bitmap.h | 2 + include/callback.h | 1 + include/clipboard.h | 7 + include/color.h | 14 ++ include/comm.h | 10 +- include/cursor.h | 5 + include/dc.h | 13 + include/debug.h | 258 +++++++++++++++++++- include/dialog.h | 5 + include/dos_fs.h | 35 +++ include/event.h | 7 + include/font.h | 8 + include/gdi.h | 2 + include/graphics.h | 9 + include/heap.h | 13 + include/if1632.h | 19 ++ include/kernel.h | 4 + include/library.h | 14 ++ include/listbox.h | 4 +- include/mdi.h | 3 + include/menu.h | 9 + include/miscemu.h | 25 ++ include/msdos.h | 6 + include/ne_image.h | 10 + include/nonclient.h | 13 + include/options.h | 1 - include/pe_image.h | 10 + include/prototypes.h | 297 +++++++---------------- include/registers.h | 4 +- include/scroll.h | 3 +- include/selectors.h | 25 ++ include/stddebug.h | 4 + include/syscolor.h | 1 + include/sysmetrics.h | 3 +- include/win.h | 1 + include/windows.h | 93 +------ include/wine.h | 9 +- include/winpos.h | 9 + include/wintypes.h | 92 +++++++ loader/dump.c | 3 +- loader/ldt.c | 2 + loader/ldtlib.c | 4 +- loader/library.c | 42 ++-- loader/main.c | 34 +-- loader/ne_image.c | 357 +++++++++++++-------------- loader/ne_resource.c | 5 +- loader/pe_image.c | 15 +- loader/pe_resource.c | 4 +- loader/resource.c | 36 ++- loader/selector.c | 8 +- loader/signal.c | 35 ++- loader/task.c | 17 +- memory/global.c | 17 +- memory/heap.c | 101 ++++---- memory/linear.c | 3 +- misc/atom.c | 2 +- misc/clipboard.c | 10 +- misc/commdlg.c | 9 +- misc/dos_fs.c | 25 +- misc/driver.c | 7 +- misc/escape.c | 4 +- misc/exec.c | 16 +- misc/file.c | 46 ++-- misc/keyboard.c | 5 +- misc/lstr.c | 10 +- misc/main.c | 71 ++++-- misc/message.c | 16 +- misc/profile.c | 22 +- misc/property.c | 9 +- misc/rect.c | 4 +- misc/shell.c | 10 +- misc/sound.c | 6 +- misc/user.c | 25 +- misc/winsocket.c | 213 ++++++++++------- miscemu/emulate.c | 3 +- miscemu/int10.c | 2 +- miscemu/int13.c | 4 +- miscemu/int15.c | 4 +- miscemu/int16.c | 4 +- miscemu/int1a.c | 11 +- miscemu/int21.c | 41 ++-- miscemu/int25.c | 7 +- miscemu/int26.c | 8 +- miscemu/int2a.c | 4 +- miscemu/int2f.c | 3 +- miscemu/int31.c | 5 +- miscemu/ioports.c | 23 +- miscemu/kernel.c | 10 +- multimedia/audio.c | 15 +- multimedia/mcianim.c | 7 +- multimedia/mcicda.c | 7 +- multimedia/midi.c | 9 +- multimedia/mmaux.c | 4 +- multimedia/mmsystem.c | 4 +- objects/bitblt.c | 14 +- objects/bitmap.c | 11 +- objects/brush.c | 11 +- objects/clipping.c | 5 +- objects/color.c | 15 +- objects/dc.c | 14 +- objects/dcvalues.c | 5 +- objects/dib.c | 60 +++-- objects/dither.c | 13 +- objects/font.c | 11 +- objects/gdiobj.c | 16 +- objects/linedda.c | 5 +- objects/metafile.c | 75 +++++- objects/oembitmap.c | 11 +- objects/palette.c | 12 +- objects/pen.c | 10 +- objects/region.c | 10 +- objects/text.c | 92 +++++-- rc/rc.l | 1 - rc/rc.y | 3 +- rc/sysres.rc | 532 +++++++++++++++++++++-------------------- rc/sysres_De.rc | 10 +- rc/{sysres.rc => sysres_No.rc} | 526 ++++++++++++++++++++-------------------- rc/winerc.c | 5 +- tools/build.c | 13 +- tools/make_debug | 3 + windows/caret.c | 5 +- windows/class.c | 5 +- windows/cursor.c | 7 +- windows/dce.c | 8 +- windows/defdlg.c | 11 +- windows/defwnd.c | 17 +- windows/dialog.c | 13 +- windows/event.c | 20 +- windows/focus.c | 8 +- windows/graphics.c | 23 +- windows/mapping.c | 3 +- windows/mdi.c | 28 +-- windows/message.c | 11 +- windows/nonclient.c | 28 +-- windows/scroll.c | 4 +- windows/syscolor.c | 8 +- windows/sysmetrics.c | 15 +- windows/timer.c | 3 +- windows/utility.c | 3 +- windows/win.c | 28 +-- windows/winpos.c | 56 +++-- 168 files changed, 2767 insertions(+), 2196 deletions(-) rewrite if1632/winsock.spec (94%) create mode 100644 include/clipboard.h create mode 100644 include/color.h create mode 100644 include/dc.h create mode 100644 include/dos_fs.h create mode 100644 include/event.h create mode 100644 include/font.h create mode 100644 include/graphics.h create mode 100644 include/if1632.h create mode 100644 include/kernel.h create mode 100644 include/library.h create mode 100644 include/miscemu.h create mode 100644 include/ne_image.h create mode 100644 include/nonclient.h create mode 100644 include/pe_image.h rewrite include/prototypes.h (72%) create mode 100644 include/selectors.h create mode 100644 include/wintypes.h copy rc/{sysres.rc => sysres_No.rc} (51%) diff --git a/ChangeLog b/ChangeLog index f9dc5d2ebc3..b5b9a04cf64 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,101 @@ ---------------------------------------------------------------------- +Wed Dec 7 14:52:25 1994 Alexandre Julliard (julliard@lamisun.epfl.ch) + + * [controls/listbox.c] + Fixed problems due to new scroll-bar code. + + * [loader/signal.c] [miscemu/ioports.c] + Handle I/O opcodes that use an absolute address. + + * [objects/text.c] + Implemented TabbedTextOut(). + +Sat Dec 3 18:53:08 1994 Kenneth MacDonald + + * [objects/metafile.c] + Implemented GetMetafile(). + Fixed bug in PlayMetaFile() when reading disc based metafile records. + Added META_POLYPOLYGON, META_DELETEOBJECT and META_EOF to + PlayMetaFileRecord(). + +Wed Nov 30 06:32:25 1994 Martin von Loewis (martin@cs.csufresno.edu) + + * [Imakefile] + wine.sym: Remove gcc2_compiled and friends + + * [controls/listbox.c][if1632/relay.c][if1632/relay.c] + [loader/resource.c][memory/heap.c][objects/dib.c][windows/dialog.c] + Replace #ifdef DEBUG_XXX with if(debugging_xxx){ + + * [if1632/call.S] + CallToLibMain: New function + + * [if1632/relay.c][include/options.h][misc/main.c] + [miscemu/int1a.c][miscemu/int21.c][miscemu/kernel.c] + removed Options.relay_debug + + * [include/heap.h] + HEAP_OWNER: Use ds instead of cs:ip + + * [loader/ne_image.c] + LoadNEImage: Remember current exe, handle nodata dlls + InitNEDLL: handle nodata dlls, call CallToLibMain + + * [loader/selector.c] + CreateSelectors: Initialize auto_data_sel with 0 + + * [memory/heap.c] + HEAP_CheckHeap: Check prev + HEAP_CheckLocalHeaps: new function + + * [misc/profile] + Remember and dump only changed profiles + + * [tools/makedebug] + Introduce debugging_xxx flags + +Sun Nov 27 23:13:22 MET 1994 + + * [clipboard.h color.h dc.h dos_fs.h event.h font.h graphics.h + if1632.h kernel.h library.h miscemu.h ne_image.h nonclient.h + pe_image.h selectors.h wintypes.h] + Added. + + * [*/*] + - Commented all 'static char copyright statements', see misc/main.c + - moved prototypes to headers files, fixed wrong prototypes. + - *please* add a header file for each .c if you need to export + things. + + * [misc/main.c] + Added one static string which list the names of the contributors. + +Fri Nov 25 16:24:27 MET 1994 Dag Asheim (dash@ifi.uio.no) + + * [Configure] + Made the support for multiple languages more automatic. Added + a [fonts] section to the wine.conf file. Made the defaults + better. Generally cleaned it up. + + * [rc/sysres_No.rc] [rc/sysres_De.rc] [rc/sysres.c] + Norwegian resources and small fixes to the german resources. + +Wed Nov 23 20:28:59 1994 Martin von Loewis (martin@cs.csufresno.edu) + + * [debugger/break.c] + bark(), toggle_next(), should_continue(): New functions + insert_break(): Fixed, adds write access to page before writing + wine_bp.next_addr: new structure field + + * [debugger/dbg.y] + Changed symbol's value to be it's value instead of the value + pointed to by the symbol. + Changed SIGTRAP handling to allow continuation after break point + + * [misc/shell.c] + ShellAbout(): Load resource from memory + +---------------------------------------------------------------------- Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch) * [controls/scroll.c] [include/scroll.h] diff --git a/Configure b/Configure index d4025828eb1..d95d5082de0 100644 --- a/Configure +++ b/Configure @@ -5,9 +5,14 @@ : ${EDITOR:=vi} : ${PAGER:=more} +WINELIB='' +SHORTNAMES='' +XPM='' +LANG=not_matching +NEWBUILD='' ALLDEFINES='' -# Ask question 'str' and sets 'var' reply (defaulting to 'def' on CR) +# Ask question 'str' and set 'var' to reply (defaulting to 'def' on CR) prompt () { str="$1" @@ -30,29 +35,6 @@ if [ "$input" = 'l' -o "$input" = 'L' ] then WINELIB='#define WINELIB -DWINELIB' ALLDEFINES="$ALLDEFINES -DWINELIB" -else - WINELIB='' - -# Commented out until the processor emulator starts to work. -# -# echo -# echo -n 'Use processor emulator (*DOES*NOT*WORK*YET*) (Y/N) [N]? ' -# read input -# if [ "$input" = 'y' -o "$input" = 'Y' ] -# then -# PROCEMU='#define PROCEMU' -# ALLDEFINES="$ALLDEFINES -DPROCEMU" -# echo -# echo -n 'bochs directory [/usr/src/bochs]? ' -# read input -# if [ "$input" = '' ] -# then -# ALLDEFINES="$ALLDEFINES -DPROC_EMU_DIR=/usr/src/bochs" -# else -# ALLDEFINES="$ALLDEFINES -DPROC_EMU_DIR="$input -# fi -# fi - fi echo @@ -62,8 +44,6 @@ if [ "$input" = 'y' -o "$input" = 'Y' ] then SHORTNAMES='#define ShortNames -DSHORTNAMES' ALLDEFINES="$ALLDEFINES -DSHORTNAMES" -else - SHORTNAMES='' fi echo @@ -73,13 +53,32 @@ if [ "$input" = 'y' -o "$input" = 'Y' ] then XPM='#define USE_XPM' ALLDEFINES="$ALLDEFINES -DUSE_XPM" -else - XPM='' fi -prompt "Global configfile name" WINE_CONFIGFILE /usr/local/etc/wine.conf +LANGS=`echo En rc/sysres_*.rc | sed -e 's/rc\/sysres_//g' -e 's/\.rc//g' -e 's/ /\//g;'` +while expr "$LANGS" : ".*$LANG" == 0 > /dev/null +do + prompt "Language ($LANGS)" LANG En + if expr "$LANGS" : ".*$LANG" == 0 > /dev/null + then + echo "\"$LANG\" is not a supported language." + fi +done +ALLDEFINES="$ALLDEFINES -ALANG\($LANG\)" -WINE_INI_GLOBAL='#define WINE_INI_GLOBAL "'$WINE_CONFIGFILE'"' +if [ "`(domainname)`" = 'amscons.com' ] +then + echo + echo -n 'New build program (Y/N) [N]? ' + read input + if [ "$input" = 'y' -o "$input" = 'Y' ] + then + NEWBUILD='#define NewBuild -DNEWBUILD' + ALLDEFINES="$ALLDEFINES -DNEWBUILD" + fi +fi + +prompt "Global configfile name" WINE_CONFIGFILE /usr/local/etc/wine.conf if [ -r $WINE_CONFIGFILE ] then @@ -108,18 +107,22 @@ then fi fi - case `awk 'BEGIN {s=0} {if ($3=="msdos") s++} END {print s}' /etc/fstab` in - 0) CF_C=/c;; - 1) CF_C=`awk '{if ($3=="msdos") print $2}' /etc/fstab`;; - *) CF_C=`awk '{if ($3=="msdos") {print $2;exit}}' /etc/fstab`;; - esac - - prompt "Which directory do you want to use as A:" CF_A /a + CF_A=`mount | awk '/^\/dev\/fd/ {print $3;exit} END {print "/a"}'` + prompt "Which directory do you want to use as A:" CF_A $CF_A + CF_C=`awk '{if ($3=="msdos") {print $2;exit}} END {print "/c"}' /etc/fstab` prompt "Which directory do you want to use as C:" CF_C $CF_C prompt "Where is the Windows directory" CF_Windows 'c:\windows' prompt "Where is the System directory" CF_System 'c:\windows\system' - prompt "Where should Windows apps store temp files" CF_Temp 'c:\temp' - prompt "Which path should be used to find executables and DLL's" CF_Path 'c:\windows;c:\windows\system' + if [ -r "$CF_C/autoexec.bat" ] + then + CF_Temp=`tr A-Z a-z < "$CF_C/autoexec.batX" | sed -n 's/^ *set *temp= *\(c:.*[a-z]\).*/\1/p'` + fi + if [ -z "$CF_Temp" ] + then + CF_Temp='c:\temp' + fi + prompt "Where should Windows apps store temp files" CF_Temp $CF_Temp + prompt "Which path should be used to find progs/DLL's" CF_Path "$CF_Windows;$CF_System" prompt "Where is sysres.dll" CF_SystemResources `pwd`/sysres.dll prompt "Where is COM1" CF_Com1 '/dev/cua0' prompt "Where is COM2" CF_Com2 '/dev/cua1' @@ -135,9 +138,7 @@ Here is the list of messages:\ prompt "Exclude which messages from the log" CF_Exclude 'WM_SIZE;WM_TIMER' - echo - echo "The config file $WINE_CONFIGFILE now looks like this:" - tee $WINE_CONFIGFILE << EOF + cat > $WINE_CONFIGFILE << EOF [drives] A=$CF_A C=$CF_C @@ -149,6 +150,16 @@ Temp=$CF_Temp Path=$CF_Path SystemResources=$CF_SystemResources +[fonts] +system=*-helvetica +mssansserif=*-helvetica +msserif=*-times +fixedsys=*-fixed +arial=*-helvetica +helv=*-helvetica +roman=*-times +default=*-* + [serialports] Com1=$CF_Com1 Com2=$CF_Com2 @@ -162,6 +173,12 @@ Exclude=$CF_Exclude EOF echo + sed '1 i\ +The config file '"$WINE_CONFIGFILE"' now looks like this:\ +\ +' < $WINE_CONFIGFILE | $PAGER + + echo echo -n "Do you want to edit it using $EDITOR (Y/N) [N]? " read input if [ "$input" = 'y' -o "$input" = 'Y' ] @@ -175,23 +192,6 @@ else fi fi -prompt "Language (En/De)" LANG En -ALLDEFINES="$ALLDEFINES -ALANG\($LANG\)" - -NEWBUILD='' -if [ "`(domainname)`" = 'amscons.com' ] -then - echo - echo -n 'New build program (Y/N) [N]? ' - read input - if [ "$input" = 'y' -o "$input" = 'Y' ] - then - NEWBUILD='#define NewBuild -DNEWBUILD' - ALLDEFINES="$ALLDEFINES -DNEWBUILD" - fi -fi - -NEWLINUXLDT='' if grep -s seg_not_present /usr/include/linux/ldt.h 2> /dev/null then ALLDEFINES="$ALLDEFINES -DNEW_LDT_STRUCT" @@ -203,12 +203,12 @@ $WINELIB $SHORTNAMES $XPM $NEWBUILD -$WINE_INI_GLOBAL -$ENDIAN -$PROCEMUDIR +#define WINE_INI_GLOBAL "$WINE_CONFIGFILE" #define AutoDefines $ALLDEFINES EOF +echo +echo "Creating Makefiles. This may take a while." xmkmf -a if [ 0 -lt `find . -name "*.rej" -print | wc -l` ] @@ -223,5 +223,8 @@ List of "*.rej" files: EOF find . -name "*.rej" -print - echo + exit 1 fi + +echo +echo "Configure finished. Do 'make' to compile Wine." diff --git a/DEVELOPERS-HINTS b/DEVELOPERS-HINTS index d95d87d0f01..ecca5a0563a 100644 --- a/DEVELOPERS-HINTS +++ b/DEVELOPERS-HINTS @@ -107,6 +107,19 @@ a specific type of message in just one c-source-file, put the corresponding #define DEBUG_XXXX or #undefine DEBUG_XXXX between #include and #include in that specific file. In addition you can change the types of displayed messages by supplying the "-debugmsg" option to Wine. +If your debugging code is more complex than just printf, you can use the +symbols debugging_XXX as well. These are true when XXX is enabled, either +permanent or in the command line. So instead of writing + +#ifdef DEBUG_WIN + DumpSomeStructure(&str); +#endif + +write + if(debugging_win)DumpSomeStructure(&str); +Don't worry about the inefficiency of the test. If it is permanently +disabled (thus debugging_win is 0 at compile time), the compiler will +eliminate the dead code. The file handle "stddeb" is intended for displaying standard informational messages, whereas "stdnimp" is intended for displaying messages concerning diff --git a/Imakefile b/Imakefile index c358d67ef05..1f0b13b2ab4 100644 --- a/Imakefile +++ b/Imakefile @@ -106,7 +106,7 @@ NormalLibraryTarget(wine,$(LIBOBJS) $(COMMONOBJS)) #endif wine.sym: wine - nm wine|sort >wine.sym + nm wine|grep -v _compiled|sort >wine.sym clean:: $(RM) wine.sym diff --git a/controls/button.c b/controls/button.c index 2c7fd61e805..2e4ab5ec4a7 100644 --- a/controls/button.c +++ b/controls/button.c @@ -3,23 +3,17 @@ * Copyright (C) 1993 Johannes Ruscheinski * Copyright (C) 1993 David Metcalfe * Copyright (C) 1994 Alexandre Julliard - */ static char Copyright1[] = "Copyright Johannes Ruscheinski, 1993"; static char Copyright2[] = "Copyright David Metcalfe, 1993"; static char Copyright3[] = "Copyright Alexandre Julliard, 1994"; +*/ -#include "button.h" #include "win.h" #include "user.h" #include "syscolor.h" - - - /* windows/graphics.c */ -extern void GRAPH_DrawReliefRect( HDC hdc, RECT *rect, int highlight_size, - int shadow_size, BOOL pressed ); -extern BOOL GRAPH_DrawBitmap( HDC hdc, HBITMAP hbitmap, int xdest, int ydest, - int xsrc, int ysrc, int width, int height, int rop ); +#include "graphics.h" +#include "button.h" extern void DEFWND_SetText( HWND hwnd, LPSTR text ); /* windows/defwnd.c */ diff --git a/controls/combo.c b/controls/combo.c index ed8f07d06b4..b5c9186fb6d 100644 --- a/controls/combo.c +++ b/controls/combo.c @@ -3,9 +3,8 @@ * * Copyright Martin Ayotte, 1993 * - */ - static char Copyright[] = "Copyright Martin Ayotte, 1993"; +*/ #include #include @@ -20,15 +19,8 @@ static char Copyright[] = "Copyright Martin Ayotte, 1993"; #include "prototypes.h" #include "stddebug.h" /* #define DEBUG_COMBO */ -/* #undef DEBUG_COMBO */ #include "debug.h" - - /* windows/graphics.c */ -extern void GRAPH_DrawReliefRect( HDC hdc, RECT *rect, int highlight_size, - int shadow_size, BOOL pressed ); -extern BOOL GRAPH_DrawBitmap( HDC hdc, HBITMAP hbitmap, int xdest, int ydest, - int xsrc, int ysrc, int width, int height, int rop ); - +#include "graphics.h" HBITMAP hComboBit = 0; diff --git a/controls/desktop.c b/controls/desktop.c index 53579f13902..e075beec82f 100644 --- a/controls/desktop.c +++ b/controls/desktop.c @@ -2,9 +2,9 @@ * Desktop window class. * * Copyright 1994 Alexandre Julliard - */ static char Copyright[] = "Copyright Alexandre Julliard, 1994"; +*/ #include #include @@ -13,11 +13,8 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1994"; #include #include "win.h" #include "desktop.h" -#include "prototypes.h" - -extern BOOL GRAPH_DrawBitmap( HDC hdc, HBITMAP hbitmap, int xdest, int ydest, - int xsrc, int ysrc, int width, int height, - int rop ); /* graphics.c */ +#include "dos_fs.h" +#include "graphics.h" /*********************************************************************** * DESKTOP_LoadBitmap @@ -35,7 +32,7 @@ static HBITMAP DESKTOP_LoadBitmap( HDC hdc, char *filename ) /* Read all the file into memory */ - if (!(unixFileName = GetUnixFileName( filename ))) return 0; + if (!(unixFileName = DOS_GetUnixFileName( filename ))) return 0; if ((file = open( unixFileName, O_RDONLY )) == -1) return 0; size = lseek( file, 0, SEEK_END ); if (!(buffer = (char *)malloc( size ))) @@ -151,7 +148,7 @@ LONG DesktopWndProc ( HWND hwnd, WORD message, WORD wParam, LONG lParam ) /*********************************************************************** * SetDeskPattern (USER.279) */ -BOOL SetDeskPattern() +BOOL SetDeskPattern(void) { char buffer[100]; GetProfileString( "desktop", "Pattern", "(None)", buffer, 100 ); diff --git a/controls/edit.c b/controls/edit.c index b907f4940f0..a04b2b96924 100644 --- a/controls/edit.c +++ b/controls/edit.c @@ -4,9 +4,9 @@ * Copyright David W. Metcalfe, 1994 * * Release 3, July 1994 - */ static char Copyright[] = "Copyright David W. Metcalfe, 1994"; +*/ #include #include diff --git a/controls/listbox.c b/controls/listbox.c index 185142b2076..86c39404ae9 100644 --- a/controls/listbox.c +++ b/controls/listbox.c @@ -3,10 +3,8 @@ * * Copyright Martin Ayotte, 1993 * - */ - - static char Copyright[] = "Copyright Martin Ayotte, 1993"; +*/ #include #include @@ -17,12 +15,9 @@ static char Copyright[] = "Copyright Martin Ayotte, 1993"; #include "heap.h" #include "win.h" #include "msdos.h" -#include "wine.h" #include "listbox.h" -#include "prototypes.h" +#include "dos_fs.h" #include "stddebug.h" -/* #define DEBUG_LISTBOX */ -/* #undef DEBUG_LISTBOX */ #include "debug.h" #define GMEM_ZEROINIT 0x0040 @@ -91,14 +86,8 @@ LONG ListBoxWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam ) lphl->hWndLogicParent = GetParent(hwnd); lphl->hFont = GetStockObject(SYSTEM_FONT); lphl->ColumnsWidth = wndPtr->rectClient.right - wndPtr->rectClient.left; - if (wndPtr->dwStyle & WS_VSCROLL) { - SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), TRUE); - ShowScrollBar(hwnd, SB_VERT, FALSE); - } - if (wndPtr->dwStyle & WS_HSCROLL) { - SetScrollRange(hwnd, SB_HORZ, 1, 1, TRUE); - ShowScrollBar(hwnd, SB_HORZ, FALSE); - } + SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), TRUE); + SetScrollRange(hwnd, SB_HORZ, 1, 1, TRUE); if ((wndPtr->dwStyle & LBS_OWNERDRAWFIXED) == LBS_OWNERDRAWFIXED) { } return 0; @@ -242,7 +231,6 @@ LONG ListBoxWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam ) if (y < 4) { if (lphl->FirstVisible > 1) { lphl->FirstVisible--; - if (wndPtr->dwStyle & WS_VSCROLL) SetScrollPos(hwnd, SB_VERT, lphl->FirstVisible, TRUE); InvalidateRect(hwnd, NULL, TRUE); UpdateWindow(hwnd); @@ -253,7 +241,6 @@ LONG ListBoxWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam ) if (y > (rect.bottom - 4)) { if (lphl->FirstVisible < ListMaxFirstVisible(lphl)) { lphl->FirstVisible++; - if (wndPtr->dwStyle & WS_VSCROLL) SetScrollPos(hwnd, SB_VERT, lphl->FirstVisible, TRUE); InvalidateRect(hwnd, NULL, TRUE); UpdateWindow(hwnd); @@ -287,12 +274,12 @@ LONG ListBoxWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam ) hWndCtl = GetNextDlgTabItem(lphl->hWndLogicParent, hwnd, !(GetKeyState(VK_SHIFT) < 0)); SetFocus(hWndCtl); -#ifdef DEBUG_LISTBOX + if(debugging_listbox){ if ((GetKeyState(VK_SHIFT) < 0)) dprintf_listbox(stddeb,"ListBox PreviousDlgTabItem %04X !\n", hWndCtl); else dprintf_listbox(stddeb,"ListBox NextDlgTabItem %04X !\n", hWndCtl); -#endif + } break; case VK_HOME: lphl->ItemFocused = 0; @@ -342,8 +329,7 @@ LONG ListBoxWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam ) SendMessage(lphl->hWndLogicParent, WM_COMMAND, wndPtr->wIDmenu, MAKELONG(hwnd, LBN_SELCHANGE)); } - if (wndPtr->dwStyle & WS_VSCROLL) - SetScrollPos(hwnd, SB_VERT, lphl->FirstVisible, TRUE); + SetScrollPos(hwnd, SB_VERT, lphl->FirstVisible, TRUE); InvalidateRect(hwnd, NULL, TRUE); UpdateWindow(hwnd); break; @@ -357,9 +343,7 @@ LONG ListBoxWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam ) if (wParam == 0) break; break; case WM_SETREDRAW: -#ifdef DEBUG_LISTBOX - printf("ListBox WM_SETREDRAW hWnd=%04X w=%04X !\n", hwnd, wParam); -#endif + dprintf_listbox(stddeb,"ListBox WM_SETREDRAW hWnd=%04X w=%04X !\n", hwnd, wParam); lphl = ListBoxGetWindowAndStorage(hwnd, &wndPtr); if (lphl == NULL) return 0; lphl->bRedrawFlag = wParam; @@ -489,9 +473,7 @@ LONG ListBoxWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam ) wParam); lphl = ListBoxGetStorageHeader(hwnd); lphl->FirstVisible = wParam; - wndPtr = WIN_FindWndPtr(hwnd); - if (wndPtr->dwStyle & WS_VSCROLL) - SetScrollPos(hwnd, SB_VERT, lphl->FirstVisible, TRUE); + SetScrollPos(hwnd, SB_VERT, lphl->FirstVisible, TRUE); InvalidateRect(hwnd, NULL, TRUE); UpdateWindow(hwnd); break; @@ -553,10 +535,6 @@ void StdDrawListBox(HWND hwnd) MAKELONG(hwnd, CTLCOLOR_LISTBOX)); if (hBrush == (HBRUSH)NULL) hBrush = GetStockObject(WHITE_BRUSH); GetClientRect(hwnd, &rect); -/* - if (wndPtr->dwStyle & WS_VSCROLL) rect.right -= 16; - if (wndPtr->dwStyle & WS_HSCROLL) rect.bottom -= 16; -*/ FillRect(hdc, &rect, hBrush); maxwidth = rect.right; rect.right = lphl->ColumnsWidth; @@ -608,13 +586,6 @@ void StdDrawListBox(HWND hwnd) } EndOfPaint: EndPaint( hwnd, &ps ); - if ((lphl->ItemsCount > lphl->ItemsVisible) & - (wndPtr->dwStyle & WS_VSCROLL)) { -/* - InvalidateRect(wndPtr->hWndVScroll, NULL, TRUE); - UpdateWindow(wndPtr->hWndVScroll); -*/ - } } @@ -644,8 +615,6 @@ void OwnerDrawListBox(HWND hwnd) MAKELONG(hwnd, CTLCOLOR_LISTBOX)); if (hBrush == (HBRUSH)NULL) hBrush = GetStockObject(WHITE_BRUSH); GetClientRect(hwnd, &rect); - if (wndPtr->dwStyle & WS_VSCROLL) rect.right -= 16; - if (wndPtr->dwStyle & WS_HSCROLL) rect.bottom -= 16; FillRect(hdc, &rect, hBrush); maxwidth = rect.right; rect.right = lphl->ColumnsWidth; @@ -704,14 +673,6 @@ void OwnerDrawListBox(HWND hwnd) } EndOfPaint: EndPaint( hwnd, &ps ); - if ((lphl->ItemsCount > lphl->ItemsVisible) & - (wndPtr->dwStyle & WS_VSCROLL)) { -/* - InvalidateRect(wndPtr->hWndVScroll, NULL, TRUE); - UpdateWindow(wndPtr->hWndVScroll); -*/ - } - } @@ -729,8 +690,6 @@ int ListBoxFindMouse(HWND hwnd, int X, int Y) lpls = lphl->lpFirst; if (lpls == NULL) return LB_ERR; GetClientRect(hwnd, &rect); - if (wndPtr->dwStyle & WS_VSCROLL) rect.right -= 16; - if (wndPtr->dwStyle & WS_HSCROLL) rect.bottom -= 16; h = w2 = 0; w = lphl->ColumnsWidth; for(i = 1; i <= lphl->ItemsCount; i++) { @@ -882,18 +841,12 @@ int ListBoxInsertString(HWND hwnd, UINT uIndex, LPSTR newstr) if (((wndPtr->dwStyle & LBS_OWNERDRAWVARIABLE) == LBS_OWNERDRAWVARIABLE) || ((wndPtr->dwStyle & LBS_OWNERDRAWFIXED) == LBS_OWNERDRAWFIXED)) ListBoxAskMeasure(wndPtr, lphl, lplsnew); - if (wndPtr->dwStyle & WS_VSCROLL) - SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), - (lphl->FirstVisible != 1 && lphl->bRedrawFlag)); - if ((wndPtr->dwStyle & WS_HSCROLL) && lphl->ItemsPerColumn != 0) + SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), + (lphl->FirstVisible != 1 && lphl->bRedrawFlag)); + if (lphl->ItemsPerColumn != 0) SetScrollRange(hwnd, SB_HORZ, 1, lphl->ItemsVisible / lphl->ItemsPerColumn + 1, (lphl->FirstVisible != 1 && lphl->bRedrawFlag)); - if (((lphl->ItemsCount - lphl->FirstVisible) == lphl->ItemsVisible) && - (lphl->ItemsVisible != 0)) { - if (wndPtr->dwStyle & WS_VSCROLL) ShowScrollBar(hwnd, SB_VERT, TRUE); - if (wndPtr->dwStyle & WS_HSCROLL) ShowScrollBar(hwnd, SB_HORZ, TRUE); - } if ((lphl->FirstVisible <= uIndex) && ((lphl->FirstVisible + lphl->ItemsVisible) >= uIndex)) { InvalidateRect(hwnd, NULL, TRUE); @@ -977,17 +930,10 @@ int ListBoxDeleteString(HWND hwnd, UINT uIndex) lphl->ItemsCount--; if (lpls->hData != 0) LIST_HEAP_FREE(lphl, lpls->hData); if (lpls->hMem != 0) LIST_HEAP_FREE(lphl, lpls->hMem); - if (wndPtr->dwStyle & WS_VSCROLL) - SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), TRUE); - if ((wndPtr->dwStyle & WS_HSCROLL) && lphl->ItemsPerColumn != 0) + SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), TRUE); + if (lphl->ItemsPerColumn != 0) SetScrollRange(hwnd, SB_HORZ, 1, lphl->ItemsVisible / lphl->ItemsPerColumn + 1, TRUE); - if (lphl->ItemsCount < lphl->ItemsVisible) { - if (wndPtr->dwStyle & WS_VSCROLL) - ShowScrollBar(hwnd, SB_VERT, FALSE); - if (wndPtr->dwStyle & WS_HSCROLL) - ShowScrollBar(hwnd, SB_HORZ, FALSE); - } if ((lphl->FirstVisible <= uIndex) && ((lphl->FirstVisible + lphl->ItemsVisible) >= uIndex)) { InvalidateRect(hwnd, NULL, TRUE); @@ -1056,15 +1002,10 @@ int ListBoxResetContent(HWND hwnd) if ((wndPtr->dwStyle && LBS_NOTIFY) != 0) SendMessage(lphl->hWndLogicParent, WM_COMMAND, wndPtr->wIDmenu, MAKELONG(hwnd, LBN_SELCHANGE)); - if (wndPtr->dwStyle & WS_VSCROLL) - SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), TRUE); - if ((wndPtr->dwStyle & WS_HSCROLL) && lphl->ItemsPerColumn != 0) + SetScrollRange(hwnd, SB_VERT, 1, ListMaxFirstVisible(lphl), TRUE); + if (lphl->ItemsPerColumn != 0) SetScrollRange(hwnd, SB_HORZ, 1, lphl->ItemsVisible / lphl->ItemsPerColumn + 1, TRUE); - if (wndPtr->dwStyle & WS_VSCROLL) - ShowScrollBar(hwnd, SB_VERT, FALSE); - if (wndPtr->dwStyle & WS_HSCROLL) - ShowScrollBar(hwnd, SB_HORZ, FALSE); InvalidateRect(hwnd, NULL, TRUE); UpdateWindow(hwnd); return TRUE; diff --git a/controls/menu.c b/controls/menu.c index 8bc650f2d1e..3ac89468c9a 100644 --- a/controls/menu.c +++ b/controls/menu.c @@ -1,9 +1,9 @@ /* * Menus functions - */ static char RCSId[] = "$Id$"; static char Copyright[] = "Copyright Martin Ayotte, 1993"; static char Copyright2[] = "Copyright Alexandre Julliard, 1994"; +*/ /* * Note: the style MF_MOUSESELECT is used to mark popup items that @@ -11,7 +11,6 @@ static char Copyright2[] = "Copyright Alexandre Julliard, 1994"; * This is probably not the meaning this style has in MS-Windows. */ - #include #include #include @@ -23,14 +22,13 @@ static char Copyright2[] = "Copyright Alexandre Julliard, 1994"; #include "menu.h" #include "user.h" #include "win.h" +#include "library.h" #include "message.h" +#include "graphics.h" #include "stddebug.h" /* #define DEBUG_MENU */ -/* #undef DEBUG_MENU */ /* #define DEBUG_MENUCALC */ -/* #undef DEBUG_MENUCALC */ /* #define DEBUG_MENUSHORTCUT */ -/* #undef DEBUG_MENUSHORTCUT */ #include "debug.h" @@ -60,12 +58,6 @@ static BOOL fEndMenuCalled = FALSE; extern void NC_DrawSysButton(HWND hwnd, HDC hdc, BOOL down); /* nonclient.c */ -extern void CURSOR_SetWinCursor( HWND hwnd, HCURSOR hcursor ); /* cursor.c */ -extern BOOL GRAPH_DrawBitmap( HDC hdc, HBITMAP hbitmap, int xdest, int ydest, - int xsrc, int ysrc, int width, int height, - int rop ); /* graphics.c */ - -extern HINSTANCE hSysRes; static HBITMAP hStdCheck = 0; static HBITMAP hStdMnArrow = 0; diff --git a/controls/scroll.c b/controls/scroll.c index 168c964fe8e..e28347a416d 100644 --- a/controls/scroll.c +++ b/controls/scroll.c @@ -2,13 +2,12 @@ * Interface code to SCROLLBAR widget * * Copyright Martin Ayotte, 1993 + * Copyright Alexandre Julliard, 1994 * * Small fixes and implemented SB_THUMBPOSITION * by Peter Broadhurst, 940611 */ -static char Copyright[] = "Copyright Martin Ayotte, 1993"; - #include #include #include @@ -18,10 +17,10 @@ static char Copyright[] = "Copyright Martin Ayotte, 1993"; #include "sysmetrics.h" #include "scroll.h" #include "user.h" +#include "graphics.h" #include "win.h" #include "stddebug.h" /* #define DEBUG_SCROLL */ -/* #undef DEBUG_SCROLL */ #include "debug.h" @@ -48,10 +47,6 @@ static HBITMAP hRgArrowI = 0; (((flags)&ESB_DISABLE_RIGHT) ? hRgArrowI : ((pressed) ? hRgArrowD:hRgArrow)) - /* windows/graphics.c */ -extern void GRAPH_DrawReliefRect( HDC hdc, RECT *rect, int highlight_size, - int shadow_size, BOOL pressed ); - /* Minimum size of the rectangle between the arrows */ #define SCROLL_MIN_RECT 4 @@ -805,7 +800,8 @@ void SetScrollRange(HWND hwnd, int nBar, int MinVal, int MaxVal, BOOL bRedraw) if (!(infoPtr = SCROLL_GetScrollInfo( hwnd, nBar ))) return; - dprintf_scroll( stddeb,"SetScrollRange min=%d max=%d\n", MinVal, MaxVal ); + dprintf_scroll( stddeb,"SetScrollRange hwnd=%x bar=%d min=%d max=%d\n", + hwnd, nBar, MinVal, MaxVal ); /* Invalid range -> range is set to (0,0) */ if ((MinVal > MaxVal) || ((long)MaxVal - MinVal > 32767L)) @@ -815,8 +811,8 @@ void SetScrollRange(HWND hwnd, int nBar, int MinVal, int MaxVal, BOOL bRedraw) infoPtr->MinVal = MinVal; infoPtr->MaxVal = MaxVal; - /* Non-client scroll-bar is hidden iff range is (0,0) */ - if (nBar != SB_CTL) ShowScrollBar( hwnd, nBar, (MinVal || MaxVal) ); + /* Non-client scroll-bar is hidden if min==max */ + if (nBar != SB_CTL) ShowScrollBar( hwnd, nBar, (MinVal != MaxVal) ); if (bRedraw) SCROLL_RefreshScrollBar( hwnd, nBar ); } @@ -842,7 +838,7 @@ void ShowScrollBar( HWND hwnd, WORD wBar, BOOL fShow ) WND *wndPtr = WIN_FindWndPtr( hwnd ); if (!wndPtr) return; - dprintf_scroll( stddeb, "ShowScrollBar: %x %d %d\n", hwnd, wBar, fShow ); + dprintf_scroll( stddeb, "ShowScrollBar: hwnd=%x bar=%d on=%d\n", hwnd, wBar, fShow ); switch(wBar) { diff --git a/controls/static.c b/controls/static.c index 110817f56f2..9089095442e 100644 --- a/controls/static.c +++ b/controls/static.c @@ -3,9 +3,8 @@ * * Copyright David W. Metcalfe, 1993 * - */ - static char Copyright[] = "Copyright David W. Metcalfe, 1993"; +*/ #include #include @@ -98,10 +97,12 @@ LONG StaticWndProc(HWND hWnd, WORD uMsg, WORD wParam, LONG lParam) return DefWindowProc(hWnd, uMsg, wParam, lParam); case WM_CREATE: - if (style < 0L || style > LAST_STATIC_TYPE) { + if (style < 0L || style > LAST_STATIC_TYPE) + { + fprintf( stderr, "STATIC: Unknown style 0x%02lx\n", style ); lResult = -1L; break; - } + } /* initialise colours */ color_windowframe = GetSysColor(COLOR_WINDOWFRAME); color_background = GetSysColor(COLOR_BACKGROUND); @@ -116,11 +117,11 @@ LONG StaticWndProc(HWND hWnd, WORD uMsg, WORD wParam, LONG lParam) break; case WM_PAINT: - if (staticPaintFunc[style]) { PAINTSTRUCT ps; BeginPaint( hWnd, &ps ); - (staticPaintFunc[style])( hWnd, ps.hdc ); + if (staticPaintFunc[style]) + (staticPaintFunc[style])( hWnd, ps.hdc ); EndPaint( hWnd, &ps ); } break; diff --git a/controls/widgets.c b/controls/widgets.c index 838d09e4892..932594e2908 100644 --- a/controls/widgets.c +++ b/controls/widgets.c @@ -2,9 +2,9 @@ * Windows widgets (built-in window classes) * * Copyright 1993 Alexandre Julliard - */ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include "win.h" #include "button.h" diff --git a/debugger/break.c b/debugger/break.c index 705528c76b6..2c276da33c1 100644 --- a/debugger/break.c +++ b/debugger/break.c @@ -1,11 +1,19 @@ #include #include +#include +#ifdef linux +#include +#endif +#include #define N_BP 25 +extern int dbg_mode; + struct wine_bp{ unsigned long addr; + unsigned long next_addr; char in_use; char enabled; unsigned char databyte; @@ -13,13 +21,19 @@ struct wine_bp{ static struct wine_bp wbp[N_BP] = {{0,},}; -void info_break() +static int current_bp = -1; +static int cont_mode=0; /* 0 - continuous execution + 1 - advancing after breakpoint + 2 - single step - not implemented + */ + +void info_break(void) { int j; fprintf(stderr,"Breakpoint status\n"); for(j=0; j #include #include +#include "selectors.h" #include #include diff --git a/debugger/info.c b/debugger/info.c index bb65bece051..e4e443212d8 100644 --- a/debugger/info.c +++ b/debugger/info.c @@ -202,7 +202,7 @@ void examine_memory(int addr, int count, char format){ pnt = (char *) addr; for(i=0; i #include "editline.h" - #if defined(NEED_STRDUP) /* ** Return an allocated copy of a string. diff --git a/if1632/call.S b/if1632/call.S index 2d5ed8db62a..e36f093ebf7 100644 --- a/if1632/call.S +++ b/if1632/call.S @@ -163,9 +163,17 @@ A(CallToInit16:) * 10 target cs * 12 target ds * 14 target cx (only CallTo16cx) + * 16 target di */ .align 4 - .globl A(CallTo16), A(CallTo16cx) + .globl A(CallTo16), A(CallTo16cx), A(CallToLibMain) +A(CallToLibMain:) + pushl %ebp + movl %esp,%ebp + movw 16(%ebp),%di + movw 0,%si + movw 0,%es + jmp L1 A(CallTo16:) A(CallTo16cx:) pushl %ebp @@ -174,7 +182,7 @@ A(CallTo16cx:) /* * Get target address and new ds */ - movl 8(%ebp),%eax +L1: movl 8(%ebp),%eax movl %eax,jump_target lea jump_target,%edx movw 12(%ebp),%ax diff --git a/if1632/callback.c b/if1632/callback.c index 5e8d5eb1b1b..aef1d531cc0 100644 --- a/if1632/callback.c +++ b/if1632/callback.c @@ -1,6 +1,8 @@ #ifndef WINELIB +/* static char RCSId[] = "$Id: wine.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #include #include @@ -11,10 +13,8 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include "dlls.h" #include "stddebug.h" -/* #define DEBUG_CALLBACK */ -/* #undef DEBUG_CALLBACK */ #include "debug.h" - +#include "if1632.h" extern SEGDESC Segments[]; extern unsigned short IF1632_Saved16_ss; @@ -188,13 +188,15 @@ LONG CallWindowProc( WNDPROC func, HWND hwnd, WORD message, /* default */ else { - fprintf(stderr, "wine: Unknown wine callback %08x\n", func); + fprintf(stderr, "wine: Unknown wine callback %08x\n", + (unsigned int) func); exit(1); } } else if (IS_16_BIT_ADDRESS(func)) { - dprintf_callback(stddeb, "CallWindowProc // 16bit func=%p !\n", func); + dprintf_callback(stddeb, "CallWindowProc // 16bit func=%p !\n", + (unsigned int) func); PushOn16( CALLBACK_SIZE_WORD, hwnd ); PushOn16( CALLBACK_SIZE_WORD, message ); PushOn16( CALLBACK_SIZE_WORD, wParam ); @@ -204,7 +206,8 @@ LONG CallWindowProc( WNDPROC func, HWND hwnd, WORD message, } else { - dprintf_callback(stddeb, "CallWindowProc // 32bit func=%08X !\n", func); + dprintf_callback(stddeb, "CallWindowProc // 32bit func=%08X !\n", + (unsigned int) func); return (*func)(hwnd, message, wParam, lParam); } } @@ -319,11 +322,12 @@ int Catch (LPCATCHBUF cbuf) memcpy (stack16, sb -> stack_part, STACK_DEPTH_16); dprintf_catch (stddeb, "Been thrown here: %d, retval = %d\n", - sb, retval); + (int) sb, (int) retval); free ((void *) sb); return (retval); } else { - dprintf_catch (stddeb, "Will somtime get thrown here: %d\n", sb); + dprintf_catch (stddeb, "Will somtime get thrown here: %d\n", + (int) sb); return (retval); } } @@ -331,7 +335,7 @@ int Catch (LPCATCHBUF cbuf) void Throw (LPCATCHBUF cbuf, int val) { sb = *((struct special_buffer **)cbuf); - dprintf_catch (stddeb, "Throwing to: %d\n", sb); + dprintf_catch (stddeb, "Throwing to: %d\n", (int) sb); longjmp (sb -> buffer, val); } #endif /* !WINELIB */ diff --git a/if1632/gdi.spec b/if1632/gdi.spec index 7eb7ebe3394..45f5c94bf17 100644 --- a/if1632/gdi.spec +++ b/if1632/gdi.spec @@ -129,7 +129,7 @@ length 490 #121 pascal Death #122 pascal ReSurRection 123 pascal16 PlayMetaFile(word word) PlayMetaFile(1 2) -#124 pascal GetMetaFile +124 pascal16 GetMetaFile(ptr) GetMetaFile(1) 125 pascal16 CreateMetaFile(ptr) CreateMetaFile(1) 126 pascal16 CloseMetaFile(word) CloseMetaFile(1) 127 pascal16 DeleteMetaFile(word) DeleteMetaFile(1) diff --git a/if1632/relay.c b/if1632/relay.c index 8036697b34a..0118a12486f 100644 --- a/if1632/relay.c +++ b/if1632/relay.c @@ -1,5 +1,7 @@ +/* static char RCSId[] = "$Id: relay.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #include #include @@ -8,21 +10,29 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include #include +#include #ifdef linux #include #include #include #include #endif -#include #include "neexe.h" #include "segmem.h" #include "prototypes.h" #include "dlls.h" #include "options.h" +#include "stddebug.h" +/* #define DEBUG_RELAY /* */ +/* #define DEBUG_STACK /* */ +#include "debug.h" -#define DEBUG_RELAY /* */ +#if 0 +/* Make make_debug think these were really used */ +dprintf_relay +dprintf_stack +#endif #ifdef WINELIB #define WineLibSkip(x) 0 @@ -103,11 +113,9 @@ DLLRelay(unsigned int func_num, unsigned int seg_off) ordinal = func_num & 0xffff; dll_p = &dll_builtin_table[dll_id].dll_table[ordinal]; -#ifdef DEBUG_RELAY - if (Options.relay_debug) + if (debugging_relay) { unsigned int *ret_addr; - unsigned short *stack_p; ret_addr = (unsigned int *) ((char *) seg_off + 0x14); printf("Call %s (%s.%d), stack=%04x:%04x, ", @@ -119,18 +127,18 @@ DLLRelay(unsigned int func_num, unsigned int seg_off) IF1632_Saved16_esp, IF1632_Saved16_ebp, IF1632_Saved16_ss); -#ifdef DEBUG_STACK - stack_p = (unsigned short *) seg_off; - for (i = 0; i < 24; i++, stack_p++) - { - printf("%04x ", *stack_p); - if ((i & 7) == 7) - printf("\n"); + if(debugging_stack) + { + unsigned short *stack_p = (unsigned short *) seg_off; + for (i = 0; i < 24; i++, stack_p++) + { + printf("%04x ", *stack_p); + if ((i & 7) == 7) + printf("\n"); + } + printf("\n"); } - printf("\n"); -#endif /* DEBUG_STACK */ - } -#endif /* DEBUG_RELAY */ + } /* DEBUG_RELAY */ /* * Make sure we have a handler defined for this call. @@ -206,15 +214,13 @@ DLLRelay(unsigned int func_num, unsigned int seg_off) arg_table[12], arg_table[13], arg_table[14], arg_table[15]); -#ifdef DEBUG_RELAY - if (Options.relay_debug) + if (debugging_relay) { printf("Returning %08x from %s (%s.%d)\n", ret_val, dll_p->export_name, dll_builtin_table[dll_id].dll_name, ordinal); } -#endif Stack16Frame = saved_Stack16Frame; return ret_val; diff --git a/if1632/winsock.spec b/if1632/winsock.spec dissimilarity index 94% index 84ade1dfae5..12913f2f4e8 100644 --- a/if1632/winsock.spec +++ b/if1632/winsock.spec @@ -1,71 +1,67 @@ -# -# File: winsock.def -# System: MS-Windows 3.x -# Summary: Module definition file for Windows Sockets DLL. -# -name winsock -id 9 -length 155 - -1 pascal accept(word ptr ptr) Winsock_accept(1 2 3) -2 pascal bind(word ptr word) Winsock_bind(1 2 3) -3 pascal closesocket(word) Winsock_closesocket(1) -4 pascal connect(word ptr word) Winsock_connect(1 2 3) -5 pascal getpeername(word ptr ptr) Winsock_getpeername(1 2 3) -6 pascal getsockname(word ptr ptr) Winsock_getsockname(1 2 3) -7 pascal getsockopt(word word word ptr ptr) - Winsock_getsockopt(1 2 3 4 5) -8 pascal htonl(long) Winsock_htonl(1) -9 pascal htons(word) Winsock_htons(1) -10 pascal inet_addr(long) Winsock_inet_addr(1) -11 pascal inet_ntoa(long) Winsock_inet_ntoa(1) -12 pascal ioctlsocket(word long ptr) Winsock_ioctlsocket(1 2 3) -13 pascal listen(word word) Winsock_listen(1 2) -14 pascal ntohl(long) Winsock_ntohl(1) -15 pascal ntohs(word) Winsock_ntohs(1) -16 pascal recv(word ptr word word) Winsock_recv(1 2 3 4) -17 pascal recvfrom(word ptr word word ptr ptr) - Winsock_recvfrom(1 2 3 4 5 6) -18 pascal select(word ptr ptr ptr ptr word) - Winsock_select(1 2 3 4 5 6) -19 pascal send(word ptr word word) Winsock_send(1 2 3 4) -20 pascal sendto(word ptr word word ptr ptr) - Winsock_sendto(1 2 3 4 5 6) -21 pascal setsockopt(word word word ptr word) - Winsock_setsockopt(1 2 3 4 5) -22 pascal shutdown(word word) Winsock_shutdown(1 2) -23 pascal socket(word word word) Winsock_socket(1 2 3) - -51 pascal gethostbyaddr(ptr word word) Winsock_gethostbyaddr(1 2 3) -52 pascal gethostbyname(ptr) Winsock_gethostbyname(1) -53 pascal getprotobyname(ptr) Winsock_getprotobyname(1) -54 pascal getprotobynumber(word) Winsock_getprotobynumber(1) -55 pascal getservbyname(ptr ptr) Winsock_getservbyname(1 2) -56 pascal getservbyport(word ptr) Winsock_getservbyport(1 2) -57 pascal gethostname(ptr word) Winsock_gethostname(1 2) - -101 pascal WSAAsyncSelect(word word word long) - WSAAsyncSelect(1 2 3 4) -102 pascal WSAAsyncGetHostByAddr(word word ptr word word ptr word) - WSAAsyncGetHostByAddr(1 2 3 4 5 6 7) -103 pascal WSAAsyncGetHostByName(word word ptr ptr word) - WSAAsyncGetHostByName(1 2 3 4 5) -104 pascal WSAAsyncGetProtoByNumber(word word word ptr word) - WSAAsyncGetProtoByNumber(1 2 3 4 5) -105 pascal WSAAsyncGetProtoByName(word word ptr ptr word) - WSAAsyncGetProtoByName(1 2 3 4 5) -106 pascal WSAAsyncGetServByPort(word word word ptr ptr word) - WSAAsyncGetServByPort(1 2 3 4 5 6) -107 pascal WSAAsyncGetServByName(word word ptr ptr ptr word) - WSAAsyncGetServByName(1 2 3 4 5 6) -108 pascal WSACancelAsyncRequest(word) WSACancelAsyncRequest(1) -109 pascal WSASetBlockingHook() WSASetBlockingHook() -110 pascal WSAUnhookBlockingHook() WSAUnhookBlockingHook() -111 pascal WSAGetLastError() WSAGetLastError() -112 pascal WSASetLastError(word) WSASetLastError(1) -113 pascal WSACancelBlockingCall() WSACancelBlockingCall() -114 pascal WSAIsBlocking() WSAIsBlocking() -115 pascal WSAStartup(word ptr) WSAStartup(1 2) -116 pascal WSACleanup() WSACleanup() - -151 pascal __WSAFDIsSet(word ptr) WSAFDIsSet(1 2) +# +# File: winsock.def +# System: MS-Windows 3.x +# Summary: Module definition file for Windows Sockets DLL. +# +name winsock +id 9 +length 155 + +1 pascal16 accept(word ptr ptr) WINSOCK_accept(1 2 3) +2 pascal16 bind(word ptr word) WINSOCK_bind(1 2 3) +3 pascal16 closesocket(word) WINSOCK_closesocket(1) +4 pascal16 connect(word ptr word) WINSOCK_connect(1 2 3) +5 pascal16 getpeername(word ptr ptr) WINSOCK_getpeername(1 2 3) +6 pascal16 getsockname(word ptr ptr) WINSOCK_getsockname(1 2 3) +7 pascal16 getsockopt(word word word ptr ptr) WINSOCK_getsockopt(1 2 3 4 5) +8 pascal htonl(long) WINSOCK_htonl(1) +9 pascal16 htons(word) WINSOCK_htons(1) +10 pascal inet_addr(long) WINSOCK_inet_addr(1) +11 pascal inet_ntoa(long) WINSOCK_inet_ntoa(1) +12 pascal16 ioctlsocket(word long ptr) WINSOCK_ioctlsocket(1 2 3) +13 pascal16 listen(word word) WINSOCK_listen(1 2) +14 pascal ntohl(long) WINSOCK_ntohl(1) +15 pascal16 ntohs(word) WINSOCK_ntohs(1) +16 pascal16 recv(word ptr word word) WINSOCK_recv(1 2 3 4) +17 pascal16 recvfrom(word ptr word word ptr ptr) + WINSOCK_recvfrom(1 2 3 4 5 6) +18 pascal16 select(word ptr ptr ptr ptr word) + WINSOCK_select(1 2 3 4 5 6) +19 pascal16 send(word ptr word word) WINSOCK_send(1 2 3 4) +20 pascal16 sendto(word ptr word word ptr ptr) + WINSOCK_sendto(1 2 3 4 5 6) +21 pascal16 setsockopt(word word word ptr word) + WINSOCK_setsockopt(1 2 3 4 5) +22 pascal16 shutdown(word word) WINSOCK_shutdown(1 2) +23 pascal16 socket(word word word) WINSOCK_socket(1 2 3) +51 pascal gethostbyaddr(ptr word word) WINSOCK_gethostbyaddr(1 2 3) +52 pascal gethostbyname(ptr) WINSOCK_gethostbyname(1) +53 pascal getprotobyname(ptr) WINSOCK_getprotobyname(1) +54 pascal getprotobynumber(word) WINSOCK_getprotobynumber(1) +55 pascal getservbyname(ptr ptr) WINSOCK_getservbyname(1 2) +56 pascal getservbyport(word ptr) WINSOCK_getservbyport(1 2) +57 pascal gethostname(ptr word) WINSOCK_gethostname(1 2) +101 pascal16 WSAAsyncSelect(word word word long) + WSAAsyncSelect(1 2 3 4) +102 pascal16 WSAAsyncGetHostByAddr(word word ptr word word ptr word) + WSAAsyncGetHostByAddr(1 2 3 4 5 6 7) +103 pascal16 WSAAsyncGetHostByName(word word ptr ptr word) + WSAAsyncGetHostByName(1 2 3 4 5) +104 pascal16 WSAAsyncGetProtoByNumber(word word word ptr word) + WSAAsyncGetProtoByNumber(1 2 3 4 5) +105 pascal16 WSAAsyncGetProtoByName(word word ptr ptr word) + WSAAsyncGetProtoByName(1 2 3 4 5) +106 pascal16 WSAAsyncGetServByPort(word word word ptr ptr word) + WSAAsyncGetServByPort(1 2 3 4 5 6) +107 pascal16 WSAAsyncGetServByName(word word ptr ptr ptr word) + WSAAsyncGetServByName(1 2 3 4 5 6) +108 pascal16 WSACancelAsyncRequest(word) WSACancelAsyncRequest(1) +109 pascal16 WSASetBlockingHook() WSASetBlockingHook() +110 pascal16 WSAUnhookBlockingHook() WSAUnhookBlockingHook() +111 pascal16 WSAGetLastError() WSAGetLastError() +112 pascal WSASetLastError(word) WSASetLastError(1) +113 pascal16 WSACancelBlockingCall() WSACancelBlockingCall() +114 pascal16 WSAIsBlocking() WSAIsBlocking() +115 pascal WSAStartup(word ptr) WSAStartup(1 2) +116 pascal WSACleanup() WSACleanup() +151 pascal16 __WSAFDIsSet(word ptr) WSAFDIsSet(1 2) diff --git a/include/arch.h b/include/arch.h index c929a3e5add..ad1865c6f5c 100644 --- a/include/arch.h +++ b/include/arch.h @@ -19,6 +19,6 @@ #define CONV_CHAR_TO_LONG(a) (a) #define CONV_SHORT_TO_LONG(a) (a) -#define CONV_BITMAPINFO -#define CONV_BITMAPCOREHEADER +#define CONV_BITMAPINFO(a) /* */ +#define CONV_BITMAPCOREHEADER(a) /* */ #endif diff --git a/include/atom.h b/include/atom.h index 9182769962a..033683772ae 100644 --- a/include/atom.h +++ b/include/atom.h @@ -9,6 +9,8 @@ #include "windows.h" +extern BOOL ATOM_Init(void); + typedef struct { HANDLE next; diff --git a/include/bitmap.h b/include/bitmap.h index 9a2acfaa964..280946f3be4 100644 --- a/include/bitmap.h +++ b/include/bitmap.h @@ -10,6 +10,8 @@ #include #include "windows.h" +extern BOOL BITMAP_Init(void); + /* GCs used for B&W and color bitmap operations */ extern GC BITMAP_monoGC, BITMAP_colorGC; diff --git a/include/callback.h b/include/callback.h index ba845739a33..18206c904d7 100644 --- a/include/callback.h +++ b/include/callback.h @@ -16,5 +16,6 @@ extern int CallTo16(unsigned int csip, unsigned short ds); extern int CallBack16(void *func, int n_args, ...); +extern BOOL CallGrayStringProc(FARPROC func, HDC hdc, LPARAM lParam, INT cch); #endif /* CALLBACK_H */ diff --git a/include/clipboard.h b/include/clipboard.h new file mode 100644 index 00000000000..502e314ec9d --- /dev/null +++ b/include/clipboard.h @@ -0,0 +1,7 @@ +#ifndef __WINE_CLIPBOARD_H +#define __WINE_CLIPBOARD_H + +extern void CLIPBOARD_ReadSelection(Window w,Atom prop); +void CLIPBOARD_ReleaseSelection(HWND hwnd); + +#endif /* __WINE_CLIPBOARD_H */ diff --git a/include/color.h b/include/color.h new file mode 100644 index 00000000000..faf9fd7ee71 --- /dev/null +++ b/include/color.h @@ -0,0 +1,14 @@ +#ifndef __WINE_COLOR_H +#define __WINE_COLOR_H + +#include "gdi.h" + +extern HPALETTE COLOR_Init(void); +extern int COLOR_ToPhysical( DC *dc, COLORREF color ); +extern void COLOR_SetMapping( DC *dc, HANDLE, WORD ); +extern BOOL COLOR_IsSolid( COLORREF color ); + +extern Colormap COLOR_WinColormap; +extern int COLOR_mapEGAPixel[16]; + +#endif /* __WINE_COLOR_H */ diff --git a/include/comm.h b/include/comm.h index 785a7b71eaa..af2d3f012ae 100644 --- a/include/comm.h +++ b/include/comm.h @@ -1,13 +1,6 @@ -/* - * Communications header - * - * 93 Erik Bos (erik@trashcan.hacktic.nl) - */ - #ifndef COMM_H #define COMM_H - #define MAX_PORTS 16 struct DosDeviceStruct { @@ -19,4 +12,7 @@ struct DosDeviceStruct { int baudrate; }; +extern void Comm_Init(void); +extern void Comm_DeInit(void); + #endif /* COMM_H */ diff --git a/include/cursor.h b/include/cursor.h index c70df90728d..a65f9654dd8 100644 --- a/include/cursor.h +++ b/include/cursor.h @@ -4,6 +4,8 @@ * Copyright Martin Ayotte, 1993 * */ +#ifndef __WINE_CURSOR_H +#define __WINE_CURSOR_H typedef struct { BYTE Width; @@ -25,3 +27,6 @@ typedef struct { Cursor xcursor; } CURSORALLOC; +extern void CURSOR_SetWinCursor( HWND hwnd, HCURSOR hcursor ); /* cursor.c */ + +#endif /* __WINE_CURSOR_H */ diff --git a/include/dc.h b/include/dc.h new file mode 100644 index 00000000000..5723fa87627 --- /dev/null +++ b/include/dc.h @@ -0,0 +1,13 @@ +#ifndef __WINE_DC_H +#define __WINE_DC_H + +#include "gdi.h" + +extern void DC_InitDC( HDC hdc ); +extern int DC_SetupGCForBrush( DC * dc ); +extern int DC_SetupGCForPen( DC * dc ); +extern int DC_SetupGCForText( DC * dc ); + +extern const int DC_XROPfunction[]; + +#endif /* __WINE_DC_H */ diff --git a/include/debug.h b/include/debug.h index 6bdc132c63a..61713cef8d1 100644 --- a/include/debug.h +++ b/include/debug.h @@ -1,7 +1,7 @@ #include #define stddeb stdout -#define stdnimp stderr +#define stdnimp stdout /* Do not remove this line or change anything below this line */ @@ -59,9 +59,11 @@ #undef DEBUG_PROP #undef DEBUG_REG #undef DEBUG_REGION +#undef DEBUG_RELAY #undef DEBUG_RESOURCE #undef DEBUG_SCROLL #undef DEBUG_SELECTORS +#undef DEBUG_STACK #undef DEBUG_STRESS #undef DEBUG_SYSCOLOR #undef DEBUG_TASK @@ -126,9 +128,11 @@ #define DEBUG_PROP #define DEBUG_REG #define DEBUG_REGION +#define DEBUG_RELAY #define DEBUG_RESOURCE #define DEBUG_SCROLL #define DEBUG_SELECTORS +#define DEBUG_STACK #define DEBUG_STRESS #define DEBUG_SYSCOLOR #define DEBUG_TASK @@ -407,6 +411,11 @@ short debug_msg_enabled[]={ #else 0, #endif +#ifdef DEBUG_RELAY + 1, +#else + 0, +#endif #ifdef DEBUG_RESOURCE 1, #else @@ -422,6 +431,11 @@ short debug_msg_enabled[]={ #else 0, #endif +#ifdef DEBUG_STACK + 1, +#else + 0, +#endif #ifdef DEBUG_STRESS 1, #else @@ -471,641 +485,859 @@ extern short debug_msg_enabled[]; #ifdef DEBUG_RUNTIME #define dprintf_accel if(debug_msg_enabled[0]) fprintf +#define debugging_accel debug_msg_enabled[0] #else #ifdef DEBUG_ACCEL #define dprintf_accel fprintf +#define debugging_accel 1 #else #define dprintf_accel +#define debugging_accel 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_bitmap if(debug_msg_enabled[1]) fprintf +#define debugging_bitmap debug_msg_enabled[1] #else #ifdef DEBUG_BITMAP #define dprintf_bitmap fprintf +#define debugging_bitmap 1 #else #define dprintf_bitmap +#define debugging_bitmap 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_callback if(debug_msg_enabled[2]) fprintf +#define debugging_callback debug_msg_enabled[2] #else #ifdef DEBUG_CALLBACK #define dprintf_callback fprintf +#define debugging_callback 1 #else #define dprintf_callback +#define debugging_callback 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_caret if(debug_msg_enabled[3]) fprintf +#define debugging_caret debug_msg_enabled[3] #else #ifdef DEBUG_CARET #define dprintf_caret fprintf +#define debugging_caret 1 #else #define dprintf_caret +#define debugging_caret 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_catch if(debug_msg_enabled[4]) fprintf +#define debugging_catch debug_msg_enabled[4] #else #ifdef DEBUG_CATCH #define dprintf_catch fprintf +#define debugging_catch 1 #else #define dprintf_catch +#define debugging_catch 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_cdaudio if(debug_msg_enabled[5]) fprintf +#define debugging_cdaudio debug_msg_enabled[5] #else #ifdef DEBUG_CDAUDIO #define dprintf_cdaudio fprintf +#define debugging_cdaudio 1 #else #define dprintf_cdaudio +#define debugging_cdaudio 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_class if(debug_msg_enabled[6]) fprintf +#define debugging_class debug_msg_enabled[6] #else #ifdef DEBUG_CLASS #define dprintf_class fprintf +#define debugging_class 1 #else #define dprintf_class +#define debugging_class 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_clipboard if(debug_msg_enabled[7]) fprintf +#define debugging_clipboard debug_msg_enabled[7] #else #ifdef DEBUG_CLIPBOARD #define dprintf_clipboard fprintf +#define debugging_clipboard 1 #else #define dprintf_clipboard +#define debugging_clipboard 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_clipping if(debug_msg_enabled[8]) fprintf +#define debugging_clipping debug_msg_enabled[8] #else #ifdef DEBUG_CLIPPING #define dprintf_clipping fprintf +#define debugging_clipping 1 #else #define dprintf_clipping +#define debugging_clipping 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_combo if(debug_msg_enabled[9]) fprintf +#define debugging_combo debug_msg_enabled[9] #else #ifdef DEBUG_COMBO #define dprintf_combo fprintf +#define debugging_combo 1 #else #define dprintf_combo +#define debugging_combo 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_comm if(debug_msg_enabled[10]) fprintf +#define debugging_comm debug_msg_enabled[10] #else #ifdef DEBUG_COMM #define dprintf_comm fprintf +#define debugging_comm 1 #else #define dprintf_comm +#define debugging_comm 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_cursor if(debug_msg_enabled[11]) fprintf +#define debugging_cursor debug_msg_enabled[11] #else #ifdef DEBUG_CURSOR #define dprintf_cursor fprintf +#define debugging_cursor 1 #else #define dprintf_cursor +#define debugging_cursor 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_dc if(debug_msg_enabled[12]) fprintf +#define debugging_dc debug_msg_enabled[12] #else #ifdef DEBUG_DC #define dprintf_dc fprintf +#define debugging_dc 1 #else #define dprintf_dc +#define debugging_dc 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_dialog if(debug_msg_enabled[13]) fprintf +#define debugging_dialog debug_msg_enabled[13] #else #ifdef DEBUG_DIALOG #define dprintf_dialog fprintf +#define debugging_dialog 1 #else #define dprintf_dialog +#define debugging_dialog 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_dll if(debug_msg_enabled[14]) fprintf +#define debugging_dll debug_msg_enabled[14] #else #ifdef DEBUG_DLL #define dprintf_dll fprintf +#define debugging_dll 1 #else #define dprintf_dll +#define debugging_dll 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_dosfs if(debug_msg_enabled[15]) fprintf +#define debugging_dosfs debug_msg_enabled[15] #else #ifdef DEBUG_DOSFS #define dprintf_dosfs fprintf +#define debugging_dosfs 1 #else #define dprintf_dosfs +#define debugging_dosfs 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_driver if(debug_msg_enabled[16]) fprintf +#define debugging_driver debug_msg_enabled[16] #else #ifdef DEBUG_DRIVER #define dprintf_driver fprintf +#define debugging_driver 1 #else #define dprintf_driver +#define debugging_driver 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_edit if(debug_msg_enabled[17]) fprintf +#define debugging_edit debug_msg_enabled[17] #else #ifdef DEBUG_EDIT #define dprintf_edit fprintf +#define debugging_edit 1 #else #define dprintf_edit +#define debugging_edit 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_enum if(debug_msg_enabled[18]) fprintf +#define debugging_enum debug_msg_enabled[18] #else #ifdef DEBUG_ENUM #define dprintf_enum fprintf +#define debugging_enum 1 #else #define dprintf_enum +#define debugging_enum 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_event if(debug_msg_enabled[19]) fprintf +#define debugging_event debug_msg_enabled[19] #else #ifdef DEBUG_EVENT #define dprintf_event fprintf +#define debugging_event 1 #else #define dprintf_event +#define debugging_event 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_exec if(debug_msg_enabled[20]) fprintf +#define debugging_exec debug_msg_enabled[20] #else #ifdef DEBUG_EXEC #define dprintf_exec fprintf +#define debugging_exec 1 #else #define dprintf_exec +#define debugging_exec 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_file if(debug_msg_enabled[21]) fprintf +#define debugging_file debug_msg_enabled[21] #else #ifdef DEBUG_FILE #define dprintf_file fprintf +#define debugging_file 1 #else #define dprintf_file +#define debugging_file 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_fixup if(debug_msg_enabled[22]) fprintf +#define debugging_fixup debug_msg_enabled[22] #else #ifdef DEBUG_FIXUP #define dprintf_fixup fprintf +#define debugging_fixup 1 #else #define dprintf_fixup +#define debugging_fixup 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_font if(debug_msg_enabled[23]) fprintf +#define debugging_font debug_msg_enabled[23] #else #ifdef DEBUG_FONT #define dprintf_font fprintf +#define debugging_font 1 #else #define dprintf_font +#define debugging_font 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_gdi if(debug_msg_enabled[24]) fprintf +#define debugging_gdi debug_msg_enabled[24] #else #ifdef DEBUG_GDI #define dprintf_gdi fprintf +#define debugging_gdi 1 #else #define dprintf_gdi +#define debugging_gdi 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_graphics if(debug_msg_enabled[25]) fprintf +#define debugging_graphics debug_msg_enabled[25] #else #ifdef DEBUG_GRAPHICS #define dprintf_graphics fprintf +#define debugging_graphics 1 #else #define dprintf_graphics +#define debugging_graphics 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_heap if(debug_msg_enabled[26]) fprintf +#define debugging_heap debug_msg_enabled[26] #else #ifdef DEBUG_HEAP #define dprintf_heap fprintf +#define debugging_heap 1 #else #define dprintf_heap +#define debugging_heap 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_icon if(debug_msg_enabled[27]) fprintf +#define debugging_icon debug_msg_enabled[27] #else #ifdef DEBUG_ICON #define dprintf_icon fprintf +#define debugging_icon 1 #else #define dprintf_icon +#define debugging_icon 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_int if(debug_msg_enabled[28]) fprintf +#define debugging_int debug_msg_enabled[28] #else #ifdef DEBUG_INT #define dprintf_int fprintf +#define debugging_int 1 #else #define dprintf_int +#define debugging_int 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_key if(debug_msg_enabled[29]) fprintf +#define debugging_key debug_msg_enabled[29] #else #ifdef DEBUG_KEY #define dprintf_key fprintf +#define debugging_key 1 #else #define dprintf_key +#define debugging_key 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_keyboard if(debug_msg_enabled[30]) fprintf +#define debugging_keyboard debug_msg_enabled[30] #else #ifdef DEBUG_KEYBOARD #define dprintf_keyboard fprintf +#define debugging_keyboard 1 #else #define dprintf_keyboard +#define debugging_keyboard 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_ldt if(debug_msg_enabled[31]) fprintf +#define debugging_ldt debug_msg_enabled[31] #else #ifdef DEBUG_LDT #define dprintf_ldt fprintf +#define debugging_ldt 1 #else #define dprintf_ldt +#define debugging_ldt 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_listbox if(debug_msg_enabled[32]) fprintf +#define debugging_listbox debug_msg_enabled[32] #else #ifdef DEBUG_LISTBOX #define dprintf_listbox fprintf +#define debugging_listbox 1 #else #define dprintf_listbox +#define debugging_listbox 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_mci if(debug_msg_enabled[33]) fprintf +#define debugging_mci debug_msg_enabled[33] #else #ifdef DEBUG_MCI #define dprintf_mci fprintf +#define debugging_mci 1 #else #define dprintf_mci +#define debugging_mci 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_mcianim if(debug_msg_enabled[34]) fprintf +#define debugging_mcianim debug_msg_enabled[34] #else #ifdef DEBUG_MCIANIM #define dprintf_mcianim fprintf +#define debugging_mcianim 1 #else #define dprintf_mcianim +#define debugging_mcianim 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_mciwave if(debug_msg_enabled[35]) fprintf +#define debugging_mciwave debug_msg_enabled[35] #else #ifdef DEBUG_MCIWAVE #define dprintf_mciwave fprintf +#define debugging_mciwave 1 #else #define dprintf_mciwave +#define debugging_mciwave 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_mdi if(debug_msg_enabled[36]) fprintf +#define debugging_mdi debug_msg_enabled[36] #else #ifdef DEBUG_MDI #define dprintf_mdi fprintf +#define debugging_mdi 1 #else #define dprintf_mdi +#define debugging_mdi 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_menu if(debug_msg_enabled[37]) fprintf +#define debugging_menu debug_msg_enabled[37] #else #ifdef DEBUG_MENU #define dprintf_menu fprintf +#define debugging_menu 1 #else #define dprintf_menu +#define debugging_menu 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_menucalc if(debug_msg_enabled[38]) fprintf +#define debugging_menucalc debug_msg_enabled[38] #else #ifdef DEBUG_MENUCALC #define dprintf_menucalc fprintf +#define debugging_menucalc 1 #else #define dprintf_menucalc +#define debugging_menucalc 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_message if(debug_msg_enabled[39]) fprintf +#define debugging_message debug_msg_enabled[39] #else #ifdef DEBUG_MESSAGE #define dprintf_message fprintf +#define debugging_message 1 #else #define dprintf_message +#define debugging_message 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_metafile if(debug_msg_enabled[40]) fprintf +#define debugging_metafile debug_msg_enabled[40] #else #ifdef DEBUG_METAFILE #define dprintf_metafile fprintf +#define debugging_metafile 1 #else #define dprintf_metafile +#define debugging_metafile 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_midi if(debug_msg_enabled[41]) fprintf +#define debugging_midi debug_msg_enabled[41] #else #ifdef DEBUG_MIDI #define dprintf_midi fprintf +#define debugging_midi 1 #else #define dprintf_midi +#define debugging_midi 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_mmio if(debug_msg_enabled[42]) fprintf +#define debugging_mmio debug_msg_enabled[42] #else #ifdef DEBUG_MMIO #define dprintf_mmio fprintf +#define debugging_mmio 1 #else #define dprintf_mmio +#define debugging_mmio 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_mmtime if(debug_msg_enabled[43]) fprintf +#define debugging_mmtime debug_msg_enabled[43] #else #ifdef DEBUG_MMTIME #define dprintf_mmtime fprintf +#define debugging_mmtime 1 #else #define dprintf_mmtime +#define debugging_mmtime 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_module if(debug_msg_enabled[44]) fprintf +#define debugging_module debug_msg_enabled[44] #else #ifdef DEBUG_MODULE #define dprintf_module fprintf +#define debugging_module 1 #else #define dprintf_module +#define debugging_module 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_msg if(debug_msg_enabled[45]) fprintf +#define debugging_msg debug_msg_enabled[45] #else #ifdef DEBUG_MSG #define dprintf_msg fprintf +#define debugging_msg 1 #else #define dprintf_msg +#define debugging_msg 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_msgbox if(debug_msg_enabled[46]) fprintf +#define debugging_msgbox debug_msg_enabled[46] #else #ifdef DEBUG_MSGBOX #define dprintf_msgbox fprintf +#define debugging_msgbox 1 #else #define dprintf_msgbox +#define debugging_msgbox 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_nonclient if(debug_msg_enabled[47]) fprintf +#define debugging_nonclient debug_msg_enabled[47] #else #ifdef DEBUG_NONCLIENT #define dprintf_nonclient fprintf +#define debugging_nonclient 1 #else #define dprintf_nonclient +#define debugging_nonclient 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_palette if(debug_msg_enabled[48]) fprintf +#define debugging_palette debug_msg_enabled[48] #else #ifdef DEBUG_PALETTE #define dprintf_palette fprintf +#define debugging_palette 1 #else #define dprintf_palette +#define debugging_palette 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_profile if(debug_msg_enabled[49]) fprintf +#define debugging_profile debug_msg_enabled[49] #else #ifdef DEBUG_PROFILE #define dprintf_profile fprintf +#define debugging_profile 1 #else #define dprintf_profile +#define debugging_profile 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_prop if(debug_msg_enabled[50]) fprintf +#define debugging_prop debug_msg_enabled[50] #else #ifdef DEBUG_PROP #define dprintf_prop fprintf +#define debugging_prop 1 #else #define dprintf_prop +#define debugging_prop 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_reg if(debug_msg_enabled[51]) fprintf +#define debugging_reg debug_msg_enabled[51] #else #ifdef DEBUG_REG #define dprintf_reg fprintf +#define debugging_reg 1 #else #define dprintf_reg +#define debugging_reg 0 #endif #endif #ifdef DEBUG_RUNTIME #define dprintf_region if(debug_msg_enabled[52]) fprintf +#define debugging_region debug_msg_enabled[52] #else #ifdef DEBUG_REGION #define dprintf_region fprintf +#define debugging_region 1 #else #define dprintf_region +#define debugging_region 0 +#endif +#endif + +#ifdef DEBUG_RUNTIME +#define dprintf_relay if(debug_msg_enabled[53]) fprintf +#define debugging_relay debug_msg_enabled[53] +#else +#ifdef DEBUG_RELAY +#define dprintf_relay fprintf +#define debugging_relay 1 +#else +#define dprintf_relay +#define debugging_relay 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_resource if(debug_msg_enabled[53]) fprintf +#define dprintf_resource if(debug_msg_enabled[54]) fprintf +#define debugging_resource debug_msg_enabled[54] #else #ifdef DEBUG_RESOURCE #define dprintf_resource fprintf +#define debugging_resource 1 #else #define dprintf_resource +#define debugging_resource 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_scroll if(debug_msg_enabled[54]) fprintf +#define dprintf_scroll if(debug_msg_enabled[55]) fprintf +#define debugging_scroll debug_msg_enabled[55] #else #ifdef DEBUG_SCROLL #define dprintf_scroll fprintf +#define debugging_scroll 1 #else #define dprintf_scroll +#define debugging_scroll 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_selectors if(debug_msg_enabled[55]) fprintf +#define dprintf_selectors if(debug_msg_enabled[56]) fprintf +#define debugging_selectors debug_msg_enabled[56] #else #ifdef DEBUG_SELECTORS #define dprintf_selectors fprintf +#define debugging_selectors 1 #else #define dprintf_selectors +#define debugging_selectors 0 +#endif +#endif + +#ifdef DEBUG_RUNTIME +#define dprintf_stack if(debug_msg_enabled[57]) fprintf +#define debugging_stack debug_msg_enabled[57] +#else +#ifdef DEBUG_STACK +#define dprintf_stack fprintf +#define debugging_stack 1 +#else +#define dprintf_stack +#define debugging_stack 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_stress if(debug_msg_enabled[56]) fprintf +#define dprintf_stress if(debug_msg_enabled[58]) fprintf +#define debugging_stress debug_msg_enabled[58] #else #ifdef DEBUG_STRESS #define dprintf_stress fprintf +#define debugging_stress 1 #else #define dprintf_stress +#define debugging_stress 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_syscolor if(debug_msg_enabled[57]) fprintf +#define dprintf_syscolor if(debug_msg_enabled[59]) fprintf +#define debugging_syscolor debug_msg_enabled[59] #else #ifdef DEBUG_SYSCOLOR #define dprintf_syscolor fprintf +#define debugging_syscolor 1 #else #define dprintf_syscolor +#define debugging_syscolor 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_task if(debug_msg_enabled[58]) fprintf +#define dprintf_task if(debug_msg_enabled[60]) fprintf +#define debugging_task debug_msg_enabled[60] #else #ifdef DEBUG_TASK #define dprintf_task fprintf +#define debugging_task 1 #else #define dprintf_task +#define debugging_task 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_text if(debug_msg_enabled[59]) fprintf +#define dprintf_text if(debug_msg_enabled[61]) fprintf +#define debugging_text debug_msg_enabled[61] #else #ifdef DEBUG_TEXT #define dprintf_text fprintf +#define debugging_text 1 #else #define dprintf_text +#define debugging_text 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_timer if(debug_msg_enabled[60]) fprintf +#define dprintf_timer if(debug_msg_enabled[62]) fprintf +#define debugging_timer debug_msg_enabled[62] #else #ifdef DEBUG_TIMER #define dprintf_timer fprintf +#define debugging_timer 1 #else #define dprintf_timer +#define debugging_timer 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_utility if(debug_msg_enabled[61]) fprintf +#define dprintf_utility if(debug_msg_enabled[63]) fprintf +#define debugging_utility debug_msg_enabled[63] #else #ifdef DEBUG_UTILITY #define dprintf_utility fprintf +#define debugging_utility 1 #else #define dprintf_utility +#define debugging_utility 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_win if(debug_msg_enabled[62]) fprintf +#define dprintf_win if(debug_msg_enabled[64]) fprintf +#define debugging_win debug_msg_enabled[64] #else #ifdef DEBUG_WIN #define dprintf_win fprintf +#define debugging_win 1 #else #define dprintf_win +#define debugging_win 0 #endif #endif #ifdef DEBUG_RUNTIME -#define dprintf_winsock if(debug_msg_enabled[63]) fprintf +#define dprintf_winsock if(debug_msg_enabled[65]) fprintf +#define debugging_winsock debug_msg_enabled[65] #else #ifdef DEBUG_WINSOCK #define dprintf_winsock fprintf +#define debugging_winsock 1 #else #define dprintf_winsock +#define debugging_winsock 0 #endif #endif @@ -1166,9 +1398,11 @@ static char *debug_msg_name[] = { "prop", "reg", "region", + "relay", "resource", "scroll", "selectors", + "stack", "stress", "syscolor", "task", diff --git a/include/dialog.h b/include/dialog.h index 1c9cf342840..ad4b9de5a47 100644 --- a/include/dialog.h +++ b/include/dialog.h @@ -9,6 +9,11 @@ #include "windows.h" +extern BOOL DIALOG_Init(void); +extern HWND DIALOG_GetFirstTabItem( HWND hwndDlg ); +extern int DialogBoxIndirectPtr( HINSTANCE hInst, LPCSTR dlgTemplate, + HWND owner, WNDPROC dlgProc); + #pragma pack(1) /* Dialog info structure. diff --git a/include/dos_fs.h b/include/dos_fs.h new file mode 100644 index 00000000000..79b5ce4ed1d --- /dev/null +++ b/include/dos_fs.h @@ -0,0 +1,35 @@ +#ifndef __WINE_DOS_FS_H +#define __WINE_DOS_FS_H + +#include + +extern void DOS_InitFS(void); +extern WORD DOS_GetEquipment(void); +extern int DOS_ValidDrive(int drive); +extern int DOS_GetDefaultDrive(void); +extern void DOS_SetDefaultDrive(int drive); +extern void ToUnix(char *s); +extern void ToDos(char *s); +extern void ChopOffSlash(char *string); +extern int DOS_DisableDrive(int drive); +extern int DOS_EnableDrive(int drive); +extern char *DOS_GetUnixFileName(char *dosfilename); +extern char *DOS_GetDosFileName(char *unixfilename); +extern char *DOS_GetCurrentDir(int drive); +extern int DOS_ChangeDir(int drive, char *dirname); +extern int DOS_MakeDir(int drive, char *dirname); +extern int DOS_GetSerialNumber(int drive, unsigned long *serialnumber); +extern int DOS_SetSerialNumber(int drive, unsigned long serialnumber); +extern char *DOS_GetVolumeLabel(int drive); +extern int DOS_SetVolumeLabel(int drive, char *label); +extern int DOS_GetFreeSpace(int drive, long *size, long *available); +extern char *DOS_FindFile(char *buffer, int buflen, char *rootname, char **extensions, char *path); +extern char *WineIniFileName(void); +extern char *WinIniFileName(void); +extern struct dosdirent *DOS_opendir(char *dosdirname); +extern struct dosdirent *DOS_readdir(struct dosdirent *de); +extern void DOS_closedir(struct dosdirent *de); + +extern char WindowsPath[256]; + +#endif /* __WINE_DOS_FS_H */ diff --git a/include/event.h b/include/event.h new file mode 100644 index 00000000000..0d1689f5b26 --- /dev/null +++ b/include/event.h @@ -0,0 +1,7 @@ +#ifndef __WINE_EVENT_H +#define __WINE_EVENT_H + +extern void EVENT_ProcessEvent( XEvent *event ); /* event.c */ +extern void EVENT_RegisterWindow( Window w, HWND hwnd ); /* event.c */ + +#endif /* __WINE_EVENT_H */ diff --git a/include/font.h b/include/font.h new file mode 100644 index 00000000000..40c24d6066f --- /dev/null +++ b/include/font.h @@ -0,0 +1,8 @@ +#ifndef __WINE_FONT_H +#define __WINE_FONT_H + +extern void Font_Init( void ); +extern int FONT_GetObject( FONTOBJ * font, int count, LPSTR buffer ); +extern HFONT FONT_SelectObject( DC * dc, HFONT hfont, FONTOBJ * font ); + +#endif /* __WINE_FONT_H */ diff --git a/include/gdi.h b/include/gdi.h index b6890357246..6aae216d9ce 100644 --- a/include/gdi.h +++ b/include/gdi.h @@ -299,6 +299,7 @@ extern MDESC *GDI_Heap; #endif +extern BOOL GDI_Init(void); extern HANDLE GDI_AllocObject( WORD, WORD ); extern BOOL GDI_FreeObject( HANDLE ); extern GDIOBJHDR * GDI_GetObjPtr( HANDLE, WORD ); @@ -307,5 +308,6 @@ extern Display * display; extern Screen * screen; extern Window rootWindow; extern int screenWidth, screenHeight, screenDepth; +extern int desktopX, desktopY; /* misc/main.c */ #endif /* GDI_H */ diff --git a/include/graphics.h b/include/graphics.h new file mode 100644 index 00000000000..a9580f53b6f --- /dev/null +++ b/include/graphics.h @@ -0,0 +1,9 @@ +#ifndef __WINE_GRAPHICS_H +#define __WINE_GRAPHICS_H + +extern void GRAPH_DrawReliefRect( HDC hdc, RECT *rect, int highlight_size, + int shadow_size, BOOL pressed ); +extern BOOL GRAPH_DrawBitmap( HDC hdc, HBITMAP hbitmap, int xdest, int ydest, + int xsrc, int ysrc, int width, int height, int rop ); + +#endif /* __WINE_GRAPHICS */ diff --git a/include/heap.h b/include/heap.h index ff4321a14fc..fd234de9c47 100644 --- a/include/heap.h +++ b/include/heap.h @@ -35,11 +35,24 @@ extern void *HEAP_Alloc(MDESC **free_list, int flags, int bytes); extern int HEAP_Free(MDESC **free_list, void *block); extern void *HEAP_ReAlloc(MDESC **free_list, void *old_block, int new_size, unsigned int flags); + extern LHEAP *HEAP_LocalFindHeap(unsigned short owner); extern unsigned int HEAP_LocalSize(MDESC **free_list, unsigned int handle); extern void HEAP_LocalInit(unsigned short owner, void *start, int length); +extern void *WIN16_LocalAlloc(int flags, int bytes); +extern int WIN16_LocalCompact(int min_free); +extern unsigned int WIN16_LocalFlags(unsigned int handle); +extern unsigned int WIN16_LocalFree(unsigned int handle); +extern void *WIN16_LocalLock(unsigned int handle); +extern void *WIN16_LocalReAlloc(unsigned int handle, int flags, int bytes); +extern unsigned int WIN16_LocalUnlock(unsigned int handle); + +#if 0 #define HEAP_OWNER (Segments[Stack16Frame[11] >> 3].owner) +#endif +/* Use ds instead of owner of cs */ +#define HEAP_OWNER Stack16Frame[6] #define LOCALHEAP() (&HEAP_LocalFindHeap(HEAP_OWNER)->free_list) #define LOCALATOMTABLE() (&HEAP_LocalFindHeap(HEAP_OWNER)->local_table) diff --git a/include/if1632.h b/include/if1632.h new file mode 100644 index 00000000000..1cf76376a78 --- /dev/null +++ b/include/if1632.h @@ -0,0 +1,19 @@ +#ifndef __WINE_IF1632_H +#define __WINE_IF1632_H + +#include + +extern int CallToInit16(unsigned long csip, unsigned long sssp, + unsigned short ds); +extern int CallTo16cx(unsigned long csip, unsigned long dscx); +extern int CallToDllEntry(unsigned long csip, unsigned long dscx, unsigned short di); +extern int CallBack16(void *func, int n_args, ...); +extern void *CALLBACK_MakeProcInstance(void *func, int instance); +extern void CallLineDDAProc(FARPROC func, short xPos, short yPos, long lParam); +extern void winestat(void); +extern int DLLRelay(unsigned int func_num, unsigned int seg_off); +extern struct dll_table_entry_s *FindDLLTable(char *dll_name); +extern int FindOrdinalFromName(struct dll_table_entry_s *dll_table, char *func_name); +extern int ReturnArg(int arg); + +#endif /* __WINE_IF1632_H */ diff --git a/include/kernel.h b/include/kernel.h new file mode 100644 index 00000000000..f8bf0f55d0a --- /dev/null +++ b/include/kernel.h @@ -0,0 +1,4 @@ +extern int KERNEL_LockSegment(int segment); +extern int KERNEL_UnlockSegment(int segment); +extern KERNEL_InitTask(void); +extern int KERNEL_WaitEvent(int task); diff --git a/include/library.h b/include/library.h new file mode 100644 index 00000000000..e161d669fb8 --- /dev/null +++ b/include/library.h @@ -0,0 +1,14 @@ +#ifndef __WINE_LIBRARY_H +#define __WINE_LIBRARY_H + +extern HINSTANCE hInstMain; +extern HINSTANCE hSysRes; +extern struct w_files *GetFileInfo(unsigned short instance); +extern int IsDLLLoaded(char *name); +extern void InitDLL(struct w_files *wpnt); +extern void InitializeLoadedDLLs(struct w_files *wpnt); +extern HINSTANCE LoadImage(char *module, int filetype, int change_dir); + +extern struct dll_name_table_entry_s dll_builtin_table[]; + +#endif /* __WINE_LIBRARY_H */ diff --git a/include/listbox.h b/include/listbox.h index 70009436c7a..1e56b7f8d3d 100644 --- a/include/listbox.h +++ b/include/listbox.h @@ -14,8 +14,8 @@ typedef LISTSTRUCT FAR* LPLISTSTRUCT; typedef struct tagHEADLIST { - short FirstVisible; - short ItemsCount; + UINT FirstVisible; + UINT ItemsCount; short ItemsVisible; short ColumnsVisible; short ItemsPerColumn; diff --git a/include/mdi.h b/include/mdi.h index 40f43990b52..73ebb4d459f 100644 --- a/include/mdi.h +++ b/include/mdi.h @@ -11,6 +11,9 @@ #include "windows.h" #define MDI_MAXLISTLENGTH 64 +extern LONG MDIClientWndProc(HWND hwnd, WORD message, + WORD wParam, LONG lParam); /* mdi.c */ + typedef struct mdi_child_info_s { diff --git a/include/menu.h b/include/menu.h index fad8bb1f6bf..d471eec163c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -8,6 +8,15 @@ #define MENU_MAGIC 0x554d /* 'MU' */ +extern BOOL MENU_Init(void); +extern WORD MENU_GetMenuBarHeight( HWND hwnd, WORD menubarWidth, + int orgX, int orgY ); /* menu.c */ +extern void MENU_TrackMouseMenuBar( HWND hwnd, POINT pt ); /* menu.c */ +extern void MENU_TrackKbdMenuBar( HWND hwnd, WORD wParam ); /* menu.c */ +extern WORD MENU_DrawMenuBar( HDC hDC, LPRECT lprect, + HWND hwnd, BOOL suppress_draw ); /* menu.c */ +extern HMENU CopySysMenu(); /* menu.c */ + typedef struct tagMENUITEM { diff --git a/include/miscemu.h b/include/miscemu.h new file mode 100644 index 00000000000..a24bfae84a2 --- /dev/null +++ b/include/miscemu.h @@ -0,0 +1,25 @@ +#ifndef __WINE_MISCEMU_H +#define __WINE_MISCEMU_H + +extern int do_int10(struct sigcontext_struct *); +extern int do_int13(struct sigcontext_struct *); +extern int do_int15(struct sigcontext_struct *); +extern int do_int16(struct sigcontext_struct *); +extern int do_int1a(struct sigcontext_struct *); +extern int do_int21(struct sigcontext_struct *); +extern int do_int25(struct sigcontext_struct *); +extern int do_int26(struct sigcontext_struct *); +extern int do_int2a(struct sigcontext_struct *); +extern int do_int2f(struct sigcontext_struct *); +extern int do_int31(struct sigcontext_struct *); + +extern void inportb(struct sigcontext_struct *context); +extern void inport(struct sigcontext_struct *context); +extern void outportb(struct sigcontext_struct *context); +extern void outport(struct sigcontext_struct *context); + +extern void IntBarf(int i, struct sigcontext_struct *context); + +extern void INT21_Init(void); + +#endif /* __WINE_MISCEMU_H */ diff --git a/include/msdos.h b/include/msdos.h index 0529883d223..31bf3fb1159 100644 --- a/include/msdos.h +++ b/include/msdos.h @@ -1,7 +1,9 @@ #ifndef __MSDOS_H #define __MSDOS_H + #include #include +#include "comm.h" struct dosdirent { int inuse; @@ -30,6 +32,10 @@ struct fcb { #define DOSVERSION 0x0330; #define MAX_DOS_DRIVES 26 +extern WORD ExtendedError; +extern struct DosDeviceStruct COM[MAX_PORTS]; +extern struct DosDeviceStruct LPT[MAX_PORTS]; + #define segment(a) ((DWORD)(a) >> 16) #define offset(a) ((DWORD)(a) & 0xffff) diff --git a/include/ne_image.h b/include/ne_image.h new file mode 100644 index 00000000000..df893364365 --- /dev/null +++ b/include/ne_image.h @@ -0,0 +1,10 @@ +#ifndef __WINE_NE_IMAGE_H +#define __WINE_NE_IMAGE_H + +extern int NE_FixupSegment(struct w_files *wpnt, int segment_num); +extern int NE_unloadImage(struct w_files *wpnt); +extern int NE_StartProgram(struct w_files *wpnt); +extern void NE_InitDLL(struct w_files *wpnt); +extern HINSTANCE NE_LoadImage(struct w_files *wpnt); + +#endif /* __WINE_NE_IMAGE_H */ diff --git a/include/nonclient.h b/include/nonclient.h new file mode 100644 index 00000000000..87bc71ef403 --- /dev/null +++ b/include/nonclient.h @@ -0,0 +1,13 @@ +#ifndef __WINE_NONCLIENT_H +#define __WINE_NONCLIENT_H + +extern LONG NC_HandleNCPaint( HWND hwnd, HRGN hrgn ); +extern LONG NC_HandleNCActivate( HWND hwnd, WORD wParam ); +extern LONG NC_HandleNCCalcSize( HWND hwnd, NCCALCSIZE_PARAMS *params ); +extern LONG NC_HandleNCHitTest( HWND hwnd, POINT pt ); +extern LONG NC_HandleNCLButtonDown( HWND hwnd, WORD wParam, LONG lParam ); +extern LONG NC_HandleNCLButtonDblClk( HWND hwnd, WORD wParam, LONG lParam ); +extern LONG NC_HandleSysCommand( HWND hwnd, WORD wParam, POINT pt ); +extern LONG NC_HandleSetCursor( HWND hwnd, WORD wParam, LONG lParam ); + +#endif /* __WINE_NONCLIENT_H */ diff --git a/include/options.h b/include/options.h index e8bed9f32c6..317f9c1c9b0 100644 --- a/include/options.h +++ b/include/options.h @@ -16,7 +16,6 @@ struct options int synchronous; /* X synchronous mode */ int backingstore; /* Use backing store */ short cmdShow; - int relay_debug; int debug; }; diff --git a/include/pe_image.h b/include/pe_image.h new file mode 100644 index 00000000000..525960359f5 --- /dev/null +++ b/include/pe_image.h @@ -0,0 +1,10 @@ +#ifndef __WINE_PE_IMAGE_H +#define __WINE_PE_IMAGE_H + +extern int PE_unloadImage(struct w_files *wpnt); +extern int PE_StartProgram(struct w_files *wpnt); +extern void PE_InitDLL(struct w_files *wpnt); +extern HINSTANCE PE_LoadImage(struct w_files *wpnt); +extern void my_wcstombs(char * result, u_short * source, int len); + +#endif /* __WINE_PE_IMAGE_H */ diff --git a/include/prototypes.h b/include/prototypes.h dissimilarity index 72% index 2b94d25d2ee..ebde9cdd910 100644 --- a/include/prototypes.h +++ b/include/prototypes.h @@ -1,216 +1,81 @@ -/* $Id: prototypes.h,v 1.3 1993/07/04 04:04:21 root Exp root $ - */ -/* - * Copyright Robert J. Amstadt, 1993 - */ -#ifndef _WINE_PROTOTYPES_H -#define _WINE_PROTOTYPES_H - -#include - -#include "neexe.h" -#include "segmem.h" -#include "wine.h" -#include "heap.h" -#include "msdos.h" -#include "windows.h" - -#ifndef WINELIB - -/* loader/dump.c */ - -extern void PrintFileHeader(struct ne_header_s *ne_header); -extern void PrintSegmentTable(struct ne_segment_table_entry_s *seg_table, - int nentries); -extern void PrintRelocationTable(char *exe_ptr, - struct ne_segment_table_entry_s *seg_entry_p, - int segment); - -/* loader/ldtlib.c */ - -struct segment_descriptor * -make_sd(unsigned base, unsigned limit, int contents, int read_exec_only, int seg32, int inpgs); -int get_ldt(void *buffer); -int set_ldt_entry(int entry, unsigned long base, unsigned int limit, - int seg_32bit_flag, int contents, int read_only_flag, - int limit_in_pages_flag); - -/* loader/resource.c */ - -extern int OpenResourceFile(HANDLE instance); -extern HBITMAP ConvertCoreBitmap( HDC hdc, BITMAPCOREHEADER * image ); -extern HBITMAP ConvertInfoBitmap( HDC hdc, BITMAPINFO * image ); - -/* loader/selector.c */ - -extern int FindUnusedSelectors(int n_selectors); -extern int IPCCopySelector(int i_old, unsigned long new, int swap_type); -extern WORD AllocSelector(WORD old_selector); -extern unsigned int PrestoChangoSelector(unsigned src_selector, unsigned dst_selector); -extern WORD AllocDStoCSAlias(WORD ds_selector); -extern WORD FreeSelector(WORD sel); -extern SEGDESC *CreateNewSegments(int code_flag, int read_only, int length, - int n_segments); -extern SEGDESC *GetNextSegment(unsigned int flags, unsigned int limit); -extern unsigned int GetEntryDLLName(char *dll_name, char *function, int *sel, - int *addr); -extern unsigned int GetEntryDLLOrdinal(char *dll_name, int ordinal, int *sel, - int *addr); - -/* loader/signal.c */ - -extern int init_wine_signals(void); - -/* loader/wine.c */ - -extern void myerror(const char *s); -extern void load_mz_header (int, struct mz_header_s *); -extern void load_ne_header (int, struct ne_header_s *); - -extern char *GetFilenameFromInstance(unsigned short instance); -extern HINSTANCE LoadImage(char *modulename, int filetype, int change_dir); -extern int _WinMain(int argc, char **argv); -extern void InitializeLoadedDLLs(); - -/* if1632/relay.c */ - -extern int CallBack16(void *func, int n_args, ...); -extern void *CALLBACK_MakeProcInstance(void *func, int instance); -extern void CallLineDDAProc(FARPROC func, short xPos, short yPos, long lParam); -extern void winestat(void); - -/* if1632/callback.c */ - -extern int DLLRelay(unsigned int func_num, unsigned int seg_off); -extern struct dll_table_entry_s *FindDLLTable(char *dll_name); -extern int FindOrdinalFromName(struct dll_table_entry_s *dll_table, char *func_name); -extern int ReturnArg(int arg); - -/* miscemu/int1a.c */ - -extern do_int1A(struct sigcontext_struct *context); - -/* miscemu/int21.c */ - -extern do_int21(struct sigcontext_struct *context); - -/* miscemu/kernel.c */ - -extern int KERNEL_LockSegment(int segment); -extern int KERNEL_UnlockSegment(int segment); -extern KERNEL_InitTask(); -extern int KERNEL_WaitEvent(int task); - -/* misc/comm.c */ - -void Comm_Init(void); -void Comm_DeInit(void); - -/* misc/dos_fs.c */ - -extern void DOS_InitFS(void); -extern WORD DOS_GetEquipment(void); -extern int DOS_ValidDrive(int drive); -extern int DOS_GetDefaultDrive(void); -extern void DOS_SetDefaultDrive(int drive); -extern void ToUnix(char *s); -extern void ToDos(char *s); -extern void ChopOffSlash(char *string); -extern int DOS_DisableDrive(int drive); -extern int DOS_EnableDrive(int drive); -extern char *GetUnixFileName(char *dosfilename); -extern char *DOS_GetCurrentDir(int drive); -extern int DOS_ChangeDir(int drive, char *dirname); -extern int DOS_MakeDir(int drive, char *dirname); -extern int DOS_GetSerialNumber(int drive, unsigned long *serialnumber); -extern int DOS_SetSerialNumber(int drive, unsigned long serialnumber); -extern char *DOS_GetVolumeLabel(int drive); -extern int DOS_SetVolumeLabel(int drive, char *label); -extern int DOS_GetFreeSpace(int drive, long *size, long *available); -extern char *FindFile(char *buffer, int buflen, char *rootname, char **extensions, char *path); -extern char *WineIniFileName(void); -extern char *WinIniFileName(void); -extern struct dosdirent *DOS_opendir(char *dosdirname); -extern struct dosdirent *DOS_readdir(struct dosdirent *de); -extern void DOS_closedir(struct dosdirent *de); - -/* misc/profile.c */ - -extern void sync_profiles(void); - -/* misc/spy.c */ - -extern void SpyInit(void); - -/* controls/desktop.c */ - -extern BOOL DESKTOP_SetPattern(char *pattern); - -/* controls/widget.c */ - -extern BOOL WIDGETS_Init(void); - -/* memory/heap.c */ - -extern void HEAP_Init(MDESC **free_list, void *start, int length); -extern void *HEAP_Alloc(MDESC **free_list, int flags, int bytes); -extern void *HEAP_ReAlloc(MDESC **free_list, void *old_block, int new_size, unsigned int flags); -extern int HEAP_Free(MDESC **free_list, void *block); -extern LHEAP *HEAP_LocalFindHeap(unsigned short owner); -extern void HEAP_LocalInit(unsigned short owner, void *start, int length); -extern void *WIN16_LocalAlloc(int flags, int bytes); -extern int WIN16_LocalCompact(int min_free); -extern unsigned int WIN16_LocalFlags(unsigned int handle); -extern unsigned int WIN16_LocalFree(unsigned int handle); -extern unsigned int WIN16_LocalInit(unsigned int segment, unsigned int start, unsigned int end); -extern void *WIN16_LocalLock(unsigned int handle); -extern void *WIN16_LocalReAlloc(unsigned int handle, int flags, int bytes); -extern unsigned int WIN16_LocalSize(unsigned int handle); -extern unsigned int WIN16_LocalUnlock(unsigned int handle); - -/* objects/bitmaps.c */ - -extern BOOL BITMAP_Init(void); - -/* objects/color.c */ - -extern BOOL COLOR_Init(void); - -/* objects/dib.c */ - -extern int DIB_BitmapInfoSize(BITMAPINFO *info, WORD coloruse); - -/* objects/gdiobj.c */ - -extern BOOL GDI_Init(void); - -/* objects/palette.c */ - -extern BOOL PALETTE_Init(void); - -/* objects/region.c */ - -extern BOOL REGION_Init(void); - -/* windows/graphic.c */ - -extern void DrawReliefRect(HDC hdc, RECT rect, int thickness, BOOL pressed); - -/* windows/dce.c */ - -extern void DCE_Init(void); - -/* windows/dialog.c */ - -extern BOOL DIALOG_Init(void); - -/* windows/syscolor.c */ - -extern void SYSCOLOR_Init(void); - -/* windows/sysmetrics.c */ - -extern void SYSMETRICS_Init(void); - -#endif /* WINELIB */ -#endif /* _WINE_PROTOTYPES_H */ +/* $Id: prototypes.h,v 1.3 1993/07/04 04:04:21 root Exp root $ + */ +/* + * Copyright Robert J. Amstadt, 1993 + */ +#ifndef _WINE_PROTOTYPES_H +#define _WINE_PROTOTYPES_H + +#include + +#include "neexe.h" +#include "segmem.h" +#include "heap.h" +#include "msdos.h" +#include "windows.h" + +#ifndef WINELIB + +/* loader/ldtlib.c */ + +struct segment_descriptor * +make_sd(unsigned base, unsigned limit, int contents, int read_exec_only, int seg32, int inpgs); +int get_ldt(void *buffer); +int set_ldt_entry(int entry, unsigned long base, unsigned int limit, + int seg_32bit_flag, int contents, int read_only_flag, + int limit_in_pages_flag); + +/* loader/resource.c */ + +extern HBITMAP ConvertCoreBitmap( HDC hdc, BITMAPCOREHEADER * image ); +extern HBITMAP ConvertInfoBitmap( HDC hdc, BITMAPINFO * image ); + +/* loader/signal.c */ + +extern int init_wine_signals(void); +extern void wine_debug(int signal, int * regs); + +/* loader/wine.c */ + +extern void myerror(const char *s); + +extern char *GetFilenameFromInstance(unsigned short instance); +extern HINSTANCE LoadImage(char *modulename, int filetype, int change_dir); +extern int _WinMain(int argc, char **argv); +extern void InitializeLoadedDLLs(); + +extern int KERNEL_LockSegment(int segment); +extern int KERNEL_UnlockSegment(int segment); +extern void KERNEL_InitTask(void); +extern int KERNEL_WaitEvent(int task); + +/* misc/spy.c */ + +extern void SpyInit(void); + +/* controls/widget.c */ + +extern BOOL WIDGETS_Init(void); + +/* objects/dib.c */ + +extern int DIB_BitmapInfoSize(BITMAPINFO *info, WORD coloruse); + +/* objects/palette.c */ + +extern BOOL PALETTE_Init(void); + +/* objects/region.c */ + +extern BOOL REGION_Init(void); + +/* windows/graphic.c */ + +extern void DrawReliefRect(HDC hdc, RECT rect, int thickness, BOOL pressed); + +/* windows/dce.c */ + +extern void DCE_Init(void); + +#endif /* WINELIB */ +#endif /* _WINE_PROTOTYPES_H */ diff --git a/include/registers.h b/include/registers.h index 26a7774d194..ce06a0fed05 100644 --- a/include/registers.h +++ b/include/registers.h @@ -29,8 +29,8 @@ #define ES context->sc_es #define SS context->sc_ss -#define DI context->sc_edi -#define SI context->sc_esi +#define DI ((WORD)context->sc_edi) +#define SI ((WORD)context->sc_esi) #define SP context->sc_esp #ifndef __FreeBSD__ #define EFL context->sc_eflags diff --git a/include/scroll.h b/include/scroll.h index f80eefdfdb2..681d4d1b5f7 100644 --- a/include/scroll.h +++ b/include/scroll.h @@ -20,7 +20,8 @@ typedef struct } SCROLLINFO; extern LONG ScrollBarWndProc( HWND hwnd, WORD uMsg, WORD wParam, LONG lParam ); - extern void SCROLL_DrawScrollBar( HWND hwnd, HDC hdc, int nBar ); +extern void SCROLL_HandleScrollEvent( HWND hwnd, int nBar, + WORD msg, POINT pt); /* scroll.c */ #endif /* SCROLL_H */ diff --git a/include/selectors.h b/include/selectors.h new file mode 100644 index 00000000000..aac6fa904c6 --- /dev/null +++ b/include/selectors.h @@ -0,0 +1,25 @@ +#ifndef __WINE_SELECTORS_H +#define __WINE_SELECTORS_H + +#include "dlls.h" + +extern int FindUnusedSelectors(int n_selectors); +extern int IPCCopySelector(int i_old, unsigned long new, int swap_type); +extern WORD AllocSelector(WORD old_selector); +extern unsigned int PrestoChangoSelector(unsigned src_selector, unsigned dst_selector); +extern WORD AllocDStoCSAlias(WORD ds_selector); +extern SEGDESC *CreateSelectors(struct w_files * wpnt); +extern WORD FreeSelector(WORD sel); + +extern SEGDESC *CreateNewSegments(int code_flag, int read_only, int length, + int n_segments); +extern SEGDESC *GetNextSegment(unsigned int flags, unsigned int limit); + +extern unsigned int GetEntryDLLName(char *dll_name, char *function, int *sel, + int *addr); +extern unsigned int GetEntryDLLOrdinal(char *dll_name, int ordinal, int *sel, + int *addr); +extern unsigned int GetEntryPointFromOrdinal(struct w_files * wpnt, + int ordinal); + +#endif /* __WINE_SELECTORS_H */ diff --git a/include/stddebug.h b/include/stddebug.h index 7c5ccbfb8d6..48348c4d212 100644 --- a/include/stddebug.h +++ b/include/stddebug.h @@ -129,9 +129,11 @@ #undef DEBUG_PROP #undef DEBUG_REG #undef DEBUG_REGION +#undef DEBUG_RELAY #undef DEBUG_RESOURCE #undef DEBUG_SCROLL #undef DEBUG_SELECTORS +#undef DEBUG_STACK #undef DEBUG_STRESS #undef DEBUG_SYSCOLOR #undef DEBUG_TASK @@ -196,9 +198,11 @@ #define DEBUG_PROP #define DEBUG_REG #define DEBUG_REGION +#define DEBUG_RELAY #define DEBUG_RESOURCE #define DEBUG_SCROLL #define DEBUG_SELECTORS +#define DEBUG_STACK #define DEBUG_STRESS #define DEBUG_SYSCOLOR #define DEBUG_TASK diff --git a/include/syscolor.h b/include/syscolor.h index 70014487cf2..0144953729a 100644 --- a/include/syscolor.h +++ b/include/syscolor.h @@ -34,6 +34,7 @@ struct SysColorObjects HBRUSH hbrushBtnHighlight; /* COLOR_BTNHIGHLIGHT */ }; +extern void SYSCOLOR_Init(void); extern struct SysColorObjects sysColorObjects; #endif /* SYSCOLOR_H */ diff --git a/include/sysmetrics.h b/include/sysmetrics.h index 186d2138875..f9e73e7b07c 100644 --- a/include/sysmetrics.h +++ b/include/sysmetrics.h @@ -48,8 +48,7 @@ #define SYSMETRICS_CYDOUBLECLK sysMetrics[SM_CYDOUBLECLK] #define SYSMETRICS_MENUDROPALIGNMENT sysMetrics[SM_MENUDROPALIGNMENT] - +extern void SYSMETRICS_Init(void); extern short sysMetrics[SM_CMETRICS]; - #endif diff --git a/include/win.h b/include/win.h index 8e093bafe1c..d47cb2c2bfc 100644 --- a/include/win.h +++ b/include/win.h @@ -72,6 +72,7 @@ Window WIN_GetXWindow( HWND hwnd ); BOOL WIN_UnlinkWindow( HWND hwnd ); BOOL WIN_LinkWindow( HWND hwnd, HWND hwndInsertAfter ); HWND WIN_FindWinToRepaint( HWND hwnd ); +BOOL WIN_CreateDesktopWindow(void); BOOL WINPOS_IsAnActiveWindow( HWND hwnd ); void WINPOS_ActivateChild( HWND hwnd ); diff --git a/include/windows.h b/include/windows.h index d4ef6e12f8d..cb60ce0c4eb 100644 --- a/include/windows.h +++ b/include/windows.h @@ -3,87 +3,14 @@ #ifndef WINDOWS_H #define WINDOWS_H -#ifndef _WINARGS - -typedef short INT; -typedef unsigned short UINT; -typedef unsigned short WORD; -typedef unsigned long DWORD; -typedef unsigned short BOOL; -typedef unsigned char BYTE; -typedef long LONG; -typedef UINT WPARAM; -typedef LONG LPARAM; -typedef LONG LRESULT; -typedef WORD HANDLE; -typedef DWORD HHOOK; -typedef char *LPSTR; -typedef const char *LPCSTR; -typedef char *NPSTR; -typedef INT *LPINT; -typedef UINT *LPUINT; -typedef WORD *LPWORD; -typedef DWORD *LPDWORD; -typedef LONG *LPLONG; -typedef void *LPVOID; -typedef long (*FARPROC)(); -typedef FARPROC DLGPROC; -typedef int CATCHBUF[9]; -typedef int *LPCATCHBUF; -typedef FARPROC HOOKPROC; -#define DECLARE_HANDLE(a) typedef HANDLE a; - -DECLARE_HANDLE(HTASK); -DECLARE_HANDLE(HDRVR); -DECLARE_HANDLE(HWND); -DECLARE_HANDLE(HDC); -DECLARE_HANDLE(HCLASS); -DECLARE_HANDLE(HCURSOR); -DECLARE_HANDLE(HFONT); -DECLARE_HANDLE(HPEN); -DECLARE_HANDLE(HRGN); -DECLARE_HANDLE(HPALETTE); -DECLARE_HANDLE(HICON); -DECLARE_HANDLE(HINSTANCE); -DECLARE_HANDLE(HMENU); -DECLARE_HANDLE(HBITMAP); -DECLARE_HANDLE(HBRUSH); -DECLARE_HANDLE(LOCALHANDLE); -DECLARE_HANDLE(HMETAFILE); -DECLARE_HANDLE(HDWP); - -#define TRUE 1 -#define FALSE 0 -#define CW_USEDEFAULT ((INT)0x8000) -#define FAR -#define NEAR -#define PASCAL -#define VOID void -#define WINAPI PASCAL -#define CALLBACK PASCAL -#ifndef NULL -#define NULL (void *)0 -#endif - -#define LOBYTE(w) ((BYTE)(w)) -#define HIBYTE(w) ((BYTE)((UINT)(w) >> 8)) - -#define LOWORD(l) ((WORD)(l)) -#define HIWORD(l) ((WORD)((DWORD)(l) >> 16)) - -#define MAKELONG(low, high) ((LONG)(((WORD)(low)) | \ - (((DWORD)((WORD)(high))) << 16))) - -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif - -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif +#include +#pragma pack(1) -typedef struct { INT x, y; } POINT; +typedef struct { + INT x; + INT y; +} POINT; typedef POINT *PPOINT; typedef POINT *NPPOINT; typedef POINT *LPPOINT; @@ -116,13 +43,6 @@ typedef PAINTSTRUCT *PPAINTSTRUCT; typedef PAINTSTRUCT *NPPAINTSTRUCT; typedef PAINTSTRUCT *LPPAINTSTRUCT; -#ifdef WINELIB -#define WINE_PACKED -#else -#define WINE_PACKED __attribute__ ((packed)) -#endif - -#pragma pack(1) /* Window classes */ @@ -2363,7 +2283,6 @@ typedef METAFILEPICT *LPMETAFILEPICT; #define Fn(ret,name,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13,t14,a14) ret name(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14); int wsprintf(LPSTR a,LPSTR b,...); -#endif /* Implemented functions */ diff --git a/include/wine.h b/include/wine.h index cc2ef88ff54..cf7dfdc5792 100644 --- a/include/wine.h +++ b/include/wine.h @@ -32,21 +32,16 @@ struct sigcontext_struct { unsigned long oldmask; unsigned long cr2; }; -#endif - -#ifdef linux #define WINE_DATA_SELECTOR 0x2b #define WINE_CODE_SELECTOR 0x23 #endif -#if defined(__NetBSD__) || defined(__FreeBSD__) -#define WINE_DATA_SELECTOR 0x27 -#define WINE_CODE_SELECTOR 0x1f -#endif #if defined(__NetBSD__) || defined(__FreeBSD__) #include #define sigcontext_struct sigcontext #define HZ 100 +#define WINE_DATA_SELECTOR 0x27 +#define WINE_CODE_SELECTOR 0x1f #endif #endif /* WINE_H */ diff --git a/include/winpos.h b/include/winpos.h index 837a5b3d9dc..0d58c532df5 100644 --- a/include/winpos.h +++ b/include/winpos.h @@ -9,6 +9,15 @@ #define DWP_MAGIC 0x5057 /* 'WP' */ +extern HWND WINPOS_ChangeActiveWindow( HWND hwnd, BOOL mouseMsg ); /*winpos.c*/ +extern void WINPOS_GetMinMaxInfo( HWND hwnd, POINT *maxSize, POINT *maxPos, + POINT *minTrack, POINT *maxTrack ); /* winpos.c */ +extern LONG WINPOS_SendNCCalcSize( HWND hwnd, BOOL calcValidRect, + RECT *newWindowRect, RECT *oldWindowRect, + RECT *oldClientRect, WINDOWPOS *winpos, + RECT *newClientRect ); /* winpos.c */ +extern LONG WINPOS_HandleWindowPosChanging( WINDOWPOS *winpos ); /* winpos.c */ + typedef struct { WORD actualCount; diff --git a/include/wintypes.h b/include/wintypes.h new file mode 100644 index 00000000000..da99fed7d5c --- /dev/null +++ b/include/wintypes.h @@ -0,0 +1,92 @@ +#ifndef __WINE_WINTYPES_H +#define __WINE_WINTYPES_H + +typedef short INT; +typedef unsigned short UINT; +typedef unsigned short WORD; +typedef unsigned long DWORD; +typedef unsigned short BOOL; +typedef unsigned char BYTE; +typedef long LONG; +typedef UINT WPARAM; +typedef LONG LPARAM; +typedef LONG LRESULT; +typedef WORD HANDLE; +typedef DWORD HHOOK; +typedef char *LPSTR; +typedef const char *LPCSTR; +typedef char *NPSTR; +typedef INT *LPINT; +typedef UINT *LPUINT; +typedef WORD *LPWORD; +typedef DWORD *LPDWORD; +typedef LONG *LPLONG; +typedef void *LPVOID; +typedef long (*FARPROC)(); +typedef FARPROC DLGPROC; +typedef int CATCHBUF[9]; +typedef int *LPCATCHBUF; +typedef FARPROC HOOKPROC; + +#define DECLARE_HANDLE(a) typedef HANDLE a; + +DECLARE_HANDLE(HTASK); +DECLARE_HANDLE(HDRVR); +DECLARE_HANDLE(HWND); +DECLARE_HANDLE(HDC); +DECLARE_HANDLE(HCLASS); +DECLARE_HANDLE(HCURSOR); +DECLARE_HANDLE(HFONT); +DECLARE_HANDLE(HPEN); +DECLARE_HANDLE(HRGN); +DECLARE_HANDLE(HPALETTE); +DECLARE_HANDLE(HICON); +DECLARE_HANDLE(HINSTANCE); +DECLARE_HANDLE(HMENU); +DECLARE_HANDLE(HBITMAP); +DECLARE_HANDLE(HBRUSH); +DECLARE_HANDLE(LOCALHANDLE); +DECLARE_HANDLE(HMETAFILE); +DECLARE_HANDLE(HDWP); +DECLARE_HANDLE(HDROP); + +#define TRUE 1 +#define FALSE 0 +#define CW_USEDEFAULT ((INT)0x8000) +#define FAR +#define NEAR +#define PASCAL +#define VOID void +#define WINAPI PASCAL +#define CALLBACK PASCAL + +#ifndef NULL +#define NULL (void *)0 +#endif + +#ifdef WINELIB +#define WINE_PACKED +#else +#define WINE_PACKED __attribute__ ((packed)) +#endif + +#pragma pack(1) + +#define LOBYTE(w) ((BYTE)(w)) +#define HIBYTE(w) ((BYTE)((UINT)(w) >> 8)) + +#define LOWORD(l) ((WORD)(l)) +#define HIWORD(l) ((WORD)((DWORD)(l) >> 16)) + +#define MAKELONG(low, high) ((LONG)(((WORD)(low)) | \ + (((DWORD)((WORD)(high))) << 16))) + +#ifndef max +#define max(a,b) (((a) > (b)) ? (a) : (b)) +#endif + +#ifndef min +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#endif + +#endif /* __WINE_WINTYPES_H */ diff --git a/loader/dump.c b/loader/dump.c index 1cf84fa6995..c811e440870 100644 --- a/loader/dump.c +++ b/loader/dump.c @@ -1,7 +1,8 @@ #ifndef WINELIB +/* static char RCSId[] = "$Id: dump.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; - +*/ #include #include #include diff --git a/loader/ldt.c b/loader/ldt.c index 0fd4c0082aa..45b6ae43aa6 100644 --- a/loader/ldt.c +++ b/loader/ldt.c @@ -1,6 +1,8 @@ #ifndef WINELIB +/* static char RCSId[] = "$Id: ldt.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #include #include diff --git a/loader/ldtlib.c b/loader/ldtlib.c index 45465605aaa..eb13508f152 100644 --- a/loader/ldtlib.c +++ b/loader/ldtlib.c @@ -1,13 +1,13 @@ #ifndef WINELIB +/* static char RCSId[] = "$Id: ldtlib.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #include #include #include #include "stddebug.h" -/* #define DEBUG_LDT */ -/* #undef DEBUG_LDT */ #include "debug.h" #ifdef linux diff --git a/loader/library.c b/loader/library.c index 3b13860e5b5..6d7e9736860 100644 --- a/loader/library.c +++ b/loader/library.c @@ -1,7 +1,7 @@ /* * Module & Library functions - */ static char Copyright[] = "Copyright 1993, 1994 Martin Ayotte, Robert J. Amstadt, Erik Bos"; +*/ #include #include @@ -13,24 +13,21 @@ static char Copyright[] = "Copyright 1993, 1994 Martin Ayotte, Robert J. Amstadt #include "neexe.h" #include "segmem.h" #include "dlls.h" -#include "wine.h" +#include "if1632.h" #include "wineopts.h" #include "arch.h" #include "options.h" -#include "prototypes.h" +#include "dos_fs.h" #include "windows.h" #include "task.h" #include "toolhelp.h" +#include "selectors.h" #include "stddebug.h" -/* #define DEBUG_MODULE */ -/* #undef DEBUG_MODULE */ #include "debug.h" - -extern char WindowsPath[256]; -extern struct dll_name_table_entry_s dll_builtin_table[]; -extern char *GetDosFileName(char *); - -extern HANDLE hSysRes; +#include "prototypes.h" +#include "library.h" +#include "ne_image.h" +#include "pe_image.h" struct w_files *wine_files = NULL; static char *DLL_Extensions[] = { "dll", NULL }; @@ -58,8 +55,7 @@ void ExtractDLLName(char *libname, char *temp) } } -struct w_files * -GetFileInfo(unsigned short instance) +struct w_files *GetFileInfo(unsigned short instance) { register struct w_files *w = wine_files; @@ -86,9 +82,9 @@ int IsDLLLoaded(char *name) void InitDLL(struct w_files *wpnt) { if (wpnt->ne) - InitNEDLL(wpnt); + NE_InitDLL(wpnt); else - InitPEDLL(wpnt); + PE_InitDLL(wpnt); } void InitializeLoadedDLLs(struct w_files *wpnt) @@ -154,7 +150,7 @@ HINSTANCE LoadImage(char *module, int filetype, int change_dir) /* * search file */ - fullname = FindFile(buffer, sizeof(buffer), module, + fullname = DOS_FindFile(buffer, sizeof(buffer), module, (filetype == EXE ? EXE_Extensions : DLL_Extensions), WindowsPath); if (fullname == NULL) @@ -164,7 +160,7 @@ HINSTANCE LoadImage(char *module, int filetype, int change_dir) return 2; } - fullname = GetDosFileName(fullname); + fullname = DOS_GetDosFileName(fullname); dprintf_module(stddeb,"LoadImage: loading %s (%s)\n [%s]\n", module, buffer, fullname); @@ -225,7 +221,7 @@ HINSTANCE LoadImage(char *module, int filetype, int change_dir) /* * Stick this file into the list of loaded files so we don't try to reload * it again if another module references this module. Do this before - * calling loadNEImage because we might get back here before loadNEImage + * calling NE_LoadImage because we might get back here before NE_loadImage * returns. */ if(wine_files == NULL) @@ -239,9 +235,9 @@ HINSTANCE LoadImage(char *module, int filetype, int change_dir) wpnt->next = NULL; if (header[0] == 'N' && header[1] == 'E') - handle = LoadNEImage(wpnt); + handle = NE_LoadImage(wpnt); if (header[0] == 'P' && header[1] == 'E') - handle = LoadPEImage(wpnt); + handle = PE_LoadImage(wpnt); wpnt->hinstance = handle; if (handle > 32) { @@ -365,7 +361,7 @@ int GetModuleFileName(HANDLE hModule, LPSTR lpFileName, short nSize) /* check loaded dlls */ if ((w = GetFileInfo(hModule)) == NULL) return 0; - str = GetDosFileName(w->filename); + str = DOS_GetDosFileName(w->filename); if (nSize > strlen(str)) nSize = strlen(str) + 1; strncpy(lpFileName, str, nSize); dprintf_module(stddeb,"GetModuleFileName copied '%s' return %d \n", lpFileName, nSize); @@ -406,9 +402,9 @@ void FreeLibrary(HANDLE hLib) if (lpMod->Count == 1) { wpnt = GetFileInfo(hLib); if (wpnt->ne) - NEunloadImage(wpnt); + NE_UnloadImage(wpnt); else - PEunloadImage(wpnt); + PE_UnloadImage(wpnt); if (hLib != (HANDLE)NULL) GlobalFree(hLib); if (lpMod->ModuleName != NULL) free(lpMod->ModuleName); if (lpMod->FileName != NULL) free(lpMod->FileName); diff --git a/loader/main.c b/loader/main.c index 5721a52e169..10dd8836ee4 100644 --- a/loader/main.c +++ b/loader/main.c @@ -1,6 +1,7 @@ +/* static char RCSId[] = "$Id: wine.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; - +*/ #include #include #include @@ -11,26 +12,24 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include "neexe.h" #include "segmem.h" -#include "prototypes.h" +#include "dos_fs.h" #include "dlls.h" -#include "wine.h" +#include "library.h" #include "windows.h" #include "wineopts.h" -#include "arch.h" +#include "dos_fs.h" #include "task.h" +#include "prototypes.h" #include "options.h" +#include "if1632.h" +#include "ne_image.h" +#include "pe_image.h" #include "stddebug.h" -/* #define DEBUG_DLL */ -/* #undef DEBUG_DLL */ #include "debug.h" - -char *GetDosFileName(char *unixfilename); -extern char WindowsPath[256]; - char **Argv; int Argc; -HINSTANCE hSysRes; +HINSTANCE hSysRes, hInstMain; unsigned short WIN_StackSize; unsigned short WIN_HeapSize; @@ -55,8 +54,8 @@ myerror(const char *s) int _WinMain(int argc, char **argv) { char *p, filename[256]; - HANDLE hTaskMain; - HINSTANCE hInstMain; + HANDLE hTaskMain; + struct w_files *wpnt; #ifdef WINESTAT char * cp; @@ -73,11 +72,11 @@ int _WinMain(int argc, char **argv) filename[p - Argv[0]] = '\0'; strcat(WindowsPath, ";"); if (strchr(filename, '/')) - strcat(WindowsPath, GetDosFileName(filename)); + strcat(WindowsPath, DOS_GetDosFileName(filename)); else strcat(WindowsPath, filename); } - + if ((hInstMain = LoadImage(Argv[0], EXE, 1)) < 32) { fprintf(stderr, "wine: can't load %s!.\n", Argv[0]); exit(1); @@ -97,6 +96,7 @@ int _WinMain(int argc, char **argv) dprintf_dll(stddeb,"System Resources Loaded // hSysRes='%04X'\n", hSysRes); + #ifdef WINESTAT cp = strrchr(argv[0], '/'); if(!cp) cp = argv[0]; @@ -117,9 +117,9 @@ int _WinMain(int argc, char **argv) wine_debug(0, NULL); if (wpnt->ne) - StartNEprogram(wpnt); + return(NE_StartProgram(wpnt)); else - StartPEprogram(wpnt); + return(PE_StartProgram(wpnt)); } #endif /* #ifndef WINELIB */ diff --git a/loader/ne_image.c b/loader/ne_image.c index 8cf62a9ffe6..9e10ae924de 100644 --- a/loader/ne_image.c +++ b/loader/ne_image.c @@ -1,6 +1,7 @@ +/* static char RCSId[] = "$Id: wine.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; - +*/ #include #include #include @@ -8,180 +9,63 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include #include -#ifdef linux -#include -#include -#include -#endif #include #include #include "neexe.h" #include "segmem.h" -#include "prototypes.h" #include "dlls.h" -#include "wine.h" #include "windows.h" -#include "wineopts.h" #include "arch.h" -#include "options.h" +#include "library.h" +#include "if1632.h" +#include "selectors.h" +#include "ne_image.h" +#include "prototypes.h" #include "stddebug.h" #include "debug.h" -extern HANDLE CreateNewTask(HINSTANCE hInst); -extern void InitializeLoadedDLLs(struct w_files *wpnt); -extern int CallToInit16(unsigned long csip, unsigned long sssp, - unsigned short ds); -extern int CallTo16cx(unsigned long csip, unsigned long dscx); -extern void CallTo32(); -extern char WindowsPath[256]; extern unsigned short WIN_StackSize; extern unsigned short WIN_HeapSize; -int FixupSegment(struct w_files *, int); void FixupFunctionPrologs(struct w_files *); -char *GetModuleName(struct w_files * wpnt, int index, char *buffer); - -#ifndef WINELIB - -/**********************************************************************/ - -void load_ne_header (int fd, struct ne_header_s *ne_header) -{ - if (read(fd, ne_header, sizeof(struct ne_header_s)) - != sizeof(struct ne_header_s)) - { - myerror("Unable to read NE header from file"); - } -} -#endif /********************************************************************** - * LoadNEImage - * Load one NE format executable into memory + * GetImportedName */ -HINSTANCE LoadNEImage(struct w_files *wpnt) +static +char *NE_GetImportedName(struct w_files *wpnt, int name_offset, char *buffer) { - unsigned int read_size, status, segment; - int i; - - wpnt->ne = malloc(sizeof(struct ne_data)); - wpnt->ne->resnamtab = NULL; - wpnt->ne->ne_header = malloc(sizeof(struct ne_header_s)); - lseek(wpnt->fd, wpnt->mz_header->ne_offset, SEEK_SET); - load_ne_header(wpnt->fd, wpnt->ne->ne_header); + BYTE length; -#ifndef WINELIB - /* - * Create segment selectors. - */ - status = lseek(wpnt->fd, wpnt->mz_header->ne_offset + - wpnt->ne->ne_header->segment_tab_offset, - SEEK_SET); - read_size = wpnt->ne->ne_header->n_segment_tab * - sizeof(struct ne_segment_table_entry_s); - wpnt->ne->seg_table = (struct ne_segment_table_entry_s *) malloc(read_size); - if (read(wpnt->fd, wpnt->ne->seg_table, read_size) != read_size) - myerror("Unable to read segment table header from file"); - wpnt->ne->selector_table = CreateSelectors(wpnt); - wpnt->hinstance = (wpnt->ne-> - selector_table[wpnt->ne->ne_header->auto_data_seg-1]. - selector); -#endif - /* Get the lookup table. This is used for looking up the addresses - of functions that are exported */ - - read_size = wpnt->ne->ne_header->entry_tab_length; - wpnt->ne->lookup_table = (char *) malloc(read_size); lseek(wpnt->fd, wpnt->mz_header->ne_offset + - wpnt->ne->ne_header->entry_tab_offset, SEEK_SET); - if (read(wpnt->fd, wpnt->ne->lookup_table, read_size) != read_size) - myerror("Unable to read lookup table header from file"); - - /* Get the iname table. This is used for looking up the names - of functions that are exported */ - - status = lseek(wpnt->fd, wpnt->ne->ne_header->nrname_tab_offset, SEEK_SET); - read_size = wpnt->ne->ne_header->nrname_tab_length; - wpnt->ne->nrname_table = (char *) malloc(read_size); - if (read(wpnt->fd, wpnt->ne->nrname_table, read_size) != read_size) - myerror("Unable to read nrname table header from file"); - - status = lseek(wpnt->fd, wpnt->mz_header->ne_offset + - wpnt->ne->ne_header->rname_tab_offset, SEEK_SET); - read_size = wpnt->ne->ne_header->moduleref_tab_offset - - wpnt->ne->ne_header->rname_tab_offset; - wpnt->ne->rname_table = (char *) malloc(read_size); - if (read(wpnt->fd, wpnt->ne->rname_table, read_size) != read_size) - myerror("Unable to read rname table header from file"); - - /* - * Now load any DLLs that this module refers to. - */ - for(i=0; ine->ne_header->n_mod_ref_tab; i++) - { - char buff[14]; - GetModuleName(wpnt, i + 1, buff); - - if (strcasecmp(buff, wpnt->name) != 0 ) - LoadImage(buff, DLL, 0); - } -#ifndef WINELIB - /* fixup references */ - - for (segment = 0; segment < wpnt->ne->ne_header->n_segment_tab; segment++) - if (FixupSegment(wpnt, segment) < 0) - myerror("fixup failed."); - - FixupFunctionPrologs(wpnt); - InitializeLoadedDLLs(wpnt); -#endif - return(wpnt->hinstance); -} - -/********************************************************************** - * GetImportedName - */ -char * -GetImportedName(int fd, struct mz_header_s *mz_header, - struct ne_header_s *ne_header, int name_offset, char *buffer) -{ - int length; - int status; - - status = lseek(fd, mz_header->ne_offset + ne_header->iname_tab_offset + - name_offset, SEEK_SET); - length = 0; - read(fd, &length, 1); /* Get the length byte */ - length = CONV_CHAR_TO_LONG (length); - read(fd, buffer, length); + wpnt->ne->ne_header->iname_tab_offset + name_offset, SEEK_SET); + read(wpnt->fd, &length, 1); /* Get the length byte */ + read(wpnt->fd, buffer, length); buffer[length] = 0; + return buffer; } +struct w_files *current_exe; +WORD current_nodata=0xfd00; /********************************************************************** * GetModuleName */ -char * -GetModuleName(struct w_files * wpnt, int index, char *buffer) +static char *NE_GetModuleName(struct w_files *wpnt, int index, char *buffer) { - int fd = wpnt->fd; - struct mz_header_s *mz_header = wpnt->mz_header; - struct ne_header_s *ne_header = wpnt->ne->ne_header; - int length; - WORD name_offset, status; + BYTE length; + WORD name_offset; int i; - status = lseek(fd, mz_header->ne_offset + ne_header->moduleref_tab_offset + - 2*(index - 1), SEEK_SET); - name_offset = 0; - read(fd, &name_offset, 2); + lseek(wpnt->fd, wpnt->mz_header->ne_offset + + wpnt->ne->ne_header->moduleref_tab_offset + 2 * (index - 1), SEEK_SET); + read(wpnt->fd, &name_offset, 2); name_offset = CONV_SHORT (name_offset); - status = lseek(fd, mz_header->ne_offset + ne_header->iname_tab_offset + - name_offset, SEEK_SET); - length = 0; - read(fd, &length, 1); /* Get the length byte */ - length = CONV_CHAR_TO_LONG (length); - read(fd, buffer, length); + + lseek(wpnt->fd, wpnt->mz_header->ne_offset + + wpnt->ne->ne_header->iname_tab_offset + name_offset, SEEK_SET); + read(wpnt->fd, &length, 1); /* Get the length byte */ + read(wpnt->fd, buffer, length); buffer[length] = 0; /* Module names are always upper case */ @@ -191,33 +75,23 @@ GetModuleName(struct w_files * wpnt, int index, char *buffer) return buffer; } - #ifndef WINELIB /********************************************************************** - * FixupSegment + * NE_FixupSegment */ -int -FixupSegment(struct w_files * wpnt, int segment_num) +int NE_FixupSegment(struct w_files *wpnt, int segment_num) { - struct mz_header_s *mz_header = wpnt->mz_header; - struct ne_header_s *ne_header = wpnt->ne->ne_header; - struct ne_segment_table_entry_s *seg_table = wpnt->ne->seg_table; struct segment_descriptor_s *selector_table = wpnt->ne->selector_table; struct relocation_entry_s *rep, *rep1; struct ne_segment_table_entry_s *seg; struct segment_descriptor_s *sel; - int status; + int status, ordinal, i, n_entries, additive; unsigned short *sp; - unsigned int selector, address; - unsigned int next_addr; - int ordinal; - char dll_name[257]; - char func_name[257]; - int i, n_entries; - int additive; - - seg = &seg_table[segment_num]; + unsigned int selector, address, next_addr; + unsigned char dll_name[257], func_name[257]; + + seg = &wpnt->ne->seg_table[segment_num]; sel = &selector_table[segment_num]; dprintf_fixup(stddeb, "Segment fixups for %s, segment %d, selector %x\n", @@ -235,7 +109,7 @@ FixupSegment(struct w_files * wpnt, int segment_num) i = 0x10000; status = lseek(wpnt->fd, seg->seg_data_offset * - (1 << ne_header->align_shift_count) + i, SEEK_SET); + (1 << wpnt->ne->ne_header->align_shift_count) + i, SEEK_SET); n_entries = 0; read(wpnt->fd, &n_entries, sizeof(short int)); rep = (struct relocation_entry_s *) @@ -262,7 +136,7 @@ FixupSegment(struct w_files * wpnt, int segment_num) additive = 1; case NE_RELTYPE_ORDINAL: - if (GetModuleName(wpnt, rep->target1, + if (NE_GetModuleName(wpnt, rep->target1, dll_name) == NULL) { fprintf(stderr, "NE_RELTYPE_ORDINAL failed"); @@ -290,17 +164,13 @@ FixupSegment(struct w_files * wpnt, int segment_num) additive = 1; case NE_RELTYPE_NAME: - if (GetModuleName(wpnt, rep->target1, dll_name) - == NULL) - { - fprintf(stderr,"NE_RELTYPE_NAME failed"); + if (NE_GetModuleName(wpnt, rep->target1, dll_name) == NULL) { + fprintf(stderr,"NE_RELTYPE_NAME failed"); return -1; } - if (GetImportedName(wpnt->fd, mz_header, ne_header, - rep->target2, func_name) == NULL) - { - fprintf(stderr,"getimportedname failed"); + if (NE_GetImportedName(wpnt, rep->target2, func_name) == NULL) { + fprintf(stderr,"NE_getimportedname failed"); return -1; } @@ -314,9 +184,8 @@ FixupSegment(struct w_files * wpnt, int segment_num) myerror(s); return -1; } - - dprintf_fixup(stddeb,"%d: %s %s.%d: %04x:%04x\n", i + 1, - func_name, dll_name, ordinal, selector, address); +/* dprintf_fixup(stddeb,"%d: %s %s.%d: %04x:%04x\n", i + 1, + func_name, dll_name, ordinal, selector, address);*/ break; case NE_RELTYPE_INTERNAL: @@ -443,14 +312,14 @@ FixupSegment(struct w_files * wpnt, int segment_num) return 0; } -int NEunloadImage(struct w_files *wpnt) +int NE_unloadImage(struct w_files *wpnt) { dprintf_fixup(stdnimp, "NEunloadImage() called!\n"); /* free resources, image */ return 1; } -int StartNEprogram(struct w_files *wpnt) +int NE_StartProgram(struct w_files *wpnt) { int cs_reg, ds_reg, ss_reg, ip_reg, sp_reg; /* @@ -468,28 +337,37 @@ int StartNEprogram(struct w_files *wpnt) return CallToInit16(cs_reg << 16 | ip_reg, ss_reg << 16 | sp_reg, ds_reg); } -void InitNEDLL(struct w_files *wpnt) +void NE_InitDLL(struct w_files *wpnt) { - int cs_reg, ds_reg, ip_reg, cx_reg, rv; + int cs_reg, ds_reg, ip_reg, cx_reg, di_reg, rv; + extern struct w_files *current_exe; /* * Is this a library? */ if (wpnt->ne->ne_header->format_flags & 0x8000) { - if (!(wpnt->ne->ne_header->format_flags & 0x0001)) - { - /* Not SINGLEDATA */ - fprintf(stderr, "Library is not marked SINGLEDATA\n"); - exit(1); - } - - ds_reg = wpnt->ne->selector_table[wpnt->ne-> + if (!(wpnt->ne->ne_header->format_flags & 0x0001)) + if(wpnt->ne->ne_header->format_flags & NE_FFLAGS_MULTIPLEDATA + || wpnt->ne->ne_header->auto_data_seg) + { + /* Not SINGLEDATA */ + fprintf(stderr, "Library is not marked SINGLEDATA\n"); + exit(1); + } else { /* DATA NONE DLL */ + ds_reg = current_exe->ne->selector_table[ + current_exe->ne->ne_header->auto_data_seg-1].selector; + cx_reg = 0; + } else { /* DATA SINGLE DLL */ + ds_reg = wpnt->ne->selector_table[wpnt->ne-> ne_header->auto_data_seg-1].selector; - cs_reg = wpnt->ne->selector_table[wpnt->ne->ne_header->cs-1].selector; - ip_reg = wpnt->ne->ne_header->ip; - - cx_reg = wpnt->ne->ne_header->local_heap_length; - + cx_reg = wpnt->ne->ne_header->local_heap_length; + } + + cs_reg = wpnt->ne->selector_table[wpnt->ne->ne_header->cs-1].selector; + ip_reg = wpnt->ne->ne_header->ip; + + di_reg = wpnt->hinstance; + if (cs_reg) { dprintf_dll(stddeb,"Initializing %s, cs:ip %04x:%04x, ds %04x, cx %04x\n", wpnt->name, cs_reg, ip_reg, ds_reg, cx_reg); @@ -501,4 +379,101 @@ void InitNEDLL(struct w_files *wpnt) } } +/********************************************************************** + * NE_LoadImage + * Load one NE format executable into memory + */ +HINSTANCE NE_LoadImage(struct w_files *wpnt) +{ + unsigned int read_size, status, segment; + int i; + + wpnt->ne = malloc(sizeof(struct ne_data)); + wpnt->ne->resnamtab = NULL; + wpnt->ne->ne_header = malloc(sizeof(struct ne_header_s)); + + lseek(wpnt->fd, wpnt->mz_header->ne_offset, SEEK_SET); + if (read(wpnt->fd, wpnt->ne->ne_header, sizeof(struct ne_header_s)) + != sizeof(struct ne_header_s)) + myerror("Unable to read NE header from file"); + if(!(wpnt->ne->ne_header->format_flags & NE_FFLAGS_LIBMODULE)){ + if(current_exe)printf("Warning: more than one EXE\n"); + current_exe=wpnt; + } + +#ifndef WINELIB + /* + * Create segment selectors. + */ + status = lseek(wpnt->fd, wpnt->mz_header->ne_offset + + wpnt->ne->ne_header->segment_tab_offset, + SEEK_SET); + read_size = wpnt->ne->ne_header->n_segment_tab * + sizeof(struct ne_segment_table_entry_s); + wpnt->ne->seg_table = (struct ne_segment_table_entry_s *) malloc(read_size); + if (read(wpnt->fd, wpnt->ne->seg_table, read_size) != read_size) + myerror("Unable to read segment table header from file"); + wpnt->ne->selector_table = CreateSelectors(wpnt); + if(wpnt->ne->ne_header->auto_data_seg==0) + { + printf("DATA NONE DLL %s\n",wpnt->name); + wpnt->hinstance=current_nodata++; + } else + wpnt->hinstance = (wpnt->ne-> + selector_table[wpnt->ne->ne_header->auto_data_seg-1]. + selector); + if (wpnt->hinstance == 0) + wpnt->hinstance = 0xf000; +#endif + /* Get the lookup table. This is used for looking up the addresses + of functions that are exported */ + + read_size = wpnt->ne->ne_header->entry_tab_length; + wpnt->ne->lookup_table = (char *) malloc(read_size); + lseek(wpnt->fd, wpnt->mz_header->ne_offset + + wpnt->ne->ne_header->entry_tab_offset, SEEK_SET); + if (read(wpnt->fd, wpnt->ne->lookup_table, read_size) != read_size) + myerror("Unable to read lookup table header from file"); + + /* Get the iname table. This is used for looking up the names + of functions that are exported */ + + status = lseek(wpnt->fd, wpnt->ne->ne_header->nrname_tab_offset, SEEK_SET); + read_size = wpnt->ne->ne_header->nrname_tab_length; + wpnt->ne->nrname_table = (char *) malloc(read_size); + if (read(wpnt->fd, wpnt->ne->nrname_table, read_size) != read_size) + myerror("Unable to read nrname table header from file"); + + status = lseek(wpnt->fd, wpnt->mz_header->ne_offset + + wpnt->ne->ne_header->rname_tab_offset, SEEK_SET); + read_size = wpnt->ne->ne_header->moduleref_tab_offset - + wpnt->ne->ne_header->rname_tab_offset; + wpnt->ne->rname_table = (char *) malloc(read_size); + if (read(wpnt->fd, wpnt->ne->rname_table, read_size) != read_size) + myerror("Unable to read rname table header from file"); + + /* + * Now load any DLLs that this module refers to. + */ + for(i=0; ine->ne_header->n_mod_ref_tab; i++) + { + char buff[14]; + NE_GetModuleName(wpnt, i + 1, buff); + + if (strcasecmp(buff, wpnt->name) != 0 ) + LoadImage(buff, DLL, 0); + } +#ifndef WINELIB + /* fixup references */ + + for (segment = 0; segment < wpnt->ne->ne_header->n_segment_tab; segment++) + if (NE_FixupSegment(wpnt, segment) < 0) + myerror("fixup failed."); + + FixupFunctionPrologs(wpnt); + InitializeLoadedDLLs(wpnt); +#endif + return(wpnt->hinstance); +} + #endif /* !WINELIB */ diff --git a/loader/ne_resource.c b/loader/ne_resource.c index aeeab19700b..9a3e56d072a 100644 --- a/loader/ne_resource.c +++ b/loader/ne_resource.c @@ -1,6 +1,7 @@ +/* static char RCSId[] = "$Id: ne_resource.c,v 1.4 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; - +*/ #include #include #include @@ -13,6 +14,8 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include "peexe.h" #include "arch.h" #include "dlls.h" +#include "library.h" +#include "heap.h" #include "resource.h" #include "stddebug.h" #include "debug.h" diff --git a/loader/pe_image.c b/loader/pe_image.c index 78b536b1ed1..9caded6227c 100644 --- a/loader/pe_image.c +++ b/loader/pe_image.c @@ -17,6 +17,7 @@ #include "dlls.h" #include "neexe.h" #include "peexe.h" +#include "pe_image.h" #define MAP_ANONYMOUS 0x20 @@ -133,10 +134,10 @@ static void dump_table(struct w_files *wpnt) } /********************************************************************** - * LoadPEImage + * PE_LoadImage * Load one PE format executable into memory */ -HINSTANCE LoadPEImage(struct w_files *wpnt) +HINSTANCE PE_LoadImage(struct w_files *wpnt) { int i, result; @@ -159,8 +160,8 @@ HINSTANCE LoadPEImage(struct w_files *wpnt) for(i=0; i < wpnt->pe->pe_header->coff.NumberOfSections; i++) { if(!load_addr) { - result = xmmap(0, wpnt->pe->pe_seg[i].Size_Of_Raw_Data, 7, MAP_PRIVATE, - wpnt->fd, wpnt->pe->pe_seg[i].PointerToRawData); + result = xmmap((char *)0, wpnt->pe->pe_seg[i].Size_Of_Raw_Data, 7, + MAP_PRIVATE, wpnt->fd, wpnt->pe->pe_seg[i].PointerToRawData); load_addr = (unsigned int) result - wpnt->pe->pe_seg[i].Virtual_Address; } else { result = xmmap((char *) load_addr + wpnt->pe->pe_seg[i].Virtual_Address, @@ -190,20 +191,20 @@ HINSTANCE LoadPEImage(struct w_files *wpnt) return (wpnt->hinstance); } -int PEunloadImage(struct w_files *wpnt) +int PE_UnloadImage(struct w_files *wpnt) { printf("PEunloadImage() called!\n"); /* free resources, image, unmap */ return 1; } -int StartPEprogram(struct w_files *wpnt) +int PE_StartProgram(struct w_files *wpnt) { printf("StartPEprogram() called!\n"); return 0; } -void InitPEDLL(struct w_files *wpnt) +void PE_InitDLL(struct w_files *wpnt) { /* Is this a library? */ if (wpnt->pe->pe_header->coff.Characteristics & IMAGE_FILE_DLL) { diff --git a/loader/pe_resource.c b/loader/pe_resource.c index 41fa92d1c1b..9efec342488 100644 --- a/loader/pe_resource.c +++ b/loader/pe_resource.c @@ -1,5 +1,5 @@ /* - * (c) 1994 Erik Bos + * (c) 1994 Erik Bos * * based on Eric Youndale's pe-test and: * @@ -17,10 +17,10 @@ #include "neexe.h" #include "peexe.h" #include "dlls.h" +#include "pe_image.h" #include "resource.h" #include "stddebug.h" /* #define DEBUG_RESOURCE */ -/* #undef DEBUG_RESOURCE */ #include "debug.h" diff --git a/loader/resource.c b/loader/resource.c index 2c4238ba5b0..adee0cf1a08 100644 --- a/loader/resource.c +++ b/loader/resource.c @@ -1,6 +1,7 @@ +/* static char RCSId[] = "$Id: resource.c,v 1.4 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; - +*/ #include #include #include @@ -9,27 +10,22 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include #include "arch.h" -#include "prototypes.h" #include "windows.h" #include "gdi.h" -#include "wine.h" +#include "neexe.h" #include "icon.h" #include "menu.h" #include "accel.h" #include "dlls.h" #include "resource.h" +#include "library.h" #include "stddebug.h" -/* #define DEBUG_RESOURCE */ -/* #undef DEBUG_RESOURCE */ -/* #define DEBUG_ACCEL */ -/* #undef DEBUG_ACCEL */ #include "debug.h" #include "../rc/sysresbm.h" #define MIN(a,b) ((a) < (b) ? (a) : (b)) RESOURCE *Top = NULL; -extern HINSTANCE hSysRes; extern int NE_FindResource(HANDLE, LPSTR, LPSTR, RESOURCE *); extern int PE_FindResource(HANDLE, LPSTR, LPSTR, RESOURCE *); @@ -50,13 +46,13 @@ HANDLE FindResource(HANDLE instance, LPSTR name, LPSTR type) RESOURCE *r; HANDLE rh; -#ifdef DEBUG_RESOURCE + if(debugging_resource){ printf("FindResource(%04X", instance); PrintId(name); PrintId(type); printf(")\n"); -#endif - + } + if (instance == (HANDLE)NULL) instance = hSysRes; @@ -364,11 +360,11 @@ HICON LoadIcon(HANDLE instance, LPSTR icon_name) int image_size; HBITMAP hbmpOld1, hbmpOld2; -#ifdef DEBUG_RESOURCE + if(debugging_resource){ printf("LoadIcon(%04X", instance); PrintId(icon_name); printf(")\n"); -#endif + } if (!(hdc = GetDC(GetDesktopWindow()))) return 0; rsc_mem = RSC_LoadResource(instance, icon_name, (LPSTR) NE_RSCTYPE_GROUP_ICON, @@ -545,11 +541,11 @@ HANDLE LoadAccelerators(HANDLE instance, LPSTR lpTableName) ACCELHEADER *lpAccelTbl; int i, image_size, n; -#ifdef DEBUG_ACCEL + if(debugging_accel){ printf("LoadAccelerators(%04X", instance); PrintId(lpTableName); printf(")\n"); -#endif + } rsc_mem = RSC_LoadResource(instance, lpTableName, (LPSTR) NE_RSCTYPE_ACCELERATOR, &image_size); @@ -696,11 +692,11 @@ HMENU LoadMenu(HINSTANCE instance, char *menu_name) HANDLE hMenu_desc; MENU_HEADER *menu_desc; -#ifdef DEBUG_MENU + if(debugging_menu){ printf("LoadMenu(%04X", instance); PrintId(menu_name); printf(")\n"); -#endif + } if (menu_name == NULL) return 0; @@ -725,11 +721,11 @@ LoadBitmap(HANDLE instance, LPSTR bmp_name) int image_size; int size; -#ifdef DEBUG_RESOURCE + if(debugging_resource){ printf("LoadBitmap(%04X", instance); PrintId(bmp_name); printf(")\n"); -#endif + } if (!instance) { struct ResourceTable *it; @@ -737,7 +733,7 @@ LoadBitmap(HANDLE instance, LPSTR bmp_name) if (hbitmap) return hbitmap; /* Load from sysresbm */ - dprintf_resource(stddeb,"Searching for %d\n",bmp_name); + dprintf_resource(stddeb,"Searching for %d\n", (int) bmp_name); for(it=sysresbmTable;it->value;it++){ if(it->type==NE_RSCTYPE_BITMAP) if((((int)bmp_name & 0xFFFF0000) == 0)) diff --git a/loader/selector.c b/loader/selector.c index adb9e69628f..fe9ec2a6576 100644 --- a/loader/selector.c +++ b/loader/selector.c @@ -1,7 +1,8 @@ #ifndef WINELIB +/* static char RCSId[] = "$Id: selector.c,v 1.3 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; - +*/ #include #include #include @@ -10,7 +11,6 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include #include #include - #ifdef __linux__ #include #include @@ -27,11 +27,11 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include "neexe.h" #include "segmem.h" #include "wine.h" +#include "if1632.h" #include "windows.h" #include "prototypes.h" #include "stddebug.h" /* #define DEBUG_SELECTORS */ -/* #undef DEBUG_SELECTORS */ #include "debug.h" @@ -854,6 +854,7 @@ CreateSelectors(struct w_files * wpnt) int old_length, file_image_length; int saved_old_length; + auto_data_sel=0; /* * Allocate memory for the table to keep track of all selectors. */ @@ -966,6 +967,7 @@ CreateSelectors(struct w_files * wpnt) } } + if(!auto_data_sel)dprintf_selectors(stddeb,"Warning: No auto_data_sel\n"); s = selectors; for (i = 0; i < ne_header->n_segment_tab; i++, s++) { diff --git a/loader/signal.c b/loader/signal.c index 6527f1ecc0b..3cc74613c49 100644 --- a/loader/signal.c +++ b/loader/signal.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -20,20 +21,12 @@ #endif #include "wine.h" +#include "dos_fs.h" #include "segmem.h" #include "prototypes.h" +#include "miscemu.h" #include "win.h" -extern int do_int10(struct sigcontext_struct *); -extern int do_int13(struct sigcontext_struct *); -extern int do_int15(struct sigcontext_struct *); -extern int do_int16(struct sigcontext_struct *); -extern int do_int25(struct sigcontext_struct *); -extern int do_int26(struct sigcontext_struct *); -extern int do_int2a(struct sigcontext_struct *); -extern int do_int2f(struct sigcontext_struct *); -extern int do_int31(struct sigcontext_struct *); - #if !defined(BSD4_4) || defined(linux) || defined(__FreeBSD__) char * cstack[4096]; #endif @@ -75,7 +68,7 @@ int do_int(int intnum, struct sigcontext_struct *scp) case 0x13: return do_int13(scp); case 0x15: return do_int15(scp); case 0x16: return do_int16(scp); - case 0x1A: return do_int1A(scp); + case 0x1a: return do_int1a(scp); case 0x21: return do_int21(scp); case 0x22: @@ -157,6 +150,26 @@ static void win_fault(int signal, int code, struct sigcontext *scp) scp->sc_eip += 2; /* Bypass the int instruction */ break; + case 0xe4: /* inb al,XX */ + inportb_abs(scp); + scp->sc_eip += 2; + break; + + case 0xe5: /* in ax,XX */ + inport_abs(scp); + scp->sc_eip += 2; + break; + + case 0xe6: /* outb XX,al */ + outportb_abs(scp); + scp->sc_eip += 2; + break; + + case 0xe7: /* out XX,ax */ + outport_abs(scp); + scp->sc_eip += 2; + break; + case 0xec: /* inb al,dx */ inportb(scp); scp->sc_eip++; diff --git a/loader/task.c b/loader/task.c index 4f999214f2f..de42cc3ebf6 100644 --- a/loader/task.c +++ b/loader/task.c @@ -1,30 +1,26 @@ /* * Tasks functions - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1994"; - - +*/ #include #include #include #include #include #include "windows.h" -#include "wine.h" +#include "if1632.h" #include "task.h" #include "stddebug.h" -/* #define DEBUG_TASK */ -/* #undef DEBUG_TASK */ #include "debug.h" - static LPWINETASKENTRY lpTaskList = NULL; static int nTaskCount = 0; /********************************************************************** * GetCurrentTask [KERNEL.36] */ -HTASK GetCurrentTask() +HTASK GetCurrentTask(void) { LPWINETASKENTRY lpTask = lpTaskList; int pid = getpid(); @@ -43,7 +39,7 @@ HTASK GetCurrentTask() /********************************************************************** * GetNumTasks [KERNEL.152] */ -WORD GetNumTasks() +WORD GetNumTasks(void) { dprintf_task(stddeb,"GetNumTasks() returned %d !\n", nTaskCount); return nTaskCount; @@ -89,7 +85,8 @@ BOOL EnumTaskWindows(HANDLE hTask, FARPROC lpEnumFunc, LONG lParam) BOOL bRet; int count = 0; LPWINETASKENTRY lpTask = lpTaskList; - dprintf_task(stddeb,"EnumTaskWindows(%04X, %08X, %08X) !\n", hTask, lpEnumFunc, lParam); + dprintf_task(stddeb,"EnumTaskWindows(%04X, %08X, %08X) !\n", hTask, + (unsigned int) lpEnumFunc, (unsigned int) lParam); while (TRUE) { if (lpTask->te.hTask == hTask) break; if (lpTask == NULL) { diff --git a/memory/global.c b/memory/global.c index 9450c956c5b..e6b0f007ce0 100644 --- a/memory/global.c +++ b/memory/global.c @@ -1,18 +1,21 @@ +/* static char RCSId[] = "$Id: global.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #define GLOBAL_SOURCE #include #include #include +#include "windows.h" #include "prototypes.h" #include "toolhelp.h" #include "heap.h" #include "segmem.h" +#include "selectors.h" #include "stddebug.h" -/* #define DEBUG_HEAP /* */ -/* #undef DEBUG_HEAP /* */ +/* #define DEBUG_HEAP */ #include "debug.h" @@ -182,7 +185,7 @@ GlobalAlloc(unsigned int flags, unsigned long size) GDESC *g_prev; void *m; - dprintf_heap(stddeb,"GlobalAlloc flags %4X, size %d\n", flags, size); + dprintf_heap(stddeb,"GlobalAlloc flags %4X, size %ld\n", flags, size); if (size == 0) size = 1; @@ -259,7 +262,7 @@ GlobalAlloc(unsigned int flags, unsigned long size) * We have a new block. Let's create a GDESC entry for it. */ g = malloc(sizeof(*g)); - dprintf_heap(stddeb,"New GDESC %08x\n", g); + dprintf_heap(stddeb,"New GDESC %08x\n", (unsigned int) g); if (g == NULL) return 0; @@ -356,7 +359,7 @@ GlobalLock(unsigned int block) g->lock_count++; - dprintf_heap(stddeb,"GlobalLock: returning %08x\n", g->addr); + dprintf_heap(stddeb,"GlobalLock: returning %08x\n",(unsigned int)g->addr); return g->addr; } @@ -621,7 +624,7 @@ GlobalReAlloc(unsigned int block, unsigned int new_size, unsigned int flags) { GDESC *g_new; GDESC *g_start = g; - int old_segments = g_start->length; +/* int old_segments = g_start->length;*/ unsigned short next_handle = g_start->handle; for (i = 1; i <= n_segments; i++, g = g->next) @@ -815,7 +818,7 @@ DWORD GetFreeSpace(UINT wFlags) if (free_map[i] == 1) total_free++; - dprintf_heap(stddeb,"GetFreeSpace // return %ld !\n", total_free << 16); + dprintf_heap(stddeb,"GetFreeSpace // return %ld !\n", (long) (total_free << 16)); return total_free << 16; } diff --git a/memory/heap.c b/memory/heap.c index 722e32da9a0..56474e73426 100644 --- a/memory/heap.c +++ b/memory/heap.c @@ -1,5 +1,7 @@ +/* static char RCSId[] = "$Id: heap.c,v 1.3 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #include #include @@ -8,9 +10,9 @@ static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include "segmem.h" #include "heap.h" #include "regfunc.h" +#include "dlls.h" #include "stddebug.h" -/* #define DEBUG_HEAP /* */ -/* #undef DEBUG_HEAP /* */ +/* #define DEBUG_HEAP */ #include "debug.h" @@ -22,8 +24,16 @@ HEAP_CheckHeap(MDESC **free_list) MDESC *m; for (m = *free_list; m != NULL; m = m->next) + { if (((int) m & 0xffff0000) != ((int) *free_list & 0xffff0000)) + { dprintf_heap(stddeb,"Invalid block %08x\n",m); + *(char *)0 = 0; + } + if (m->prev && (((int) m->prev & 0xffff0000) != ((int) *free_list & 0xffff0000))) + { dprintf_heap(stddeb,"Invalid prev %08x from %08x\n", m->prev, m); *(char *)0 = 0; + } + } } /********************************************************************** @@ -49,11 +59,9 @@ HEAP_Alloc(MDESC **free_list, int flags, int bytes) { MDESC *m, *m_new; - dprintf_heap(stddeb,"HeapAlloc: free_list %08x, flags %x, bytes %d\n", - free_list, flags, bytes); -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + dprintf_heap(stddeb,"HeapAlloc: free_list %08x(%08x), flags %x, bytes %d\n", + (unsigned int) free_list, (unsigned int) *free_list, flags, bytes); + if(debugging_heap)HEAP_CheckHeap(free_list); /* * Find free block big enough. @@ -86,10 +94,9 @@ HEAP_Alloc(MDESC **free_list, int flags, int bytes) m->flags = 0; if (flags & GLOBAL_FLAGS_ZEROINIT) memset(m + 1, 0, bytes); - dprintf_heap(stddeb,"HeapAlloc: returning %08x\n", (m + 1)); -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + dprintf_heap(stddeb,"HeapAlloc: returning %08x\n", + (unsigned int) (m + 1)); + if(debugging_heap)HEAP_CheckHeap(free_list); return (void *) (m + 1); } } @@ -110,17 +117,14 @@ HEAP_Alloc(MDESC **free_list, int flags, int bytes) m->flags = 0; if (flags & GLOBAL_FLAGS_ZEROINIT) memset(m + 1, 0, bytes); - dprintf_heap(stddeb,"HeapAlloc: returning %08x\n", (m + 1)); -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + dprintf_heap(stddeb,"HeapAlloc: returning %08x\n", + (unsigned int) (m + 1)); + if(debugging_heap)HEAP_CheckHeap(free_list); return (void *) (m + 1); } dprintf_heap(stddeb,"HeapAlloc: returning %08x\n", 0); -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + if(debugging_heap)HEAP_CheckHeap(free_list); return 0; } @@ -143,15 +147,19 @@ HEAP_ReAlloc(MDESC **free_list, void *old_block, */ m = (MDESC *) old_block - 1; - dprintf_heap(stddeb,"HEAP_ReAlloc new_size=%d !\n", new_size); - dprintf_heap(stddeb,"HEAP_ReAlloc old_block=%08X !\n", old_block); - dprintf_heap(stddeb,"HEAP_ReAlloc m=%08X free_list=%08X !\n", m,free_list); - dprintf_heap(stddeb,"HEAP_ReAlloc m->prev=%08X !\n", m->prev); - dprintf_heap(stddeb,"HEAP_ReAlloc m->next=%08X !\n", m->next); - dprintf_heap(stddeb,"HEAP_ReAlloc *free_list=%08X !\n", *free_list); -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + dprintf_heap(stddeb,"HEAP_ReAlloc new_size=%d !\n", + (unsigned int) new_size); + dprintf_heap(stddeb,"HEAP_ReAlloc old_block=%08X !\n", + (unsigned int) old_block); + dprintf_heap(stddeb,"HEAP_ReAlloc m=%08X free_list=%08X !\n", + (unsigned int) m, (unsigned int) free_list); + dprintf_heap(stddeb,"HEAP_ReAlloc m->prev=%08X !\n", + (unsigned int) m->prev); + dprintf_heap(stddeb,"HEAP_ReAlloc m->next=%08X !\n", + (unsigned int) m->next); + dprintf_heap(stddeb,"HEAP_ReAlloc *free_list=%08X !\n", + (unsigned int) *free_list); + if(debugging_heap)HEAP_CheckHeap(free_list); if (m->prev != m || m->next != m || ((int) m & 0xffff0000) != ((int) *free_list & 0xffff0000)) @@ -179,9 +187,7 @@ HEAP_ReAlloc(MDESC **free_list, void *old_block, return NULL; memcpy(new_p, old_block, m->length); HEAP_Free(free_list, old_block); -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + if(debugging_heap)HEAP_CheckHeap(free_list); return new_p; } @@ -214,9 +220,7 @@ HEAP_ReAlloc(MDESC **free_list, void *old_block, HEAP_Free(free_list, m_free + 1); } -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + if(debugging_heap)HEAP_CheckHeap(free_list); return old_block; } @@ -233,9 +237,7 @@ HEAP_Free(MDESC **free_list, void *block) dprintf_heap(stddeb,"HeapFree: free_list %08x, block %08x\n", free_list, block); -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + if(debugging_heap)HEAP_CheckHeap(free_list); /* * Validate pointer. @@ -332,28 +334,44 @@ HEAP_Free(MDESC **free_list, void *block) m_free->next = NULL; } -#ifdef DEBUG_HEAP - HEAP_CheckHeap(free_list); -#endif + if(debugging_heap)HEAP_CheckHeap(free_list); return 0; } /********************************************************************** + * HEAP_CheckLocalHeaps + */ +void +HEAP_CheckLocalHeaps(char *file,int line) +{ + LHEAP *lh; + dprintf_heap(stddeb,"CheckLocalHeaps called from %s %d\n",file,line); + for(lh=LocalHeaps; lh!=NULL; lh = lh->next) + { dprintf_heap(stddeb,"Checking heap %08x, free_list %08x\n", + lh,lh->free_list); + HEAP_CheckHeap(&lh->free_list); + } +} + + +/********************************************************************** * HEAP_LocalFindHeap */ LHEAP * HEAP_LocalFindHeap(unsigned short owner) { LHEAP *lh; + extern struct w_files *current_exe; dprintf_heap(stddeb,"HEAP_LocalFindHeap: owner %04x\n", owner); - + for (lh = LocalHeaps; lh != NULL; lh = lh->next) { if (lh->selector == owner) return lh; } + dprintf_heap(stddeb,"Warning: Local heap not found\n"); return NULL; } @@ -380,6 +398,7 @@ HEAP_LocalInit(unsigned short owner, void *start, int length) lh->local_table = NULL; lh->delta = 0x20; HEAP_Init(&lh->free_list, start, length); + dprintf_heap(stddeb,"HEAP_LocalInit: free_list %08x, length %04x, prev %08x, next %08x\n",&lh->free_list,lh->free_list->length, lh->free_list->prev,lh->free_list->next); LocalHeaps = lh; } @@ -408,7 +427,7 @@ WIN16_LocalAlloc(int flags, int bytes) void *m; dprintf_heap(stddeb,"WIN16_LocalAlloc: flags %x, bytes %d\n", flags,bytes); - dprintf_heap(stddeb," called from segment %04x\n", Stack16Frame[11]); + dprintf_heap(stddeb," called from segment %04x, ds=%04x\n", Stack16Frame[11],Stack16Frame[6]); m = HEAP_Alloc(LOCALHEAP(), flags, bytes); diff --git a/memory/linear.c b/memory/linear.c index 1ebb17b0311..cab6fb96613 100644 --- a/memory/linear.c +++ b/memory/linear.c @@ -1,6 +1,7 @@ +/* static char RCSId[] = "$Id$"; static char Copyright[] = "Copyright Robert J. Amstadt, 1994"; - +*/ #include #include #include diff --git a/misc/atom.c b/misc/atom.c index 2822350e5e6..d6fa988a872 100644 --- a/misc/atom.c +++ b/misc/atom.c @@ -73,7 +73,7 @@ static BOOL ATOM_InitTable( ATOMTABLE ** table, WORD entries ) } else { - handle = LocalAlign ( LMEM_MOVEABLE, sizeof(ATOMTABLE) + + handle = (HANDLE) LocalAlign ( LMEM_MOVEABLE, sizeof(ATOMTABLE) + (entries-1) * sizeof(HANDLE) ); if (!handle) return FALSE; diff --git a/misc/clipboard.c b/misc/clipboard.c index 5e82d529df9..e8a0cf99f5c 100644 --- a/misc/clipboard.c +++ b/misc/clipboard.c @@ -2,9 +2,8 @@ * 'Wine' Clipboard function handling * * Copyright 1994 Martin Ayotte - */ - static char Copyright[] = "Copyright Martin Ayotte, 1994"; +*/ #include #include @@ -18,9 +17,8 @@ static char Copyright[] = "Copyright Martin Ayotte, 1994"; #include "prototypes.h" #include "heap.h" #include "win.h" +#include "clipboard.h" #include "stddebug.h" -/* #define DEBUG_CLIPBOARD /* */ -/* #undef DEBUG_CLIPBOARD /* */ #include "debug.h" typedef struct tagCLIPFORMAT { @@ -304,6 +302,8 @@ BOOL ChangeClipboardChain(HWND hWnd, HWND hWndNext) { dprintf_clipboard(stdnimp, "ChangeClipboardChain(%04X, %04X) !\n", hWnd, hWndNext); + + return 0; } @@ -343,6 +343,8 @@ int GetPriorityClipboardFormat(WORD FAR *lpPriorityList, short nCount) { dprintf_clipboard(stdnimp, "GetPriorityClipboardFormat(%p, %d) !\n", lpPriorityList, nCount); + + return 0; } diff --git a/misc/commdlg.c b/misc/commdlg.c index aa1614bd856..f9a6298e1a4 100644 --- a/misc/commdlg.c +++ b/misc/commdlg.c @@ -2,19 +2,22 @@ * COMMDLG functions * * Copyright 1994 Martin Ayotte - */ static char Copyright[] = "Copyright Martin Ayotte, 1994"; +*/ /* #define DEBUG_OPENDLG #define DEBUG_OPENDLG_DRAW */ -#include "stdio.h" +#include +#include +#include #include "dialog.h" #include "win.h" #include "user.h" #include "message.h" +#include "library.h" #include "heap.h" #include "commdlg.h" #include "dlgs.h" @@ -22,8 +25,6 @@ static char Copyright[] = "Copyright Martin Ayotte, 1994"; #define OPENFILEDLG2 11 #define SAVEFILEDLG2 12 - -extern HINSTANCE hSysRes; static DWORD CommDlgLastError = 0; static HBITMAP hFolder = 0; diff --git a/misc/dos_fs.c b/misc/dos_fs.c index ae19ea39614..54bf5640c10 100644 --- a/misc/dos_fs.c +++ b/misc/dos_fs.c @@ -25,9 +25,10 @@ #include #endif +#include "wine.h" #include "windows.h" #include "msdos.h" -#include "prototypes.h" +/* #include "dos_fs.h" */ #include "autoconf.h" #include "comm.h" #include "stddebug.h" @@ -178,8 +179,6 @@ WORD DOS_GetEquipment(void) int parallelports = 0; int serialports = 0; int x; - extern struct DosDeviceStruct COM[MAX_PORTS]; - extern struct DosDeviceStruct LPT[MAX_PORTS]; /* borrowed from Ralph Brown's interrupt lists @@ -255,7 +254,7 @@ int DOS_ValidDirectory(char *name) char *dirname; struct stat s; dprintf_dosfs(stddeb, "DOS_ValidDirectory: '%s'\n", name); - if ((dirname = GetUnixFileName(name)) == NULL) + if ((dirname = DOS_GetUnixFileName(name)) == NULL) return 0; if (stat(dirname,&s)) return 0; @@ -392,7 +391,7 @@ static void GetUnixDirName(char *rootdir, char *name) } -char *GetUnixFileName(char *dosfilename) +char *DOS_GetUnixFileName(char *dosfilename) { /* a:\windows\system.ini => /dos/windows/system.ini */ @@ -418,7 +417,7 @@ char *GetUnixFileName(char *dosfilename) return(temp); } -char *GetDosFileName(char *unixfilename) +char *DOS_GetDosFileName(char *unixfilename) { int i; static char temp[256], rootdir[256]; @@ -555,7 +554,7 @@ int DOS_GetFreeSpace(int drive, long *size, long *available) return 1; } -char *FindFile(char *buffer, int buflen, char *filename, char **extensions, +char *DOS_FindFile(char *buffer, int buflen, char *filename, char **extensions, char *path) { char *workingpath, *dirname, *rootname, **e; @@ -566,7 +565,7 @@ char *FindFile(char *buffer, int buflen, char *filename, char **extensions, if (strchr(filename, '\\') != NULL) { - strncpy(buffer, GetUnixFileName(filename), buflen); + strncpy(buffer, DOS_GetUnixFileName(filename), buflen); stat( buffer, &filestat); if (S_ISREG(filestat.st_mode)) return buffer; @@ -580,7 +579,7 @@ char *FindFile(char *buffer, int buflen, char *filename, char **extensions, return buffer; } - dprintf_dosfs(stddeb,"FindFile: looking for %s\n", filename); + dprintf_dosfs(stddeb,"DOS_FindFile: looking for %s\n", filename); rootnamelen = strlen(filename); rootname = strdup(filename); ToUnix(rootname); @@ -591,7 +590,7 @@ char *FindFile(char *buffer, int buflen, char *filename, char **extensions, dirname = strtok(NULL, ";")) { if (strchr(dirname, '\\') != NULL) - d = opendir( GetUnixFileName(dirname) ); + d = opendir( DOS_GetUnixFileName(dirname) ); else d = opendir( dirname ); @@ -618,7 +617,7 @@ char *FindFile(char *buffer, int buflen, char *filename, char **extensions, if (found) { if (strchr(dirname, '\\') != NULL) - strncpy(buffer, GetUnixFileName(dirname), buflen); + strncpy(buffer, DOS_GetUnixFileName(dirname), buflen); else strncpy(buffer, dirname, buflen); @@ -679,7 +678,7 @@ char *WinIniFileName(void) name = malloc(1024); - strcpy(name, GetUnixFileName(WindowsDirectory)); + strcpy(name, DOS_GetUnixFileName(WindowsDirectory)); strcat(name, "/"); strcat(name, "win.ini"); @@ -732,7 +731,7 @@ struct dosdirent *DOS_opendir(char *dosdirname) if (x == MAX_OPEN_DIRS) return NULL; - if ((unixdirname = GetUnixFileName(dosdirname)) == NULL) + if ((unixdirname = DOS_GetUnixFileName(dosdirname)) == NULL) return NULL; strcpy(temp, unixdirname); diff --git a/misc/driver.c b/misc/driver.c index 425638f193c..c39c3e7c8f2 100644 --- a/misc/driver.c +++ b/misc/driver.c @@ -2,9 +2,8 @@ * Wine Drivers functions * * Copyright 1994 Martin Ayotte - */ - static char Copyright[] = "Copyright Martin Ayotte, 1994"; +*/ #include #include "windows.h" @@ -13,13 +12,11 @@ static char Copyright[] = "Copyright Martin Ayotte, 1994"; #include "dlls.h" #include "driver.h" #include "stddebug.h" -/* #define DEBUG_DRIVER /* */ -/* #undef DEBUG_DRIVER /* */ #include "debug.h" LPDRIVERITEM lpDrvItemList = NULL; -void LoadStartupDrivers() +void LoadStartupDrivers(void) { HDRVR hDrv; char str[256]; diff --git a/misc/escape.c b/misc/escape.c index a4f6a6f0205..b848f3a9621 100644 --- a/misc/escape.c +++ b/misc/escape.c @@ -2,9 +2,9 @@ * Escape() function. * * Copyright 1994 Bob Amstadt - */ - + * static char Copyright[] = "Copyright Bob Amstadt, 1994"; +*/ #include #include diff --git a/misc/exec.c b/misc/exec.c index c1b9605de18..df0bee6e4a8 100644 --- a/misc/exec.c +++ b/misc/exec.c @@ -11,11 +11,12 @@ #include "segmem.h" #include "prototypes.h" #include "dlls.h" -#include "wine.h" #include "windows.h" +#include "if1632.h" +#include "callback.h" +#include "library.h" +#include "ne_image.h" #include "stddebug.h" -/* #define DEBUG_EXEC /* */ -/* #undef DEBUG_EXEC /* */ #include "debug.h" #define HELP_CONTEXT 0x0001 @@ -33,8 +34,6 @@ #define HELP_MULTIKEY 0x0201 #define HELP_SETWINPOS 0x0203 -extern struct w_files * wine_files; - typedef struct { WORD wEnvSeg; LPSTR lpCmdLine; @@ -44,9 +43,6 @@ typedef struct { typedef BOOL (CALLBACK * LPFNWINMAIN)(HANDLE, HANDLE, LPSTR, int); - -extern int CallToInit16(unsigned long csip, unsigned long sssp, - unsigned short ds); HANDLE CreateNewTask(HINSTANCE hInst); #ifndef WINELIB @@ -113,7 +109,7 @@ void StartNewTask(HINSTANCE hInst) dprintf_exec(stddeb,"StartNewTask() // before FixupSegment !\n"); for(w = wpnt; w; w = w->next) { for (segment = 0; segment < w->ne->ne_header->n_segment_tab; segment++) { - if (FixupSegment(w, segment) < 0) { + if (NE_FixupSegment(w, segment) < 0) { myerror("fixup failed."); } } @@ -227,6 +223,8 @@ BOOL ExitWindows(DWORD dwReserved, WORD wRetCode) { dprintf_exec(stdnimp,"EMPTY STUB !!! ExitWindows(%08lX, %04X) !\n", dwReserved, wRetCode); + + exit(wRetCode); } diff --git a/misc/file.c b/misc/file.c index 5a9eceed688..f97e28f6ee6 100644 --- a/misc/file.c +++ b/misc/file.c @@ -8,7 +8,7 @@ * NOV 93 Erik Bos (erik@xs4all.nl) * - removed ParseDosFileName, and DosDrive structures. * - structures dynamically configured at runtime. - * - _lopen modified to use GetUnixFileName. + * - _lopen modified to use DOS_GetUnixFileName. * - Existing functions modified to use dosfs functions. * - Added _llseek, _lcreat, GetDriveType, GetTempDrive, * GetWindowsDirectory, GetSystemDirectory, GetTempFileName. @@ -22,7 +22,7 @@ #include #include #include -#include "prototypes.h" +#include "dos_fs.h" #include "regfunc.h" #include "windows.h" #include "wine.h" @@ -30,20 +30,11 @@ #include "registers.h" #include "options.h" #include "stddebug.h" -/* #define DEBUG_FILE /* */ -/* #undef DEBUG_FILE /* */ #include "debug.h" #define MAX_PATH 255 char WindowsDirectory[256], SystemDirectory[256], TempDirectory[256]; -extern char WindowsPath[256]; - -extern char WindowsPath[]; -extern WORD ExtendedError; - - -char *GetDosFileName(char *unixfilename); /*************************************************************************** _lopen @@ -56,7 +47,7 @@ INT _lopen (LPSTR lpPathName, INT iReadWrite) char *UnixFileName; dprintf_file(stddeb, "_lopen: open('%s', %X);\n", lpPathName, iReadWrite); - if ((UnixFileName = GetUnixFileName(lpPathName)) == NULL) + if ((UnixFileName = DOS_GetUnixFileName(lpPathName)) == NULL) return HFILE_ERROR; iReadWrite &= 0x000F; handle = open (UnixFileName, iReadWrite); @@ -122,7 +113,6 @@ INT _lclose (INT hFile) **************************************************************************/ INT OpenFile (LPSTR lpFileName, LPOFSTRUCT ofs, WORD wStyle) { - int handle; #ifndef PROCEMU struct sigcontext_struct ccontext; /* To make macros like EAX happy */ @@ -155,7 +145,7 @@ INT OpenFile (LPSTR lpFileName, LPOFSTRUCT ofs, WORD wStyle) ofs->nErrCode = 0; *((int*)ofs->reserved) = 0; - if ((unixfilename = GetUnixFileName (ofs->szPathName)) == NULL) + if ((unixfilename = DOS_GetUnixFileName (ofs->szPathName)) == NULL) { errno_to_doserr(); ofs->nErrCode = ExtendedError; @@ -181,23 +171,23 @@ INT OpenFile (LPSTR lpFileName, LPOFSTRUCT ofs, WORD wStyle) { char temp[MAX_PATH+1]; strcpy (filename, lpFileName); - if ( (!stat(GetUnixFileName(filename), &s)) && (S_ISREG(s.st_mode)) ) + if ( (!stat(DOS_GetUnixFileName(filename), &s)) && (S_ISREG(s.st_mode)) ) break; GetWindowsDirectory (filename,MAX_PATH); if ((!filename[0])||(filename[strlen(filename)-1]!='\\')) strcat(filename, "\\"); strcat (filename, lpFileName); - if ( (!stat(GetUnixFileName(filename), &s)) && (S_ISREG(s.st_mode)) ) + if ( (!stat(DOS_GetUnixFileName(filename), &s)) && (S_ISREG(s.st_mode)) ) break; GetSystemDirectory (filename,MAX_PATH); if ((!filename[0])||(filename[strlen(filename)-1]!='\\')) strcat(filename, "\\"); strcat (filename, lpFileName); - if ( (!stat(GetUnixFileName(filename), &s)) && (S_ISREG(s.st_mode)) ) + if ( (!stat(DOS_GetUnixFileName(filename), &s)) && (S_ISREG(s.st_mode)) ) break; - if (!FindFile(temp,MAX_PATH,lpFileName,NULL,WindowsPath)) + if (!DOS_FindFile(temp,MAX_PATH,lpFileName,NULL,WindowsPath)) { - strcpy(filename, GetDosFileName(temp)); + strcpy(filename, DOS_GetDosFileName(temp)); break; } strcpy (filename, lpFileName); @@ -224,7 +214,7 @@ INT OpenFile (LPSTR lpFileName, LPOFSTRUCT ofs, WORD wStyle) /* Now on to getting some information about that file */ - if (res = stat(GetUnixFileName(ofs->szPathName), &s)) + if ((res = stat(DOS_GetUnixFileName(ofs->szPathName), &s))) { errno_to_doserr(); ofs->nErrCode = ExtendedError; @@ -232,21 +222,21 @@ INT OpenFile (LPSTR lpFileName, LPOFSTRUCT ofs, WORD wStyle) } now = localtime (&s.st_mtime); - + if (action & OF_VERIFY) verify_time = *((int*)ofs->reserved); - + *((WORD*)(&ofs->reserved[2]))= ((now->tm_hour * 0x2000) + (now->tm_min * 0x20) + (now->tm_sec / 2)); *((WORD*)(&ofs->reserved[0]))= ((now->tm_year * 0x200) + (now->tm_mon * 0x20) + now->tm_mday); - - if (action & OF_EXIST) - return 0; + if (action & OF_VERIFY) return (verify_time != *((int*)ofs->reserved)); - + + if (action & OF_EXIST) + return 0; /* Now we are actually going to open the file. According to Microsoft's Knowledge Basis, this is done by calling int 21h, ax=3dh. */ @@ -317,7 +307,7 @@ INT _lcreat (LPSTR lpszFilename, INT fnAttribute) dprintf_file(stddeb, "_lcreat: filename %s, attributes %d\n", lpszFilename, fnAttribute); - if ((UnixFileName = GetUnixFileName(lpszFilename)) == NULL) + if ((UnixFileName = DOS_GetUnixFileName(lpszFilename)) == NULL) return HFILE_ERROR; handle = open (UnixFileName, O_CREAT | O_TRUNC | O_WRONLY, 426); @@ -422,6 +412,8 @@ INT GetTempFileName(BYTE bDriveLetter, LPCSTR lpszPrefixString, UINT uUnique, LP WORD SetErrorMode(WORD x) { dprintf_file(stdnimp,"wine: SetErrorMode %4x (ignored)\n",x); + + return 1; } /*************************************************************************** diff --git a/misc/keyboard.c b/misc/keyboard.c index 778dea1c317..9a07198f8ea 100644 --- a/misc/keyboard.c +++ b/misc/keyboard.c @@ -1,5 +1,7 @@ +/* static char RCSId[] = "$Id: keyboard.c,v 1.2 1993/09/13 18:52:02 scott Exp $"; static char Copyright[] = "Copyright Scott A. Laird, Erik Bos 1993, 1994"; +*/ #include #include @@ -8,8 +10,7 @@ static char Copyright[] = "Copyright Scott A. Laird, Erik Bos 1993, 1994"; #include "windows.h" #include "keyboard.h" #include "stddebug.h" -/* #define DEBUG_KEYBOARD /* */ -/* #undef DEBUG_KEYBOARD /* */ +/* #define DEBUG_KEYBOARD */ #include "debug.h" int ToAscii(WORD wVirtKey, WORD wScanCode, LPSTR lpKeyState, diff --git a/misc/lstr.c b/misc/lstr.c index 41174f3e24c..aaf47f3fff1 100644 --- a/misc/lstr.c +++ b/misc/lstr.c @@ -1,5 +1,6 @@ +/* static char Copyright[] = "Copyright Yngvi Sigurjonsson (yngvi@hafro.is), 1993"; - +*/ #include #include #include @@ -164,15 +165,14 @@ char FAR* AnsiPrev(/*const*/ char FAR* start,char FAR* current) return (current==start)?start:current-1; } -static char Oem2Ansi[256]; -static char Ansi2Oem[256]; +BYTE Oem2Ansi[256], Ansi2Oem[256]; void InitOemAnsiTranslations(void) { static int inited=0; /* should called called in some init function*/ int transfile,i; if(inited) return; - if(transfile=open("oem2ansi.trl",O_RDONLY)){ + if((transfile=open("oem2ansi.trl",O_RDONLY))){ read(transfile,Oem2Ansi,256); close(transfile); } @@ -180,7 +180,7 @@ void InitOemAnsiTranslations(void) for(i=0;i<256;i++) /* Needs some fixing */ Oem2Ansi[i]=i; } - if(transfile=open("ansi2oem.trl",O_RDONLY)){ + if((transfile=open("ansi2oem.trl",O_RDONLY))){ read(transfile,Ansi2Oem,256); close(transfile); } diff --git a/misc/main.c b/misc/main.c index 3b9250eac1b..74a87789b6e 100644 --- a/misc/main.c +++ b/misc/main.c @@ -2,10 +2,9 @@ * Main function. * * Copyright 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1994"; - +*/ #include #include #include @@ -15,15 +14,30 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1994"; #include #include #include +#include "wine.h" #include "msdos.h" #include "windows.h" +#include "comm.h" +#include "miscemu.h" +#include "winsock.h" #include "options.h" +#include "dos_fs.h" +#include "desktop.h" #include "prototypes.h" #include "texts.h" #define DEBUG_DEFINE_VARIABLES #include "stddebug.h" #include "debug.h" +extern ButtonTexts ButtonText; + +static char people[] = "People who have generously donated time to the Wine " \ +"project include Bob Amstadt, Martin Ayotte, Erik Bos, John Brezak, "\ +"Andrew Bulhak, John Burton, Peter Galbavy, Jeffery Hsu, Miguel de Icaza, " \ +"Alexandre Julliard, Scott A. Laird, Peter MacDonald, David Metcalfe, " \ +"John Richardson, Johannes Ruscheinski, Yngvi Sigurjonsson, Linus Torvalds, " \ +"Carl Williams, Karl Guenter Wuensch, and Eric Youngdale. "; + #define WINE_CLASS "Wine" /* Class name for resources */ typedef struct tagENVENTRY { @@ -44,8 +58,6 @@ int screenWidth = 0, screenHeight = 0; /* Desktop window dimensions */ int screenDepth = 0; /* Screen depth to use */ int desktopX = 0, desktopY = 0; /* Desktop window position (if any) */ -extern ButtonTexts ButtonText; - struct options Options = { /* default options */ NULL, /* spyFilename */ @@ -71,7 +83,6 @@ static XrmOptionDescRec optionsTable[] = { "-synchronous", ".synchronous", XrmoptionNoArg, (caddr_t)"on" }, { "-spy", ".spy", XrmoptionSepArg, (caddr_t)NULL }, { "-debug", ".debug", XrmoptionNoArg, (caddr_t)"on" }, - { "-relaydbg", ".relaydbg", XrmoptionNoArg, (caddr_t)"on" }, { "-debugmsg", ".debugmsg", XrmoptionSepArg, (caddr_t)NULL } }; @@ -91,7 +102,7 @@ static XrmOptionDescRec optionsTable[] = " -synchronous Turn on synchronous display mode\n" \ " -backingstore Turn on backing store\n" \ " -spy file Turn on message spying to the specified file\n" \ - " -relaydbg Display call relay information\n" \ + " -relaydbg Obsolete. Use -debugmsg +relay instead\n" \ " -debugmsg name Turn debugging-messages on or off\n" @@ -165,7 +176,6 @@ static int MAIN_GetResource( XrmDatabase db, char *name, XrmValue *value ) static void MAIN_GetButtonText( XrmDatabase db, char *name, ButtonDesc *Button) { XrmValue value; - char Hotkey; char *i; if (MAIN_GetResource( db, name, &value)) @@ -294,8 +304,6 @@ static void MAIN_ParseOptions( int *argc, char *argv[] ) Options.synchronous = TRUE; if (MAIN_GetResource( db, ".backingstore", &value )) Options.backingstore = TRUE; - if (MAIN_GetResource( db, ".relaydbg", &value )) - Options.relay_debug = TRUE; if (MAIN_GetResource( db, ".debug", &value )) Options.debug = TRUE; if (MAIN_GetResource( db, ".spy", &value)) @@ -346,9 +354,9 @@ static void MAIN_CreateDesktop( int argc, char *argv[] ) int flags; unsigned int width = 640, height = 480; /* Default size = 640x480 */ char *name = "Wine desktop"; - XSizeHints size_hints; - XWMHints wm_hints; - XClassHint class_hints; + XSizeHints *size_hints; + XWMHints *wm_hints; + XClassHint *class_hints; XSetWindowAttributes win_attr; XTextProperty window_name; @@ -372,22 +380,33 @@ static void MAIN_CreateDesktop( int argc, char *argv[] ) /* Set window manager properties */ - size_hints.min_width = size_hints.max_width = width; - size_hints.min_height = size_hints.max_height = height; - size_hints.flags = PMinSize | PMaxSize; - if (flags & (XValue | YValue)) size_hints.flags |= USPosition; - if (flags & (WidthValue | HeightValue)) size_hints.flags |= USSize; - else size_hints.flags |= PSize; - - wm_hints.flags = InputHint | StateHint; - wm_hints.input = True; - wm_hints.initial_state = NormalState; - class_hints.res_name = argv[0]; - class_hints.res_class = "Wine"; + size_hints = XAllocSizeHints(); + wm_hints = XAllocWMHints(); + class_hints = XAllocClassHint(); + if (!size_hints || !wm_hints || !class_hints) + { + fprintf( stderr, "Not enough memory for window manager hints.\n" ); + exit(1); + } + size_hints->min_width = size_hints->max_width = width; + size_hints->min_height = size_hints->max_height = height; + size_hints->flags = PMinSize | PMaxSize; + if (flags & (XValue | YValue)) size_hints->flags |= USPosition; + if (flags & (WidthValue | HeightValue)) size_hints->flags |= USSize; + else size_hints->flags |= PSize; + + wm_hints->flags = InputHint | StateHint; + wm_hints->input = True; + wm_hints->initial_state = NormalState; + class_hints->res_name = argv[0]; + class_hints->res_class = "Wine"; XStringListToTextProperty( &name, 1, &window_name ); XSetWMProperties( display, rootWindow, &window_name, &window_name, - argv, argc, &size_hints, &wm_hints, &class_hints ); + argv, argc, size_hints, wm_hints, class_hints ); + XFree( size_hints ); + XFree( wm_hints ); + XFree( class_hints ); /* Map window */ diff --git a/misc/message.c b/misc/message.c index 976c86b87fa..2134464efe7 100644 --- a/misc/message.c +++ b/misc/message.c @@ -2,10 +2,9 @@ * 'Wine' MessageBox function handling * * Copyright 1993 Martin Ayotte - */ - + * static char Copyright[] = "Copyright Martin Ayotte, 1993"; - +*/ #include #include @@ -18,11 +17,11 @@ static char Copyright[] = "Copyright Martin Ayotte, 1993"; #include #include "prototypes.h" #include "heap.h" +#include "library.h" #include "win.h" #include "texts.h" #include "stddebug.h" /* #define DEBUG_MSGBOX */ -/* #undef DEBUG_MSGBOX */ #include "debug.h" @@ -40,7 +39,6 @@ ButtonTexts ButtonText = { "&Ignore", 'I' }; -extern HINSTANCE hSysRes; extern HBITMAP hUpArrow; typedef struct tagMSGBOX { @@ -80,13 +78,13 @@ int MessageBox(HWND hWnd, LPSTR str, LPSTR title, WORD type) wndPtr = WIN_FindWndPtr(hWnd); if (wndPtr == NULL) { hInst = hSysRes; - dprintf_msgbox(stddeb,"MessageBox(NULL, %08X='%s', %08X='%s', %04X)\n", - str, str, title, title, type); + dprintf_msgbox(stddeb,"MessageBox(NULL, str='%s', title='%s', %04X)\n", + str, title, type); } else { hInst = wndPtr->hInstance; - dprintf_msgbox(stddeb,"MessageBox(%04X, %08X='%s', %08X='%s', %04X)\n", - hWnd, str, str, title, title, type); + dprintf_msgbox(stddeb,"MessageBox(%04X, str='%s', title='%s', %04X)\n", + hWnd, str, title, type); } lpmb = (LPMSGBOX) malloc(sizeof(MSGBOX)); memset(lpmb, 0, sizeof(MSGBOX)); diff --git a/misc/profile.c b/misc/profile.c index d4f5af10c85..d30774ffe4f 100644 --- a/misc/profile.c +++ b/misc/profile.c @@ -14,23 +14,21 @@ * has a NULL KeyValue returning a list of KeyNames, and a NULL * AppName undefined. I changed GetSetProfile to match. This makes * PROGMAN.EXE do the right thing. - */ - + * static char Copyright [] = "Copyright (C) 1993 Miguel de Icaza"; - +*/ #include #include #include #include "wine.h" #include "windows.h" +#include "dos_fs.h" #include "prototypes.h" #include "stddebug.h" /* #define DEBUG_PROFILE */ -/* #undef DEBUG_PROFILE */ #include "debug.h" - #define STRSIZE 255 #define xmalloc(x) malloc(x) #define overflow (next == &CharBuffer [STRSIZE-1]) @@ -53,6 +51,7 @@ typedef struct TProfile { char *FileName; TSecHeader *Section; struct TProfile *link; + int changed; } TProfile; TProfile *Current = 0; @@ -80,13 +79,13 @@ static char *GetIniFileName(char *name) return name; if (strchr(name, '\\')) - return GetUnixFileName(name); + return DOS_GetUnixFileName(name); GetWindowsDirectory(temp, sizeof(temp) ); strcat(temp, "\\"); strcat(temp, name); - return GetUnixFileName(temp); + return DOS_GetUnixFileName(temp); } static TSecHeader *load (char *filename) @@ -223,6 +222,7 @@ static short GetSetProfile (int set, LPSTR AppName, LPSTR KeyName, New->link = Base; New->FileName = strdup (FileName); New->Section = load (FileName); + New->changed = FALSE; Base = New; section = New->Section; Current = New; @@ -253,9 +253,7 @@ static short GetSetProfile (int set, LPSTR AppName, LPSTR KeyName, p += slen; } *p = '\0'; -#ifdef DEBUG_PROFILE - printf("GetSetProfile // normal end of enum !\n"); -#endif + dprintf_profile(stddeb,"GetSetProfile // normal end of enum !\n"); return (Size - 2 - left); } for (key = section->Keys; key; key = key->link){ @@ -264,6 +262,7 @@ static short GetSetProfile (int set, LPSTR AppName, LPSTR KeyName, if (set){ free (key->Value); key->Value = strdup (Default ? Default : ""); + Current->changed=TRUE; return 1; } ReturnedString [Size-1] = 0; @@ -289,6 +288,7 @@ static short GetSetProfile (int set, LPSTR AppName, LPSTR KeyName, new_key (section, KeyName, Default); section->link = Current->Section; Current->Section = section; + Current->changed = TRUE; } else { ReturnedString [Size-1] = 0; strncpy (ReturnedString, Default, Size-1); @@ -375,6 +375,8 @@ static void dump_profile (TProfile *p) if (!p) return; dump_profile (p->link); + if(!p->changed) + return; if ((profile = fopen (GetIniFileName(p->FileName), "w")) != NULL){ dump_sections (profile, p->Section); fclose (profile); diff --git a/misc/property.c b/misc/property.c index 9733ae14225..4a93716663b 100644 --- a/misc/property.c +++ b/misc/property.c @@ -1,8 +1,8 @@ /* * Windows Properties Functions - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1994"; - +*/ #include #include @@ -158,7 +158,8 @@ BOOL SetProp(HWND hWnd, LPSTR lpStr, HANDLE hData) GlobalUnlock(wndPtr->hProp); return FALSE; } - dprintf_prop(stddeb, "SetProp // entry allocated %08X\n", lpNewProp); + dprintf_prop(stddeb, "SetProp // entry allocated %08X\n", + (unsigned int) lpNewProp); if (lpProp == NULL) { wndPtr->hProp = hNewProp; lpNewProp->lpPrevProp = NULL; @@ -199,7 +200,7 @@ int EnumProps(HWND hWnd, FARPROC lpEnumFunc) LPPROPENTRY lpProp; LPSTR str; int nRet; - printf("EnumProps(%04X, %08X)\n", hWnd, lpEnumFunc); + printf("EnumProps(%04X, %08X)\n", hWnd, (unsigned int) lpEnumFunc); wndPtr = WIN_FindWndPtr(hWnd); if (wndPtr == NULL) { printf("EnumProps // Bad Window handle !\n"); diff --git a/misc/rect.c b/misc/rect.c index b5c0fc5acd7..0b5133bca4e 100644 --- a/misc/rect.c +++ b/misc/rect.c @@ -2,9 +2,9 @@ * Rectangle-related functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include "windows.h" diff --git a/misc/shell.c b/misc/shell.c index 71af863f9db..0c6091e20a8 100644 --- a/misc/shell.c +++ b/misc/shell.c @@ -7,19 +7,15 @@ #include #include "prototypes.h" #include "windows.h" +#include "library.h" #include "shell.h" +#include "../rc/sysres.h" #include "stddebug.h" /* #define DEBUG_REG */ -/* #undef DEBUG_REG */ #include "debug.h" - LPKEYSTRUCT lphRootKey = NULL; -DECLARE_HANDLE(HDROP); - -extern HINSTANCE hSysRes; - /************************************************************************* * RegOpenKey [SHELL.1] */ @@ -344,7 +340,7 @@ INT ShellAbout(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon) else *AppMisc = 0; - return DialogBox(hSysRes, "SHELL_ABOUT_MSGBOX", hWnd, (WNDPROC)AboutDlgProc); + return DialogBoxIndirectPtr(hSysRes, sysres_DIALOG_SHELL_ABOUT_MSGBOX, hWnd, (WNDPROC)AboutDlgProc); } diff --git a/misc/sound.c b/misc/sound.c index 0728953eba6..6d1b3215452 100644 --- a/misc/sound.c +++ b/misc/sound.c @@ -1,5 +1,7 @@ +/* static char RCSId[] = "$Id: heap.c,v 1.3 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #include #include @@ -68,7 +70,7 @@ int WaitSoundState(int x) fprintf(stderr, "WaitSoundState(%d)\n", x); } -SyncAllVoices(void) +int SyncAllVoices(void) { fprintf(stderr, "SyncAllVoices()\n"); } @@ -83,7 +85,7 @@ LPINT GetThresholdEvent(void) fprintf(stderr, "GetThresholdEvent()\n"); } -GetThresholdStatus(void) +int GetThresholdStatus(void) { fprintf(stderr, "GetThresholdStatus()\n"); } diff --git a/misc/user.c b/misc/user.c index 609e5ec700c..b32b57cf65c 100644 --- a/misc/user.c +++ b/misc/user.c @@ -1,30 +1,31 @@ +/* static char RCSId[] = "$Id: user.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; - +*/ #include #include -#include "prototypes.h" +#include "atom.h" +#include "gdi.h" +#include "dlls.h" +#include "selectors.h" +#include "sysmetrics.h" +#include "menu.h" +#include "dialog.h" +#include "syscolor.h" +#include "win.h" #include "windows.h" +#include "prototypes.h" #include "user.h" #include "message.h" #define USER_HEAP_SIZE 0x10000 - - MDESC *USER_Heap = NULL; - -extern BOOL ATOM_Init(); -extern BOOL GDI_Init(); -extern void SYSMETRICS_Init(); -extern BOOL MENU_Init(); -extern BOOL WIN_CreateDesktopWindow(); - #ifndef WINELIB /*********************************************************************** * USER_HeapInit */ -static BOOL USER_HeapInit() +static BOOL USER_HeapInit(void) { struct segment_descriptor_s * s; s = GetNextSegment( 0, 0x10000 ); diff --git a/misc/winsocket.c b/misc/winsocket.c index f9e2b1df9b9..6aea8a7ca30 100644 --- a/misc/winsocket.c +++ b/misc/winsocket.c @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include #include #include @@ -20,11 +22,8 @@ #include "heap.h" #include "winsock.h" #include "stddebug.h" -/* #define DEBUG_WINSOCK */ -/* #undef DEBUG_WINSOCK */ #include "debug.h" - static WORD wsa_errno; static int wsa_initted; static key_t wine_key = 0; @@ -39,25 +38,48 @@ struct ipc_packet { LONG lParam; }; #define IPC_PACKET_SIZE (sizeof(struct ipc_packet) - sizeof(long)) - #define MTYPE 0xb0b0eb05 +#define WINE_PACKED __attribute__ ((packed)) + +struct WIN_hostent { + char *h_name WINE_PACKED; /* official name of host */ + char **h_aliases WINE_PACKED; /* alias list */ + int h_addrtype WINE_PACKED; /* host address type */ + int h_length WINE_PACKED; /* length of address */ + char **h_addr_list WINE_PACKED; /* list of addresses from name server */ + char *names[2]; + char hostname[200]; +}; + +struct WIN_protoent { + char *p_name WINE_PACKED; /* official protocol name */ + char **p_aliases WINE_PACKED; /* alias list */ + int p_proto WINE_PACKED; /* protocol # */ +}; + +struct WIN_servent { + char *s_name WINE_PACKED; /* official service name */ + char **s_aliases WINE_PACKED; /* alias list */ + int s_port WINE_PACKED; /* port # */ + char *s_proto WINE_PACKED; /* protocol to use */ +}; struct WinSockHeap { char ntoa_buffer[32]; - struct hostent hostent_addr; - struct hostent hostent_name; - struct protoent protoent_name; - struct protoent protoent_number; - struct servent servent_name; - struct servent servent_port; - - struct hostent WSAhostent_addr; - struct hostent WSAhostent_name; - struct protoent WSAprotoent_name; - struct protoent WSAprotoent_number; - struct servent WSAservent_name; - struct servent WSAservent_port; + struct WIN_hostent hostent_addr; + struct WIN_hostent hostent_name; + struct WIN_protoent protoent_name; + struct WIN_protoent protoent_number; + struct WIN_servent servent_name; + struct WIN_servent servent_port; + + struct WIN_hostent WSAhostent_addr; + struct WIN_hostent WSAhostent_name; + struct WIN_protoent WSAprotoent_name; + struct WIN_protoent WSAprotoent_number; + struct WIN_servent WSAservent_name; + struct WIN_servent WSAservent_port; }; static struct WinSockHeap *heap; @@ -123,7 +145,9 @@ static WORD wsaerrno(void) case EHOSTDOWN: return WSAEHOSTDOWN; case EHOSTUNREACH: return WSAEHOSTUNREACH; case ENOTEMPTY: return WSAENOTEMPTY; -/* case EPROCLIM: return WSAEPROCLIM; */ +#ifdef EPROCLIM + case EPROCLIM: return WSAEPROCLIM; +#endif case EUSERS: return WSAEUSERS; case EDQUOT: return WSAEDQUOT; case ESTALE: return WSAESTALE; @@ -135,7 +159,7 @@ static WORD wsaerrno(void) } } -static WORD errno_to_wsaerrno(void) +static void errno_to_wsaerrno(void) { wsa_errno = wsaerrno(); } @@ -170,8 +194,8 @@ static void convert_sockopt(INT *level, INT *optname) break; case 0x1008: *optname = SO_TYPE; break; - default: - fprintf(stderr, "convert_sockopt() unknown optname %d\n", optname); + default: + fprintf(stderr, "convert_sockopt() unknown optname %d\n", *optname); break; } break; @@ -179,11 +203,32 @@ static void convert_sockopt(INT *level, INT *optname) } } -SOCKET Winsock_accept(SOCKET s, struct sockaddr *addr, INT *addrlen) +#ifndef WINELIB +static void CONVERT_HOSTENT(struct WIN_hostent *heap, struct hostent *host) +{ + +} + +static void CONVERT_PROTOENT(struct WIN_protoent *heap, struct protoent *proto) +{ + +} + +static void CONVERT_SERVENT(struct WIN_servent *heap, struct servent *serv) +{ + +} +#else +#define CONVERT_HOSTENT(a,b) memcpy(&a, &b, sizeof(a)) +#define CONVERT_PROTOENT(a,b) memcpy(&a, &b, sizeof(a)) +#define CONVERT_SERVENT(a,b) memcpy(&a, &b, sizeof(a)) +#endif + +SOCKET WINSOCK_accept(SOCKET s, struct sockaddr *addr, INT *addrlen) { int sock; - dprintf_winsock(stddeb, "WSA_accept: socket %d, ptr %8x, length %d\n", s, (int) addr, addrlen); + dprintf_winsock(stddeb, "WSA_accept: socket %d, ptr %8x, length %d\n", s, (int) addr, *addrlen); if ((sock = accept(s, addr, (int *) addrlen)) < 0) { errno_to_wsaerrno(); @@ -192,7 +237,7 @@ SOCKET Winsock_accept(SOCKET s, struct sockaddr *addr, INT *addrlen) return sock; } -INT Winsock_bind(SOCKET s, struct sockaddr *name, INT namelen) +INT WINSOCK_bind(SOCKET s, struct sockaddr *name, INT namelen) { dprintf_winsock(stddeb, "WSA_bind: socket %d, ptr %8x, length %d\n", s, (int) name, namelen); dump_sockaddr(name); @@ -204,7 +249,7 @@ INT Winsock_bind(SOCKET s, struct sockaddr *name, INT namelen) return 0; } -INT Winsock_closesocket(SOCKET s) +INT WINSOCK_closesocket(SOCKET s) { dprintf_winsock(stddeb, "WSA_closesocket: socket %d\n", s); @@ -217,7 +262,7 @@ INT Winsock_closesocket(SOCKET s) return 0; } -INT Winsock_connect(SOCKET s, struct sockaddr *name, INT namelen) +INT WINSOCK_connect(SOCKET s, struct sockaddr *name, INT namelen) { dprintf_winsock(stddeb, "WSA_connect: socket %d, ptr %8x, length %d\n", s, (int) name, namelen); dump_sockaddr(name); @@ -229,7 +274,7 @@ INT Winsock_connect(SOCKET s, struct sockaddr *name, INT namelen) return 0; } -INT Winsock_getpeername(SOCKET s, struct sockaddr *name, INT *namelen) +INT WINSOCK_getpeername(SOCKET s, struct sockaddr *name, INT *namelen) { dprintf_winsock(stddeb, "WSA_getpeername: socket: %d, ptr %8x, ptr %8x\n", s, (int) name, *namelen); dump_sockaddr(name); @@ -241,7 +286,7 @@ INT Winsock_getpeername(SOCKET s, struct sockaddr *name, INT *namelen) return 0; } -INT Winsock_getsockname(SOCKET s, struct sockaddr *name, INT *namelen) +INT WINSOCK_getsockname(SOCKET s, struct sockaddr *name, INT *namelen) { dprintf_winsock(stddeb, "WSA_getsockname: socket: %d, ptr %8x, ptr %8x\n", s, (int) name, (int) *namelen); if (getsockname(s, name, (int *) namelen) < 0) { @@ -252,7 +297,7 @@ INT Winsock_getsockname(SOCKET s, struct sockaddr *name, INT *namelen) } INT -Winsock_getsockopt(SOCKET s, INT level, INT optname, char *optval, INT *optlen) +WINSOCK_getsockopt(SOCKET s, INT level, INT optname, char *optval, INT *optlen) { dprintf_winsock(stddeb, "WSA_getsockopt: socket: %d, opt %d, ptr %8x, ptr %8x\n", s, level, (int) optval, (int) *optlen); convert_sockopt(&level, &optname); @@ -264,26 +309,26 @@ Winsock_getsockopt(SOCKET s, INT level, INT optname, char *optval, INT *optlen) return 0; } -u_long Winsock_htonl(u_long hostlong) +u_long WINSOCK_htonl(u_long hostlong) { return( htonl(hostlong) ); } -u_short Winsock_htons(u_short hostshort) +u_short WINSOCK_htons(u_short hostshort) { return( htons(hostshort) ); } -u_long Winsock_inet_addr(char *cp) +u_long WINSOCK_inet_addr(char *cp) { return( inet_addr(cp) ); } -char *Winsock_inet_ntoa(struct in_addr in) +char *WINSOCK_inet_ntoa(struct in_addr in) { char *s; - dprintf_winsock(stddeb, "WSA_inet_ntoa: %8x\n", in); +/* dprintf_winsock(stddeb, "WSA_inet_ntoa: %8lx\n", (int) in);*/ if ((s = inet_ntoa(in)) == NULL) { errno_to_wsaerrno(); @@ -295,9 +340,9 @@ char *Winsock_inet_ntoa(struct in_addr in) return (char *) &heap->ntoa_buffer; } -INT Winsock_ioctlsocket(SOCKET s, long cmd, u_long *argp) +INT WINSOCK_ioctlsocket(SOCKET s, long cmd, u_long *argp) { - dprintf_winsock(stddeb, "WSA_ioctl: socket %d, cmd %d, ptr %8x\n", s, cmd, (int) argp); + dprintf_winsock(stddeb, "WSA_ioctl: socket %d, cmd %ld, ptr %8x\n", s, cmd, (int) argp); if (ioctl(s, cmd, argp) < 0) { errno_to_wsaerrno(); @@ -306,7 +351,7 @@ INT Winsock_ioctlsocket(SOCKET s, long cmd, u_long *argp) return 0; } -INT Winsock_listen(SOCKET s, INT backlog) +INT WINSOCK_listen(SOCKET s, INT backlog) { dprintf_winsock(stddeb, "WSA_listen: socket %d, backlog %d\n", s, backlog); @@ -317,17 +362,17 @@ INT Winsock_listen(SOCKET s, INT backlog) return 0; } -u_long Winsock_ntohl(u_long netlong) +u_long WINSOCK_ntohl(u_long netlong) { return( ntohl(netlong) ); } -u_short Winsock_ntohs(u_short netshort) +u_short WINSOCK_ntohs(u_short netshort) { return( ntohs(netshort) ); } -INT Winsock_recv(SOCKET s, char *buf, INT len, INT flags) +INT WINSOCK_recv(SOCKET s, char *buf, INT len, INT flags) { int length; @@ -340,12 +385,12 @@ INT Winsock_recv(SOCKET s, char *buf, INT len, INT flags) return length; } -INT Winsock_recvfrom(SOCKET s, char *buf, INT len, INT flags, +INT WINSOCK_recvfrom(SOCKET s, char *buf, INT len, INT flags, struct sockaddr *from, int *fromlen) { int length; - dprintf_winsock(stddeb, "WSA_recvfrom: socket %d, ptr %8x, length %d, flags %d\n", s, buf, len, flags); + dprintf_winsock(stddeb, "WSA_recvfrom: socket %d, ptr %8lx, length %d, flags %d\n", s, (unsigned long)buf, len, flags); if ((length = recvfrom(s, buf, len, flags, from, fromlen)) < 0) { errno_to_wsaerrno(); @@ -354,19 +399,19 @@ INT Winsock_recvfrom(SOCKET s, char *buf, INT len, INT flags, return length; } -INT Winsock_select(INT nfds, fd_set *readfds, fd_set *writefds, +INT WINSOCK_select(INT nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) { - dprintf_winsock(stddeb, "WSA_select: fd # %d, ptr %8x, ptr %8x, ptr %*X\n", nfds, readfds, writefds, exceptfds); + dprintf_winsock(stddeb, "WSA_select: fd # %d, ptr %8lx, ptr %8lx, ptr %8lX\n", nfds, (unsigned long) readfds, (unsigned long) writefds, (unsigned long) exceptfds); return(select(nfds, readfds, writefds, exceptfds, timeout)); } -INT Winsock_send(SOCKET s, char *buf, INT len, INT flags) +INT WINSOCK_send(SOCKET s, char *buf, INT len, INT flags) { int length; - dprintf_winsock(stddeb, "WSA_send: socket %d, ptr %8x, length %d, flags %d\n", s, buf, len, flags); + dprintf_winsock(stddeb, "WSA_send: socket %d, ptr %8lx, length %d, flags %d\n", s, (unsigned long) buf, len, flags); if ((length = send(s, buf, len, flags)) < 0) { errno_to_wsaerrno(); @@ -375,12 +420,12 @@ INT Winsock_send(SOCKET s, char *buf, INT len, INT flags) return length; } -INT Winsock_sendto(SOCKET s, char *buf, INT len, INT flags, +INT WINSOCK_sendto(SOCKET s, char *buf, INT len, INT flags, struct sockaddr *to, INT tolen) { int length; - dprintf_winsock(stddeb, "WSA_sendto: socket %d, ptr %8x, length %d, flags %d\n", s, buf, len, flags); + dprintf_winsock(stddeb, "WSA_sendto: socket %d, ptr %8lx, length %d, flags %d\n", s, (unsigned long) buf, len, flags); if ((length = sendto(s, buf, len, flags, to, tolen)) < 0) { errno_to_wsaerrno(); @@ -389,7 +434,7 @@ INT Winsock_sendto(SOCKET s, char *buf, INT len, INT flags, return length; } -INT Winsock_setsockopt(SOCKET s, INT level, INT optname, const char *optval, +INT WINSOCK_setsockopt(SOCKET s, INT level, INT optname, const char *optval, INT optlen) { dprintf_winsock(stddeb, "WSA_setsockopt: socket %d, level %d, opt %d, ptr %8x, len %d\n", s, level, optname, (int) optval, optlen); @@ -402,7 +447,7 @@ INT Winsock_setsockopt(SOCKET s, INT level, INT optname, const char *optval, return 0; } -INT Winsock_shutdown(SOCKET s, INT how) +INT WINSOCK_shutdown(SOCKET s, INT how) { dprintf_winsock(stddeb, "WSA_shutdown: socket s %d, how %d\n", s, how); @@ -413,7 +458,7 @@ INT Winsock_shutdown(SOCKET s, INT how) return 0; } -SOCKET Winsock_socket(INT af, INT type, INT protocol) +SOCKET WINSOCK_socket(INT af, INT type, INT protocol) { int sock; @@ -421,7 +466,7 @@ SOCKET Winsock_socket(INT af, INT type, INT protocol) if ((sock = socket(af, type, protocol)) < 0) { errno_to_wsaerrno(); - dprintf_winsock(stddeb, "WSA_socket: failed !\n"); + dprintf_winsock(stddeb, "WSA_socket: failed !\n"); return INVALID_SOCKET; } @@ -436,7 +481,7 @@ SOCKET Winsock_socket(INT af, INT type, INT protocol) return sock; } -struct hostent *Winsock_gethostbyaddr(const char *addr, INT len, INT type) +struct WIN_hostent *WINSOCK_gethostbyaddr(const char *addr, INT len, INT type) { struct hostent *host; @@ -446,30 +491,29 @@ struct hostent *Winsock_gethostbyaddr(const char *addr, INT len, INT type) errno_to_wsaerrno(); return NULL; } - memcpy(&heap->hostent_addr, host, sizeof(struct hostent)); + CONVERT_HOSTENT(&heap->hostent_addr, host); - return (struct hostent *) &heap->hostent_addr; + return &heap->hostent_addr; } -struct hostent *Winsock_gethostbyname(const char *name) +struct WIN_hostent *WINSOCK_gethostbyname(const char *name) { struct hostent *host; - dprintf_winsock(stddeb, "WSA_gethostbyname: name %s\n", name); + dprintf_winsock(stddeb, "WSA_gethostbyname: %s\n", name); if ((host = gethostbyname(name)) == NULL) { errno_to_wsaerrno(); return NULL; } - memcpy(&heap->hostent_name, host, sizeof(struct hostent)); + CONVERT_HOSTENT(&heap->hostent_name, host); - return (struct hostent *) &heap->hostent_name; + return &heap->hostent_name; } -int Winsock_gethostname(char *name, INT namelen) +INT WINSOCK_gethostname(char *name, INT namelen) { - - dprintf_winsock(stddeb, "WSA_gethostname: name %d, len %d\n", name, namelen); + dprintf_winsock(stddeb, "WSA_gethostname: name %s, len %d\n", name, namelen); if (gethostname(name, namelen) < 0) { errno_to_wsaerrno(); @@ -478,7 +522,7 @@ int Winsock_gethostname(char *name, INT namelen) return 0; } -struct protoent *Winsock_getprotobyname(char *name) +struct WIN_protoent *WINSOCK_getprotobyname(char *name) { struct protoent *proto; @@ -488,12 +532,12 @@ struct protoent *Winsock_getprotobyname(char *name) errno_to_wsaerrno(); return NULL; } - memcpy(&heap->protoent_name, proto, sizeof(struct protoent)); + CONVERT_PROTOENT(&heap->protoent_name, proto); - return (struct protoent *) &heap->protoent_name; + return &heap->protoent_name; } -struct protoent *Winsock_getprotobynumber(INT number) +struct WIN_protoent *WINSOCK_getprotobynumber(INT number) { struct protoent *proto; @@ -503,27 +547,30 @@ struct protoent *Winsock_getprotobynumber(INT number) errno_to_wsaerrno(); return NULL; } - memcpy(&heap->protoent_number, proto, sizeof(struct protoent)); + CONVERT_PROTOENT(&heap->protoent_number, proto); - return (struct protoent *) &heap->protoent_number; + return &heap->protoent_number; } -struct servent *Winsock_getservbyname(const char *name, const char *proto) +struct WIN_servent *WINSOCK_getservbyname(const char *name, const char *proto) { struct servent *service; + if (proto == NULL) + proto = "tcp"; + dprintf_winsock(stddeb, "WSA_getservbyname: name %s, proto %s\n", name, proto); if ((service = getservbyname(name, proto)) == NULL) { errno_to_wsaerrno(); return NULL; } - memcpy(&heap->servent_name, service, sizeof(struct servent)); + CONVERT_SERVENT(&heap->servent_name, service); - return (struct servent *) &heap->servent_name; + return &heap->servent_name; } -struct servent *Winsock_getservbyport(INT port, const char *proto) +struct WIN_servent *WINSOCK_getservbyport(INT port, const char *proto) { struct servent *service; @@ -533,9 +580,9 @@ struct servent *Winsock_getservbyport(INT port, const char *proto) errno_to_wsaerrno(); return NULL; } - memcpy(&heap->servent_port, service, sizeof(struct servent)); + CONVERT_SERVENT(&heap->servent_port, service); - return (struct servent *) &heap->servent_port; + return &heap->servent_port; } /******************** winsock specific functions ************************ @@ -543,7 +590,7 @@ struct servent *Winsock_getservbyport(INT port, const char *proto) */ static HANDLE new_handle = 0; -HANDLE AllocWSAHandle(void) +static HANDLE AllocWSAHandle(void) { return new_handle++; } @@ -556,7 +603,7 @@ static void recv_message(int sig) perror("wine: msgrcv"); fprintf(stderr, - "WSA: PostMessage (hwnd %d, wMsg %d, wParam %d, lParam %d)\n", + "WSA: PostMessage (hwnd %d, wMsg %d, wParam %d, lParam %ld)\n", message.hWnd, message.wMsg, message.handle, @@ -579,7 +626,7 @@ static void send_message(HANDLE handle, HWND hWnd, u_int wMsg, long lParam) message.lParam = lParam; fprintf(stderr, - "WSA: send (hwnd %d, wMsg %d, handle %d, lParam %d)\n", + "WSA: send (hwnd %d, wMsg %d, handle %d, lParam %ld)\n", hWnd, wMsg, handle, lParam); if (msgsnd(wine_key, &message, IPC_PACKET_SIZE, IPC_NOWAIT) == -1) @@ -725,7 +772,7 @@ INT WSAAsyncSelect(SOCKET s, HWND hWnd, u_int wMsg, long lEvent) long event; fd_set read_fds, write_fds, except_fds; - dprintf_winsock(stddeb, "WSA_AsyncSelect: socket %d, HWND %d, wMsg %d, event %d\n", s, hWnd, wMsg, lEvent); + dprintf_winsock(stddeb, "WSA_AsyncSelect: socket %d, HWND %d, wMsg %d, event %ld\n", s, hWnd, wMsg, lEvent); /* remove outstanding asyncselect() processes */ /* kill */ @@ -795,14 +842,16 @@ void WSASetLastError(INT iError) BOOL WSAIsBlocking(void) { dprintf_winsock(stddeb, "WSA_IsBlocking\n"); + + return 0; } FARPROC WSASetBlockingHook(FARPROC lpBlockFunc) { - dprintf_winsock(stddeb, "WSA_SetBlockHook %8x, STUB!\n", lpBlockFunc); + dprintf_winsock(stddeb, "WSA_SetBlockHook %8lx, STUB!\n", (unsigned long) lpBlockFunc); BlockFunction = lpBlockFunc; - return lpBlockFunc; + return (FARPROC) lpBlockFunc; } INT WSAUnhookBlockingHook(void) @@ -813,7 +862,7 @@ INT WSAUnhookBlockingHook(void) return 0; } -WSADATA Winsock_data = { +WSADATA WINSOCK_data = { 0x0101, 0x0101, "WINE Sockets", @@ -855,7 +904,7 @@ INT WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData) #ifndef WINELIB HEAP_Init(&MyHeap, heap, sizeof(struct WinSockHeap)); #endif - bcopy(&Winsock_data, lpWSAData, sizeof(Winsock_data)); + bcopy(&WINSOCK_data, lpWSAData, sizeof(WINSOCK_data)); /* ipc stuff */ diff --git a/miscemu/emulate.c b/miscemu/emulate.c index bf2c8682680..c0148870281 100644 --- a/miscemu/emulate.c +++ b/miscemu/emulate.c @@ -4,7 +4,6 @@ #include "regfunc.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" struct Win87EmInfoStruct { @@ -19,7 +18,7 @@ struct Win87EmInfoStruct { int WIN87_fpmath() { - dprintf_int(stddeb, "_fpmath: (%x:%x %x %x)\n",_CONTEXT->sc_cs, + dprintf_int(stddeb, "_fpmath: (%x:%lx %lx %x)\n",_CONTEXT->sc_cs, _CONTEXT->sc_eip, _CONTEXT->sc_es, _BX & 0xffff); switch(_BX & 0xffff) diff --git a/miscemu/int10.c b/miscemu/int10.c index 123ddbbc3f6..8bd9545747f 100644 --- a/miscemu/int10.c +++ b/miscemu/int10.c @@ -2,9 +2,9 @@ #include #include "registers.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" void IntBarf(int i, struct sigcontext_struct *context) diff --git a/miscemu/int13.c b/miscemu/int13.c index 1c08233fdef..294f48de126 100644 --- a/miscemu/int13.c +++ b/miscemu/int13.c @@ -2,13 +2,11 @@ #include #include "registers.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" -void IntBarf(int i, struct sigcontext_struct *context); - int do_int13(struct sigcontext_struct *context) { switch(AH) { diff --git a/miscemu/int15.c b/miscemu/int15.c index 3858e8f7f9e..9efc47c553a 100644 --- a/miscemu/int15.c +++ b/miscemu/int15.c @@ -2,13 +2,11 @@ #include #include "registers.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" -void IntBarf(int i, struct sigcontext_struct *context); - int do_int15(struct sigcontext_struct *context) { switch(AH) { diff --git a/miscemu/int16.c b/miscemu/int16.c index c1294f888b8..b3cc06e1d49 100644 --- a/miscemu/int16.c +++ b/miscemu/int16.c @@ -2,13 +2,11 @@ #include #include "registers.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" -void IntBarf(int i, struct sigcontext_struct *context); - int do_int16(struct sigcontext_struct *context) { switch(AH) { diff --git a/miscemu/int1a.c b/miscemu/int1a.c index 0e0a9fa8c47..a8739f0eb2c 100644 --- a/miscemu/int1a.c +++ b/miscemu/int1a.c @@ -4,9 +4,9 @@ #include "registers.h" #include "wine.h" #include "options.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" #ifdef linux @@ -18,14 +18,11 @@ #define BCD_TO_BIN(x) ((x&15) + (x>>4)*10) #define BIN_TO_BCD(x) ((x%10) + ((x/10)<<4)) -void IntBarf(int i, struct sigcontext_struct *context); - -int do_int1A(struct sigcontext_struct * context){ - time_t ltime; +int do_int1a(struct sigcontext_struct * context){ + time_t ltime, ticks; struct tm *bdtime; - int ticks; - if (Options.relay_debug) { + if (debugging_relay) { fprintf(stddeb,"int1A: AX %04x, BX %04x, CX %04x, DX %04x, " "SI %04x, DI %04x, DS %04x, ES %04x\n", AX, BX, CX, DX, SI, DI, DS, ES); diff --git a/miscemu/int21.c b/miscemu/int21.c index 5756d8a3145..5ab5c11e213 100644 --- a/miscemu/int21.c +++ b/miscemu/int21.c @@ -15,16 +15,17 @@ #include #include #include -#include "prototypes.h" +#include "dos_fs.h" #include "regfunc.h" #include "windows.h" -#include "wine.h" +#include "heap.h" #include "msdos.h" #include "registers.h" #include "options.h" +#include "prototypes.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" WORD ExtendedError, CodePage = 437; @@ -42,7 +43,6 @@ WORD sharing_retries = 3; /* number of retries at sharing violation */ WORD sharing_pause = 1; /* pause between retries */ extern char TempDirectory[]; -void IntBarf(int i, struct sigcontext_struct *context); static int Error(int e, int class, int el) { @@ -180,7 +180,6 @@ static void GetFreeDiskSpace(struct sigcontext_struct *context) static void GetDriveAllocInfo(struct sigcontext_struct *context) { - int drive; long size, available; BYTE mediaID; @@ -436,7 +435,7 @@ static void CreateFile(struct sigcontext_struct *context) { int handle; - if ((handle = open(GetUnixFileName( SAFEMAKEPTR(DS,DX)), + if ((handle = open(DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX)), O_CREAT | O_TRUNC | O_RDWR )) == -1) { errno_to_doserr(); AL = ExtendedError; @@ -469,7 +468,7 @@ void OpenExistingFile(struct sigcontext_struct *context) break; } - if ((handle = open(GetUnixFileName(SAFEMAKEPTR(DS,DX)), mode)) == -1) { + if ((handle = open(DOS_GetUnixFileName(SAFEMAKEPTR(DS,DX)), mode)) == -1) { errno_to_doserr(); AL = ExtendedError; SetCflag; @@ -552,8 +551,8 @@ static void RenameFile(struct sigcontext_struct *context) dprintf_int(stddeb,"int21: renaming %s to %s\n", SAFEMAKEPTR(DS,DX), SAFEMAKEPTR(ES,DI) ); - oldname = GetUnixFileName( SAFEMAKEPTR(DS,DX) ); - newname = GetUnixFileName( SAFEMAKEPTR(ES,DI) ); + oldname = DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX) ); + newname = DOS_GetUnixFileName( SAFEMAKEPTR(ES,DI) ); rename( oldname, newname); ResetCflag; @@ -566,7 +565,7 @@ static void MakeDir(struct sigcontext_struct *context) dprintf_int(stddeb,"int21: makedir %s\n", SAFEMAKEPTR(DS,DX) ); - if ((dirname = GetUnixFileName( SAFEMAKEPTR(DS,DX) ))== NULL) { + if ((dirname = DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX) ))== NULL) { AL = CanNotMakeDir; SetCflag; return; @@ -603,7 +602,7 @@ static void RemoveDir(struct sigcontext_struct *context) dprintf_int(stddeb,"int21: removedir %s\n", SAFEMAKEPTR(DS,DX) ); - if ((dirname = GetUnixFileName( SAFEMAKEPTR(DS,DX) ))== NULL) { + if ((dirname = DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX) ))== NULL) { AL = CanNotMakeDir; SetCflag; return; @@ -624,7 +623,7 @@ static void RemoveDir(struct sigcontext_struct *context) static void ExecProgram(struct sigcontext_struct *context) { - execl("wine", GetUnixFileName( SAFEMAKEPTR(DS,DX)) ); + execl("wine", DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX)) ); } static void FindNext(struct sigcontext_struct *context) @@ -704,7 +703,7 @@ static void GetFileDateTime(struct sigcontext_struct *context) struct stat filestat; struct tm *now; - if ((filename = GetUnixFileName( SAFEMAKEPTR(DS,DX) ))== NULL) { + if ((filename = DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX) ))== NULL) { AL = FileNotFound; SetCflag; return; @@ -724,7 +723,7 @@ static void SetFileDateTime(struct sigcontext_struct *context) char *filename; struct utimbuf filetime; - filename = GetUnixFileName( SAFEMAKEPTR(DS,DX) ); + filename = DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX) ); filetime.actime = 0L; filetime.modtime = filetime.actime; @@ -742,7 +741,7 @@ static void CreateTempFile(struct sigcontext_struct *context) dprintf_int(stddeb,"CreateTempFile %s\n",temp); - handle = open(GetUnixFileName(temp), O_CREAT | O_TRUNC | O_RDWR); + handle = open(DOS_GetUnixFileName(temp), O_CREAT | O_TRUNC | O_RDWR); if (handle == -1) { AL = WriteProtected; @@ -760,7 +759,7 @@ static void CreateNewFile(struct sigcontext_struct *context) { int handle; - if ((handle = open(GetUnixFileName( SAFEMAKEPTR(DS,DX) ), O_CREAT | O_EXCL | O_RDWR)) == -1) { + if ((handle = open(DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX) ), O_CREAT | O_EXCL | O_RDWR)) == -1) { AL = WriteProtected; SetCflag; return; @@ -961,7 +960,7 @@ static void DeleteFileFCB(struct sigcontext_struct *context) { strcpy(ptr, dp->filename); dprintf_int(stddeb, "int21: delete file %s\n", temp); - /* unlink(GetUnixFileName(temp)); */ + /* unlink(DOS_GetUnixFileName(temp)); */ } DOS_closedir(dp); AL = 0; @@ -1073,7 +1072,7 @@ static void GetFileAttribute (struct sigcontext_struct * context) struct stat s; int res,cx; - res = stat(GetUnixFileName(filename), &s); + res = stat(DOS_GetUnixFileName(filename), &s); if (res==-1) { errno_to_doserr(); @@ -1099,7 +1098,7 @@ static void GetFileAttribute (struct sigcontext_struct * context) int do_int21(struct sigcontext_struct * context) { - if (Options.relay_debug) + if (debugging_relay) { fprintf(stddeb,"int21: AX %04x, BX %04x, CX %04x, DX %04x, " "SI %04x, DI %04x, DS %04x, ES %04x\n", @@ -1336,7 +1335,7 @@ int do_int21(struct sigcontext_struct * context) break; case 0x41: /* "UNLINK" - DELETE FILE */ - if (unlink( GetUnixFileName( SAFEMAKEPTR(DS,DX)) ) == -1) { + if (unlink( DOS_GetUnixFileName( SAFEMAKEPTR(DS,DX)) ) == -1) { errno_to_doserr(); AL = ExtendedError; SetCflag; @@ -1590,7 +1589,7 @@ int do_int21(struct sigcontext_struct * context) /********************************************************************** * DOS3Call */ -void DOS3Call() +void DOS3Call(void) { do_int21((struct sigcontext_struct *) _CONTEXT); ReturnFromRegisterFunc(); diff --git a/miscemu/int25.c b/miscemu/int25.c index 67c2ec6e8b5..54cdbc65ceb 100644 --- a/miscemu/int25.c +++ b/miscemu/int25.c @@ -1,12 +1,13 @@ #include #include +#include #include "registers.h" #include "msdos.h" #include "segmem.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" int do_int25(struct sigcontext_struct *context) @@ -23,8 +24,8 @@ int do_int25(struct sigcontext_struct *context) begin = DX; length = CX; } - dprintf_int(stdnimp, "int25: abs diskread, drive %d, sector %d, " - "count %d, buffer %d\n", EAX & 0xff, begin, length, (int) dataptr); + dprintf_int(stdnimp, "int25: abs diskread, drive %d, sector %ld, " + "count %ld, buffer %d\n", EAX & 0xff, begin, length, (int) dataptr); memset(dataptr, 0, length * 512); diff --git a/miscemu/int26.c b/miscemu/int26.c index 2b262edc48c..e6a7da877a3 100644 --- a/miscemu/int26.c +++ b/miscemu/int26.c @@ -4,13 +4,11 @@ #include "msdos.h" #include "segmem.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" -void IntBarf(int i, struct sigcontext_struct *context); - int do_int26(struct sigcontext_struct *context) { BYTE *dataptr = SAFEMAKEPTR(DS, BX); @@ -26,8 +24,8 @@ int do_int26(struct sigcontext_struct *context) length = CX; } - dprintf_int(stdnimp,"int26: abs diskwrite, drive %d, sector %d, count %d," - " buffer %d\n", EAX & 0xff, begin, length, (int) dataptr); + dprintf_int(stdnimp,"int26: abs diskwrite, drive %d, sector %ld, " + "count %ld, buffer %d\n", EAX & 0xff, begin, length, (int) dataptr); ResetCflag; diff --git a/miscemu/int2a.c b/miscemu/int2a.c index 74ed60f419f..63ed11d4bfe 100644 --- a/miscemu/int2a.c +++ b/miscemu/int2a.c @@ -2,13 +2,11 @@ #include #include "msdos.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" -void IntBarf(int i, struct sigcontext_struct *context); - int do_int2a(struct sigcontext_struct *context) { switch((context->sc_eax >> 8) & 0xff) diff --git a/miscemu/int2f.c b/miscemu/int2f.c index e41fd5b6ab4..25d9acd9539 100644 --- a/miscemu/int2f.c +++ b/miscemu/int2f.c @@ -2,12 +2,11 @@ #include #include "registers.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" -void IntBarf(int i, struct sigcontext_struct *context); int do_int2f_16(struct sigcontext_struct *context); int do_int2f(struct sigcontext_struct *context) diff --git a/miscemu/int31.c b/miscemu/int31.c index f38b3629825..7aa7dfde7fd 100644 --- a/miscemu/int31.c +++ b/miscemu/int31.c @@ -2,9 +2,9 @@ #include #include "registers.h" #include "wine.h" +#include "miscemu.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" typedef struct { @@ -48,7 +48,8 @@ int do_int31(struct sigcontext_struct *context) context->sc_eax = DPMI_FreeSelector(context->sc_ebx); break; case 0x000C: - lpDesc = MAKELONG(context->sc_edi, context->sc_es); + lpDesc = (LPDESCRIPTOR) MAKELONG(context->sc_edi, + context->sc_es); context->sc_eax = DPMI_SetDescriptor(context->sc_ebx, lpDesc); break; default: diff --git a/miscemu/ioports.c b/miscemu/ioports.c index d8b09f3d03a..fe86fc1a14f 100644 --- a/miscemu/ioports.c +++ b/miscemu/ioports.c @@ -5,7 +5,6 @@ #include "wine.h" #include "stddebug.h" /* #define DEBUG_INT */ -/* #undef DEBUG_INT */ #include "debug.h" static BYTE cmosaddress; @@ -42,6 +41,18 @@ void inport(struct sigcontext_struct *context) AX = 0xffff; } +void inportb_abs(struct sigcontext_struct *context) +{ + dprintf_int(stdnimp, "IO: in (%x)\n", *(BYTE *)(EIP+1)); + AL = 0xff; +} + +void inport_abs(struct sigcontext_struct *context) +{ + dprintf_int(stdnimp, "IO: in (%x)\n", *(BYTE *)(EIP+1)); + AX = 0xffff; +} + void outportb(struct sigcontext_struct *context) { dprintf_int(stdnimp, "IO: outb (%x), %x\n", DX, AX); @@ -62,3 +73,13 @@ void outport(struct sigcontext_struct *context) { dprintf_int(stdnimp, "IO: out (%x), %x\n", DX, AX); } + +void outportb_abs(struct sigcontext_struct *context) +{ + dprintf_int(stdnimp, "IO: out (%x), %x\n", *(BYTE *)(EIP+1), AL); +} + +void outport_abs(struct sigcontext_struct *context) +{ + dprintf_int(stdnimp, "IO: out (%x), %x\n", *(BYTE *)(EIP+1), AX); +} diff --git a/miscemu/kernel.c b/miscemu/kernel.c index a2a559fc020..27b08b59333 100644 --- a/miscemu/kernel.c +++ b/miscemu/kernel.c @@ -1,5 +1,7 @@ +/* static char RCSId[] = "$Id: kernel.c,v 1.2 1993/07/04 04:04:21 root Exp root $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; +*/ #include #include @@ -20,7 +22,7 @@ KERNEL_LockSegment(int segment) if (segment == -1) segment = *(Stack16Frame + 6); - if (Options.relay_debug) + if (debugging_relay) fprintf(stddeb,"LockSegment: segment %x\n", segment); return segment; @@ -35,7 +37,7 @@ KERNEL_UnlockSegment(int segment) if (segment == -1) segment = *(Stack16Frame + 6); - if (Options.relay_debug) + if (debugging_relay) fprintf(stddeb,"UnlockSegment: segment %x\n", segment); return segment; @@ -44,7 +46,7 @@ KERNEL_UnlockSegment(int segment) /********************************************************************** * KERNEL_InitTask */ -KERNEL_InitTask() +void KERNEL_InitTask(void) { _BX = 0x81; _AX = 1; @@ -66,7 +68,7 @@ KERNEL_InitTask() int KERNEL_WaitEvent(int task) { - if (Options.relay_debug) + if (debugging_relay) fprintf(stddeb,"WaitEvent: task %d\n", task); return 0; } diff --git a/multimedia/audio.c b/multimedia/audio.c index 3f7cd4ed6e9..e005b866d19 100644 --- a/multimedia/audio.c +++ b/multimedia/audio.c @@ -2,9 +2,9 @@ * Sample Wine Driver for Linux * * Copyright 1994 Martin Ayotte - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1994"; - +*/ #ifndef WINELIB #define BUILTIN_MMSYSTEM #endif @@ -28,8 +28,6 @@ static char Copyright[] = "Copyright Martin Ayotte, 1994"; #endif #include "stddebug.h" -/* #define DEBUG_MCIWAVE /* */ -/* #undef DEBUG_MCIWAVE /* */ #include "debug.h" #ifdef linux @@ -79,7 +77,7 @@ typedef struct { } LINUX_MCIWAVE; static LINUX_WAVEOUT WOutDev[MAX_WAVOUTDRV]; -static LINUX_WAVEIN WInDev[MAX_WAVOUTDRV]; +static LINUX_WAVEIN WInDev[MAX_WAVOUTDRV]; static LINUX_MCIWAVE MCIWavDev[MAX_MCIWAVDRV]; #endif @@ -190,14 +188,12 @@ LRESULT WAVE_DriverProc(DWORD dwDevID, HDRVR hDriv, WORD wMsg, DWORD WAVE_mciOpen(DWORD dwFlags, LPMCI_WAVE_OPEN_PARMS lpParms) { #ifdef linux - int hFile; UINT wDevID; - OFSTRUCT OFstruct; LPPCMWAVEFORMAT lpWaveFormat; WAVEOPENDESC WaveDesc; DWORD dwRet; char str[128]; - LPSTR ptr; + dprintf_mciwave(stddeb,"WAVE_mciOpen(%08X, %08X)\n", dwFlags, lpParms); if (lpParms == NULL) return MCIERR_INTERNAL; wDevID = lpParms->wDeviceID; @@ -406,7 +402,8 @@ DWORD WAVE_mciRecord(UINT wDevID, DWORD dwFlags, LPMCI_RECORD_PARMS lpParms) int count; int start, end; LPWAVEHDR lpWaveHdr; - DWORD dwRet; + DWORD dwRet; + dprintf_mciwave(stddeb, "WAVE_mciRecord(%u, %08X, %08X);\n", wDevID, dwFlags, lpParms); if (MCIWavDev[wDevID].hFile == 0) { diff --git a/multimedia/mcianim.c b/multimedia/mcianim.c index 7a191d4e277..ce2ddc24363 100644 --- a/multimedia/mcianim.c +++ b/multimedia/mcianim.c @@ -2,9 +2,9 @@ * Sample MCI ANIMATION Wine Driver for Linux * * Copyright 1994 Martin Ayotte - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1994"; - +*/ #ifndef WINELIB #define BUILTIN_MMSYSTEM #endif @@ -22,8 +22,7 @@ static char Copyright[] = "Copyright Martin Ayotte, 1994"; #include "driver.h" #include "mmsystem.h" #include "stddebug.h" -/* #define DEBUG_MCIANIM /* */ -/* #undef DEBUG_MCIANIM /* */ +/* #define DEBUG_MCIANIM */ #define DEBUG_MCIANIM #include "debug.h" diff --git a/multimedia/mcicda.c b/multimedia/mcicda.c index de2a3d81e4c..67753351ef5 100644 --- a/multimedia/mcicda.c +++ b/multimedia/mcicda.c @@ -2,9 +2,9 @@ * Sample MCI CDAUDIO Wine Driver for Linux * * Copyright 1994 Martin Ayotte - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1994"; - +*/ #ifndef WINELIB #define BUILTIN_MMSYSTEM #endif @@ -22,8 +22,7 @@ static char Copyright[] = "Copyright Martin Ayotte, 1994"; #include "driver.h" #include "mmsystem.h" #include "stddebug.h" -/* #define DEBUG_CDAUDIO /* */ -/* #undef DEBUG_CDAUDIO /* */ +/* #define DEBUG_CDAUDIO */ #include "debug.h" #ifdef linux diff --git a/multimedia/midi.c b/multimedia/midi.c index d3342907b71..df240455a9e 100644 --- a/multimedia/midi.c +++ b/multimedia/midi.c @@ -2,16 +2,16 @@ * Sample MIDI Wine Driver for Linux * * Copyright 1994 Martin Ayotte - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1994"; - +*/ #ifndef WINELIB #define BUILTIN_MMSYSTEM #endif #ifdef BUILTIN_MMSYSTEM -#include "stdio.h" +#include #include "win.h" #include "user.h" #include "driver.h" @@ -20,8 +20,7 @@ static char Copyright[] = "Copyright Martin Ayotte, 1994"; #include #include "stddebug.h" -/* #define DEBUG_MIDI /* */ -/* #undef DEBUG_MIDI /* */ +/* #define DEBUG_MIDI */ #define DEBUG_MIDI #include "debug.h" diff --git a/multimedia/mmaux.c b/multimedia/mmaux.c index ef69eed2f77..a3ab0a810b5 100644 --- a/multimedia/mmaux.c +++ b/multimedia/mmaux.c @@ -2,9 +2,9 @@ * Sample AUXILARY Wine Driver for Linux * * Copyright 1994 Martin Ayotte - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1994"; - +*/ #ifndef WINELIB #define BUILTIN_MMSYSTEM #endif diff --git a/multimedia/mmsystem.c b/multimedia/mmsystem.c index e9322fd716b..28f67cb155f 100644 --- a/multimedia/mmsystem.c +++ b/multimedia/mmsystem.c @@ -2,9 +2,9 @@ * MMSYTEM functions * * Copyright 1993 Martin Ayotte - */ + * static char Copyright[] = "Copyright Martin Ayotte, 1993"; - +*/ #ifndef WINELIB #include diff --git a/objects/bitblt.c b/objects/bitblt.c index fa58dad4ab3..e945faf5009 100644 --- a/objects/bitblt.c +++ b/objects/bitblt.c @@ -2,30 +2,26 @@ * GDI bit-blit operations * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include #include #include #include - +#include "windows.h" +#include "dc.h" #include "gdi.h" +#include "color.h" #include "metafile.h" #include "options.h" #include "stddebug.h" /* #define DEBUG_GDI */ -/* #undef DEBUG_GDI */ #include "debug.h" -extern const int DC_XROPfunction[]; -extern Colormap COLOR_WinColormap; - #define MIN(a,b) ((a) < (b) ? (a) : (b)) #define MAX(a,b) ((a) > (b) ? (a) : (b)) - /*********************************************************************** * BITBLT_GetImage */ diff --git a/objects/bitmap.c b/objects/bitmap.c index 14bdd1f302e..7766826e47a 100644 --- a/objects/bitmap.c +++ b/objects/bitmap.c @@ -2,33 +2,30 @@ * GDI bitmap objects * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include #include #include #include #include "gdi.h" +#include "dc.h" #include "bitmap.h" #include "stddebug.h" /* #define DEBUG_GDI */ -/* #undef DEBUG_GDI */ -/* #define DEBUG_BITMAP */ /* #define DEBUG_BITMAP */ #include "debug.h" /* GCs used for B&W and color bitmap operations */ GC BITMAP_monoGC = 0, BITMAP_colorGC = 0; -extern void DC_InitDC( HDC hdc ); /* objects/dc.c */ extern void CLIPPING_UpdateGCRegion( DC * dc ); /* objects/clipping.c */ /*********************************************************************** * BITMAP_Init */ -BOOL BITMAP_Init() +BOOL BITMAP_Init(void) { Pixmap tmpPixmap; diff --git a/objects/brush.c b/objects/brush.c index 4403353e512..75de5d6842b 100644 --- a/objects/brush.c +++ b/objects/brush.c @@ -2,17 +2,16 @@ * GDI brush objects * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include "gdi.h" #include "bitmap.h" #include "prototypes.h" #include "metafile.h" #include "stddebug.h" -/* #define DEBUG_GDI */ -/* #undef DEBUG_GDI */ +#include "color.h" #include "debug.h" #define NB_HATCH_STYLES 6 @@ -27,8 +26,6 @@ static char HatchBrushes[NB_HATCH_STYLES][8] = { 0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81 } /* HS_DIAGCROSS */ }; -extern WORD COLOR_ToPhysical( DC *dc, COLORREF color ); - /*********************************************************************** * CreateBrushIndirect (GDI.50) @@ -180,7 +177,7 @@ int BRUSH_GetObject( BRUSHOBJ * brush, int count, LPSTR buffer ) */ static void BRUSH_SelectSolidBrush( DC *dc, COLORREF color ) { - if ((dc->w.bitsPerPixel > 1) && !COLOR_IsSolid( color )) + if ((dc->w.bitsPerPixel > 1) && (screenDepth <= 8) && !COLOR_IsSolid( color )) { /* Dithered brush */ dc->u.x.brush.pixmap = DITHER_DitherColor( dc, color ); diff --git a/objects/clipping.c b/objects/clipping.c index d6d8bbac5ab..d0c3e134951 100644 --- a/objects/clipping.c +++ b/objects/clipping.c @@ -2,10 +2,9 @@ * DC clipping functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include #include "gdi.h" #include "metafile.h" diff --git a/objects/color.c b/objects/color.c index 545169b8187..500eac22eb4 100644 --- a/objects/color.c +++ b/objects/color.c @@ -2,16 +2,16 @@ * Color functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include #include #include #include "windows.h" #include "options.h" #include "gdi.h" +#include "color.h" Colormap COLOR_WinColormap = 0; @@ -91,7 +91,7 @@ static BOOL COLOR_BuildMap( Colormap map, int depth, int size ) * * Create the system palette. */ -static HPALETTE COLOR_InitPalette() +static HPALETTE COLOR_InitPalette(void) { int i, size; XColor color; @@ -162,7 +162,7 @@ static HPALETTE COLOR_InitPalette() * * Initialize color map and system palette. */ -HPALETTE COLOR_Init() +HPALETTE COLOR_Init(void) { Visual * visual = DefaultVisual( display, DefaultScreen(display) ); @@ -227,7 +227,7 @@ BOOL COLOR_IsSolid( COLORREF color ) * * Return the physical color closest to 'color'. */ -WORD COLOR_ToPhysical( DC *dc, COLORREF color ) +int COLOR_ToPhysical( DC *dc, COLORREF color ) { WORD index = 0; WORD *mapping; @@ -292,7 +292,8 @@ COLORREF GetNearestColor( HDC hdc, COLORREF color ) WORD index; DC *dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC ); if (!dc) return 0; - index = COLOR_ToPhysical( dc, color & 0xffffff ); + if (screenDepth > 8) return color; + index = (WORD)(COLOR_ToPhysical( dc, color & 0xffffff ) & 0xffff); return PALETTEINDEX( index ); } diff --git a/objects/dc.c b/objects/dc.c index a38906c494d..87d800645d1 100644 --- a/objects/dc.c +++ b/objects/dc.c @@ -2,29 +2,23 @@ * GDI Device Context functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include #include #include "gdi.h" #include "bitmap.h" #include "metafile.h" #include "stddebug.h" -/* #define DEBUG_DC /* */ -/* #undef DEBUG_DC /* */ +#include "color.h" #include "debug.h" - +#include "font.h" static DeviceCaps * displayDevCaps = NULL; extern const WIN_DC_INFO DCVAL_defaultValues; - extern void CLIPPING_UpdateGCRegion( DC * dc ); /* objects/clipping.c */ -extern WORD COLOR_ToPhysical( DC *dc, COLORREF color );/* objects/color.c */ -extern void COLOR_SetMapping( DC *dc, HANDLE, WORD ); /* objects/color.c */ - /* ROP code to GC function conversion */ const int DC_XROPfunction[16] = diff --git a/objects/dcvalues.c b/objects/dcvalues.c index 2def05b2fd5..801b6df0f9c 100644 --- a/objects/dcvalues.c +++ b/objects/dcvalues.c @@ -2,10 +2,9 @@ * DC device-independent Get/SetXXX functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include "gdi.h" #include "metafile.h" diff --git a/objects/dib.c b/objects/dib.c index afb79be56b7..d841f01f8ca 100644 --- a/objects/dib.c +++ b/objects/dib.c @@ -2,27 +2,37 @@ * GDI device independent bitmaps * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include #include #include #include +#include "dc.h" #include "gdi.h" #include "bitmap.h" #include "icon.h" #include "stddebug.h" -/* #define DEBUG_ICON /* */ -/* #undef DEBUG_ICON /* */ -/* #define DEBUG_BITMAP /* */ -/* #undef DEBUG_BIYMAP /* */ +#include "color.h" #include "debug.h" -extern const int DC_XROPfunction[]; - -extern WORD COLOR_ToPhysical( DC *dc, COLORREF color ); /* color.c */ +static int get_bpp(int depth) +{ + switch(depth) { + case 4: + case 8: + return 1; + case 15: + case 16: + return 2; + case 24: + return 4; + default: + fprintf(stderr, "DIB: unsupported depth %d!\n", depth); + exit(1); + } +} /*********************************************************************** * DIB_BitmapInfoSize @@ -51,9 +61,8 @@ static XImage *DIB_DIBmpToImage( BITMAPINFOHEADER * bmp, void * bmpData ) { extern void _XInitImageFuncPtrs( XImage* ); XImage * image; - int bytesPerLine = ((bmp->biBitCount == 24 ? 32 : bmp->biBitCount) - * bmp->biWidth + 31) / 32 * 4; - + int bytesPerLine = bmp->biWidth * get_bpp(bmp->biBitCount); + image = XCreateImage( display, DefaultVisualOfScreen( screen ), bmp->biBitCount, ZPixmap, 0, bmpData, bmp->biWidth, bmp->biHeight, 32, bytesPerLine ); @@ -72,7 +81,7 @@ static XImage *DIB_DIBmpToImage( BITMAPINFOHEADER * bmp, void * bmpData ) * SetDIBits for a 1-bit deep DIB. */ static void DIB_SetImageBits_1( WORD lines, BYTE *bits, WORD width, - WORD *colors, XImage *bmpImage ) + int *colors, XImage *bmpImage ) { WORD i, x; BYTE pad, pix; @@ -116,7 +125,7 @@ static void DIB_SetImageBits_1( WORD lines, BYTE *bits, WORD width, * SetDIBits for a 4-bit deep DIB. */ static void DIB_SetImageBits_4( WORD lines, BYTE *bits, WORD width, - WORD *colors, XImage *bmpImage ) + int *colors, XImage *bmpImage ) { WORD i, x; BYTE pad; @@ -150,7 +159,7 @@ static void DIB_SetImageBits_4( WORD lines, BYTE *bits, WORD width, * SetDIBits for a 4-bit deep compressed DIB. */ static void DIB_SetImageBits_RLE4( WORD lines, BYTE *bits, WORD width, - WORD *colors, XImage *bmpImage ) + int *colors, XImage *bmpImage ) { int x = 0, c, length; BYTE *begin = bits; @@ -209,7 +218,7 @@ static void DIB_SetImageBits_RLE4( WORD lines, BYTE *bits, WORD width, * SetDIBits for an 8-bit deep DIB. */ static void DIB_SetImageBits_8( WORD lines, BYTE *bits, WORD width, - WORD *colors, XImage *bmpImage ) + int *colors, XImage *bmpImage ) { WORD x; BYTE pad = (4 - (width & 3)) & 3; @@ -256,7 +265,7 @@ enum Rle8_EscapeCodes static void DIB_SetImageBits_RLE8(WORD lines, BYTE *bits, WORD width, - WORD *colors, + int *colors, XImage *bmpImage) { int x; /* X-positon on each line. Increases. */ @@ -437,7 +446,7 @@ static int DIB_SetImageBits( DC *dc, WORD lines, WORD depth, LPSTR bits, Drawable drawable, GC gc, int xSrc, int ySrc, int xDest, int yDest, int width, int height ) { - WORD *colorMapping; + int *colorMapping; XImage *bmpImage; void *bmpData; int i, colors, widthBytes; @@ -449,7 +458,7 @@ static int DIB_SetImageBits( DC *dc, WORD lines, WORD depth, LPSTR bits, { colors = info->bmiHeader.biClrUsed; if (!colors) colors = 1 << info->bmiHeader.biBitCount; - if (!(colorMapping = (WORD *)malloc( colors * sizeof(WORD) ))) + if (!(colorMapping = (int *)malloc( colors * sizeof(int) ))) return 0; if (coloruse == DIB_RGB_COLORS) { @@ -468,9 +477,8 @@ static int DIB_SetImageBits( DC *dc, WORD lines, WORD depth, LPSTR bits, } /* Transfer the pixels */ + widthBytes = info->bmiHeader.biWidth * get_bpp(depth); - widthBytes = ((depth == 24 ? 32 : depth) * info->bmiHeader.biWidth + 31) - / 32 * 4; bmpData = malloc( lines * widthBytes ); bmpImage = XCreateImage( display, DefaultVisualOfScreen(screen), depth, ZPixmap, 0, bmpData, @@ -655,7 +663,7 @@ BOOL DrawIcon(HDC hDC, short x, short y, HICON hIcon) BITMAP bm; HBITMAP hBitTemp; HDC hMemDC; - HDC hMemDC2; + dprintf_icon(stddeb,"DrawIcon(%04X, %d, %d, %04X) \n", hDC, x, y, hIcon); if (hIcon == (HICON)NULL) return FALSE; lpico = (ICONALLOC *)GlobalLock(hIcon); @@ -674,17 +682,17 @@ BOOL DrawIcon(HDC hDC, short x, short y, HICON hIcon) dprintf_icon(stddeb,"DrawIcon / bitmap bmWidth=%d bmHeight=%d\n", bm.bmWidth, bm.bmHeight); hMemDC = CreateCompatibleDC(hDC); -#ifdef DEBUG_ICON + if(debugging_icon){ hBitTemp = SelectObject(hMemDC, lpico->hBitmap); BitBlt(hDC, x, y, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY); SelectObject(hMemDC, lpico->hBitMask); BitBlt(hDC, x, y + bm.bmHeight, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY); -#else + }else{ hBitTemp = SelectObject(hMemDC, lpico->hBitMask); BitBlt(hDC, x, y, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCAND); SelectObject(hMemDC, lpico->hBitmap); BitBlt(hDC, x, y, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCPAINT); -#endif + } SelectObject( hMemDC, hBitTemp ); DeleteDC(hMemDC); return TRUE; diff --git a/objects/dither.c b/objects/dither.c index 52101063ac6..d90396dbe7f 100644 --- a/objects/dither.c +++ b/objects/dither.c @@ -2,14 +2,14 @@ * Dithering functions * * Copyright 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1994"; +*/ #include #include #include - +#include "color.h" #include "gdi.h" #include "bitmap.h" @@ -70,9 +70,6 @@ static const int EGAmapping[TOTAL_LEVELS] = 15 /* ffffff -> ffffff */ }; - /* Map an EGA index (0..15) to a pixel value */ -extern int COLOR_mapEGAPixel[16]; /* in color.c */ - #define PIXEL_VALUE(r,g,b) \ COLOR_mapEGAPixel[EGAmapping[((r)*PRIMARY_LEVELS+(g))*PRIMARY_LEVELS+(b)]] @@ -86,7 +83,7 @@ static char *imageData = NULL; * * Create the X image used for dithering. */ -BOOL DITHER_Init() +BOOL DITHER_Init(void) { int bytes_per_line = (screenDepth * MATRIX_SIZE + 7) / 8; if (!(imageData = (char *) malloc( bytes_per_line * MATRIX_SIZE ))) @@ -116,7 +113,7 @@ Pixmap DITHER_DitherColor( DC *dc, COLORREF color ) int b = GetBValue( color ) * DITHER_LEVELS; const int *pmatrix = dither_matrix; - WORD *mapping = (WORD *) GDI_HEAP_ADDR( dc->u.x.pal.hMapping ); +/* WORD *mapping = (WORD *) GDI_HEAP_ADDR( dc->u.x.pal.hMapping );*/ for (y = 0; y < MATRIX_SIZE; y++) { diff --git a/objects/font.c b/objects/font.c index f051b8a1340..f03962fdfc0 100644 --- a/objects/font.c +++ b/objects/font.c @@ -2,9 +2,9 @@ * GDI font objects * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include #include @@ -12,9 +12,10 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; #include #include "user.h" #include "gdi.h" +#include "metafile.h" +#include "callback.h" #include "stddebug.h" /* #define DEBUG_FONT */ -/* #undef DEBUG_FONT */ #include "debug.h" #define MAX_FONTS 256 @@ -429,7 +430,7 @@ DWORD GetTextExtent( HDC hdc, LPSTR str, short count ) { SIZE size; if (!GetTextExtentPoint( hdc, str, count, &size )) return 0; - return size.cx | (size.cy << 16); + return MAKELONG( size.cx, size.cy ); } @@ -582,7 +583,7 @@ int ParseFontParms(LPSTR lpFont, WORD wParmsNo, LPSTR lpRetStr, WORD wMaxSiz) /************************************************************************* * InitFontsList [internal] */ -void InitFontsList() +void InitFontsList(void) { char str[32]; char pattern[100]; diff --git a/objects/gdiobj.c b/objects/gdiobj.c index 992c9350ce5..6e8fa39f88c 100644 --- a/objects/gdiobj.c +++ b/objects/gdiobj.c @@ -2,18 +2,20 @@ * GDI functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include #include #include "user.h" #include "gdi.h" +#include "color.h" #include "prototypes.h" #include "stddebug.h" +#include "bitmap.h" +#include "font.h" /* #define DEBUG_GDI */ -/* #undef DEBUG_GDI */ #include "debug.h" MDESC *GDI_Heap = NULL; @@ -25,8 +27,6 @@ MDESC *GDI_Heap = NULL; #define MAX_OBJ 1024 HANDLE *lpPenBrushList = NULL; -extern HPALETTE COLOR_Init(); /* color.c */ - /*********************************************************************** * GDI stock objects */ @@ -155,7 +155,7 @@ static GDIOBJHDR * StockObjects[NB_STOCK_OBJECTS] = * * GDI initialisation. */ -BOOL GDI_Init() +BOOL GDI_Init(void) { HPALETTE hpalette; struct segment_descriptor_s * s; @@ -429,8 +429,8 @@ BOOL UnrealizeObject( HANDLE handle ) */ int EnumObjects(HDC hDC, int nObjType, FARPROC lpEnumFunc, LPSTR lpData) { - HANDLE handle; - DC *dc; +/* HANDLE handle; + DC *dc;*/ HANDLE *lphObj; GDIOBJHDR *header; WORD wMagic; diff --git a/objects/linedda.c b/objects/linedda.c index e61290dab75..729f9ec26a8 100644 --- a/objects/linedda.c +++ b/objects/linedda.c @@ -2,12 +2,13 @@ * LineDDA * * Copyright 1993 Bob Amstadt - */ - + * static char Copyright[] = "Copyright Bob Amstadt, 1993"; +*/ #include #include "windows.h" +#include "if1632.h" /********************************************************************** * LineDDA (GDI.100) diff --git a/objects/metafile.c b/objects/metafile.c index 8715bf72e06..debdf234812 100644 --- a/objects/metafile.c +++ b/objects/metafile.c @@ -2,9 +2,9 @@ * Metafile functions * * Copyright David W. Metcalfe, 1994 - */ - + * static char Copyright[] = "Copyright David W. Metcalfe, 1994"; +*/ #include #include "windows.h" @@ -12,8 +12,7 @@ static char Copyright[] = "Copyright David W. Metcalfe, 1994"; #include "metafile.h" #include "prototypes.h" #include "stddebug.h" -/* #define DEBUG_METAFILE /* */ -/* #undef DEBUG_METAFILE /* */ +/* #define DEBUG_METAFILE */ #include "debug.h" #define HTINCR 10 /* handle table allocation size increment */ @@ -22,6 +21,58 @@ static HANDLE hHT; /* handle of the handle table */ static int HTLen; /* allocated length of handle table */ /****************************************************************** + * GetMetafile GDI.124 By Kenny MacDonald 30 Nov 94 + */ +HMETAFILE GetMetaFile(LPSTR lpFilename) +{ + + DC *dc; + HMETAFILE hmf; + METAFILE *mf; + METAHEADER *mh; + + dprintf_metafile(stddeb,"GetMetaFile: %s\n", lpFilename); + + if (!lpFilename) + return 0; + + hmf = GlobalAlloc(GMEM_MOVEABLE, sizeof(METAFILE)); + mf = (METAFILE *)GlobalLock(hmf); + if (!mf) { + GlobalFree(hmf); + return 0; + } + + mf->hMetaHdr = GlobalAlloc(GMEM_MOVEABLE, MFHEADERSIZE); + mh = (METAHEADER *)GlobalLock(mf->hMetaHdr); + if (!mh) { + GlobalFree(mf->hMetaHdr); + GlobalFree(hmf); + return 0; + } + strcpy(mf->Filename, lpFilename); + mf->wMagic = METAFILE_MAGIC; + if ((mf->hFile = _lopen(lpFilename, OF_READ)) == HFILE_ERROR) { + GlobalFree(hmf); + return 0; + } + if (_lread(mf->hFile, (char *)mh, MFHEADERSIZE) == HFILE_ERROR) { + GlobalFree(mf->hMetaHdr); + GlobalFree(hmf); + return 0; + } + _lclose(mf->hFile); + + + GlobalUnlock(mf->hMetaHdr); + GlobalUnlock(hmf); + if (mh->mtType != 1) + return 0; + else + return hmf; +} + +/****************************************************************** * CreateMetafile GDI.125 */ HANDLE CreateMetaFile(LPSTR lpFilename) @@ -93,7 +144,7 @@ HMETAFILE CloseMetaFile(HDC hdc) METAHEADER *mh; HMETAFILE hmf; char buffer[15]; - METARECORD *mr = (METARECORD *)&buffer; +/* METARECORD *mr = (METARECORD *)&buffer;*/ dprintf_metafile(stddeb,"CloseMetaFile\n"); @@ -194,7 +245,7 @@ BOOL PlayMetaFile(HDC hdc, HMETAFILE hmf) if (mh->mtType == 1) /* disk based metafile */ { _lread(mf->hFile, buffer, sizeof(METARECORD)); - mr = (METARECORD *)&buffer; + mr = (METARECORD *)buffer; _lread(mf->hFile, (char *)(mr->rdParam + 1), (mr->rdSize * 2) - sizeof(METARECORD)); mf->MetaOffset += mr->rdSize * 2; @@ -234,6 +285,13 @@ void PlayMetaFileRecord(HDC hdc, HANDLETABLE *ht, METARECORD *mr, switch (mr->rdFunction) { + case META_EOF: + break; + + case META_DELETEOBJECT: + DeleteObject(*(ht->objectHandle + *(mr->rdParam))); + break; + case META_SETBKCOLOR: SetBkColor(hdc, *(mr->rdParam)); break; @@ -381,6 +439,11 @@ void PlayMetaFileRecord(HDC hdc, HANDLETABLE *ht, METARECORD *mr, Polygon(hdc, (LPPOINT)(mr->rdParam + 1), *(mr->rdParam)); break; + case META_POLYPOLYGON: + PolyPolygon(hdc, (LPPOINT)(mr->rdParam + *(mr->rdParam) + 1), + (mr->rdParam + 1), *(mr->rdParam)); + break; + case META_POLYLINE: Polyline(hdc, (LPPOINT)(mr->rdParam + 1), *(mr->rdParam)); break; diff --git a/objects/oembitmap.c b/objects/oembitmap.c index 0c5a96c6871..883d0921fcb 100644 --- a/objects/oembitmap.c +++ b/objects/oembitmap.c @@ -2,10 +2,9 @@ * GDI OEM bitmap objects * * Copyright 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1994"; - +*/ #include #include #ifdef USE_XPM @@ -14,7 +13,7 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1994"; #include "gdi.h" #include "bitmap.h" #include "stddebug.h" -/* #define DEBUG_BITMAP */ +#include "color.h" #include "debug.h" #define OBM_FIRST OBM_LFARROWI /* First OEM bitmap */ @@ -188,10 +187,6 @@ static const struct #endif /* USE_XPM */ -extern WORD COLOR_ToPhysical( DC *dc, COLORREF color ); /* color.c */ - -extern Colormap COLOR_WinColormap; - /*********************************************************************** * OBM_InitColorSymbols diff --git a/objects/palette.c b/objects/palette.c index 7a8cde46ded..c28cb60d026 100644 --- a/objects/palette.c +++ b/objects/palette.c @@ -2,10 +2,9 @@ * GDI palette objects * * Copyright 1993,1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993,1994"; - +*/ #include #include #include @@ -17,16 +16,11 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993,1994"; #include #include "gdi.h" +#include "color.h" #include "stddebug.h" /* #define DEBUG_PALETTE */ -/* #undef DEBUG_PALETTE */ #include "debug.h" -extern void COLOR_SetMapping( DC *dc, HANDLE map, WORD size ); /* color.c */ - -extern Colormap COLOR_WinColormap; - - /*********************************************************************** * CreatePalette (GDI.360) */ diff --git a/objects/pen.c b/objects/pen.c index df5f55c8ed3..2293182ed6a 100644 --- a/objects/pen.c +++ b/objects/pen.c @@ -2,19 +2,15 @@ * GDI pen objects * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; - +*/ #include "gdi.h" #include "metafile.h" #include "stddebug.h" -/* #define DEBUG_GDI */ -/* #undef DEBUG_GDI */ +#include "color.h" #include "debug.h" -extern WORD COLOR_ToPhysical( DC *dc, COLORREF color ); - /*********************************************************************** * CreatePen (GDI.61) */ diff --git a/objects/region.c b/objects/region.c index ad3379b333b..5d1d1d9d419 100644 --- a/objects/region.c +++ b/objects/region.c @@ -2,17 +2,15 @@ * GDI region objects * * Copyright 1993, 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; - +*/ #include #include #include "gdi.h" #include "stddebug.h" -/* #define DEBUG_REGION /* */ -/* #undef DEBUG_REGION /* */ +/* #define DEBUG_REGION */ #include "debug.h" /* GC used for region operations */ @@ -21,7 +19,7 @@ static GC regionGC = 0; /*********************************************************************** * REGION_Init */ -BOOL REGION_Init() +BOOL REGION_Init(void) { Pixmap tmpPixmap; diff --git a/objects/text.c b/objects/text.c index d07d2b9678b..c28f3b042b2 100644 --- a/objects/text.c +++ b/objects/text.c @@ -2,18 +2,18 @@ * text functions * * Copyright 1993, 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; - +*/ #include #include #include "windows.h" +#include "dc.h" #include "gdi.h" +#include "callback.h" #include "metafile.h" #include "stddebug.h" -/* #define DEBUG_TEXT /* */ -/* #undef DEBUG_TEXT /* */ +/* #define DEBUG_TEXT */ #include "debug.h" #define TAB 9 @@ -505,29 +505,81 @@ BOOL GrayString(HDC hdc, HBRUSH hbr, FARPROC gsprc, LPARAM lParam, /*********************************************************************** - * TabbedTextOut [USER.196] + * TEXT_TabbedTextOut + * + * Helper function for TabbedTextOut() and GetTabbedTextExtent(). + * Note: this doesn't work too well for text-alignment modes other + * than TA_LEFT|TA_TOP. But we want bug-for-bug compatibility :-) */ -LONG TabbedTextOut(HDC hDC, short x, short y, LPSTR lpStr, short nCount, - short nTabCount, LPINT lpTabPos, short nTabOrg) +LONG TEXT_TabbedTextOut( HDC hdc, int x, int y, LPSTR lpstr, int count, + int cTabStops, LPINT lpTabPos, int nTabOrg, + BOOL fDisplayText) { - WORD width, height; - dprintf_text(stdnimp,"EMPTY STUB !!! TabbedTextOut(); ! call TextOut() for now !\n"); - height = HIWORD(GetTextExtent(hDC, lpStr, nCount)); - width = LOWORD(GetTextExtent(hDC, lpStr, nCount)); - TextOut(hDC, x, y, lpStr, nCount); - return MAKELONG(width, height); + WORD defWidth; + DWORD extent; + int i, tabPos = 0; + + if (cTabStops == 1) defWidth = *lpTabPos; + else + { + TEXTMETRIC tm; + GetTextMetrics( hdc, &tm ); + defWidth = 8 * tm.tmAveCharWidth; + } + + while (count > 0) + { + for (i = 0; i < count; i++) + if (lpstr[i] == '\t') break; + extent = GetTextExtent( hdc, lpstr, i ); + while ((cTabStops > 0) && (nTabOrg + *lpTabPos < x + LOWORD(extent))) + { + lpTabPos++; + cTabStops--; + } + if (lpstr[i] != '\t') + tabPos = x + LOWORD(extent); + else if (cTabStops > 0) + tabPos = nTabOrg + *lpTabPos; + else + tabPos = (x + LOWORD(extent) + defWidth - 1) / defWidth * defWidth; + if (fDisplayText) + { + RECT r; + SetRect( &r, x, y, tabPos, y+HIWORD(extent) ); + ExtTextOut( hdc, x, y, + GetBkMode(hdc) == OPAQUE ? ETO_OPAQUE : 0, + &r, lpstr, i, NULL ); + } + x = tabPos; + count -= i+1; + lpstr += i+1; + } + return tabPos; } /*********************************************************************** - * GetTabbedTextExtent [USER.197] + * TabbedTextOut (USER.196) */ -DWORD GetTabbedTextExtent(HDC hDC, LPSTR lpString, int nCount, - int nTabPositions, LPINT lpnTabStopPositions) +LONG TabbedTextOut( HDC hdc, short x, short y, LPSTR lpstr, short count, + short cTabStops, LPINT lpTabPos, short nTabOrg ) { - dprintf_text(stdnimp,"EMPTY STUB !!! GetTabbedTextExtent(); !\n"); - - return (18 << 16) | (nCount * 18); + dprintf_text( stddeb, "TabbedTextOut: %x %d,%d '%s' %d\n", + hdc, x, y, lpstr, count ); + return TEXT_TabbedTextOut( hdc, x, y, lpstr, count, cTabStops, + lpTabPos, nTabOrg, TRUE ); } +/*********************************************************************** + * GetTabbedTextExtent (USER.197) + */ +DWORD GetTabbedTextExtent( HDC hdc, LPSTR lpstr, int count, + int cTabStops, LPINT lpTabPos ) +{ + dprintf_text( stddeb, "GetTabbedTextExtent: %x '%s' %d\n", + hdc, lpstr, count ); + return TEXT_TabbedTextOut( hdc, 0, 0, lpstr, count, cTabStops, + lpTabPos, 0, FALSE ); +} diff --git a/rc/rc.l b/rc/rc.l index a09819f6b67..27738209e33 100644 --- a/rc/rc.l +++ b/rc/rc.l @@ -4,7 +4,6 @@ * Copyright Martin von Loewis, 1994 * */ - static char Copyright[] = "Copyright Martin von Loewis, 1994"; #include diff --git a/rc/rc.y b/rc/rc.y index ee7fccfa87b..3844e39464a 100644 --- a/rc/rc.y +++ b/rc/rc.y @@ -2,7 +2,6 @@ /* * * Copyright Martin von Loewis, 1994 - * */ static char Copyright[] = "Copyright Martin von Loewis, 1994"; @@ -204,7 +203,7 @@ style: NUMBER {$$=new_style();$$->or=$1;} | '(' style ')' {$$=$2;} | style '|' style {$$=$1;$$->or|=$3->or;$$->and&=$3->and;} %% -yyerror(char *s) +int yyerror(char *s) { puts(s); } diff --git a/rc/sysres.rc b/rc/sysres.rc index 8cb979132a5..674df65289a 100644 --- a/rc/sysres.rc +++ b/rc/sysres.rc @@ -1,269 +1,271 @@ #if #LANG(En) -SYSMENU MENU LOADONCALL MOVEABLE DISCARDABLE -{ - MENUITEM "&Restore", 61728 - MENUITEM "&Move", 61456 - MENUITEM "&Size", 61440 - MENUITEM "Mi&nimize", 61472 - MENUITEM "Ma&ximize", 61488 - MENUITEM SEPARATOR - MENUITEM "&Close\tAlt-F4", 61536 - MENUITEM SEPARATOR - MENUITEM "&Switch to ...\tCtrl-Esc", 61744 - MENUITEM SEPARATOR - MENUITEM "&About WINE ...", 61761 -} - - -2 DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 170 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - PUSHBUTTON "Credit & License", 6, 30, 150, 40, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 60, 250, 40, 14, WS_GROUP | WS_TABSTOP - DEFPUSHBUTTON "Ok", 1, 80, 150, 40, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP -} - - -STOP_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - ICON "SYSIDI_HAND", -1, 16, 16, 0, 0 -} - - -QUESTION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - ICON "SYSIDI_QUESTION", -1, 16, 16, 0, 0 -} - - -EXCLAMATION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - ICON "SYSIDI_EXCLAMATION", -1, 16, 16, 0, 0 -} - - -SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 50, 44, 213, 149 -STYLE DS_LOCALEDIT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "about X" -FONT 10, "System" -{ - DEFPUSHBUTTON "OK", 1, 86, 130, 40, 14 - CONTROL "", -1, "STATIC", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE | WS_DISABLED, 4, 35, 205, 90 - LTEXT "Text", 100, 11, 40, 190, 80, SS_NOPREFIX | WS_GROUP - ICON "WINEICON", -1, 185, 10, 18, 20 -} - - -3 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Open" -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Open", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -4 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Save As ..." -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Save As", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -11 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Open" -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - LTEXT "", 1152, 6, 16, 90, 12 - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Open", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -12 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Save As ..." -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - LTEXT "", 1152, 6, 16, 90, 12 - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Save As", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -5 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Print" -FONT 8, "Helv" -{ - LTEXT "Printer:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - GROUPBOX "Print Range", 1072, 6, 30, 160, 65, BS_GROUPBOX - RADIOBUTTON "&All", 1056, 16, 45, 60, 12 - RADIOBUTTON "S&election", 1057, 16, 60, 60, 12 - RADIOBUTTON "&Pages", 1058, 16, 75, 60, 12 - DEFPUSHBUTTON "Print", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Setup", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - LTEXT "&From:", 1090, 60, 80, 30, 9 - LTEXT "&To:", 1091, 120, 80, 30, 9 - LTEXT "Print &Quality:", 1092, 6, 100, 76, 9 - COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - CHECKBOX "Print to Fi&le", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Condensed", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -6 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Print Setup" -FONT 8, "Helv" -{ - GROUPBOX "Printer", 1072, 6, 10, 180, 65, BS_GROUPBOX - RADIOBUTTON "&Default Printer", 1056, 16, 20, 80, 12 - LTEXT "[none]", 1088, 35, 35, 120, 9 - RADIOBUTTON "Specific &Printer", 1057, 16, 50, 80, 12 - COMBOBOX 1136, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Setup", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - GROUPBOX "Orientation", 1073, 6, 85, 100, 50, BS_GROUPBOX - RADIOBUTTON "Po&rtrait", 1058, 50, 100, 40, 12 - RADIOBUTTON "&Landscape", 1059, 50, 115, 40, 12 - ICON "LANDSCAP", 1097, 10, 95, 32, 32 - ICON "PORTRAIT", 1098, 10, 95, 32, 32 - GROUPBOX "Paper", 1074, 120, 85, 180, 50, BS_GROUPBOX - LTEXT "Si&ze", 1089, 130, 95, 30, 9 - LTEXT "&Source", 1090, 130, 110, 30, 9 - COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP -} - - -7 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Font" -FONT 8, "Helv" -{ - LTEXT "Font:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP -} - - -8 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Color" -FONT 8, "Helv" -{ - LTEXT "&Basic Colors:", 1088, 6, 6, 40, 9 - LTEXT "&Custom Colors:", 1089, 6, 126, 40, 9 - LTEXT "Color|Sol&id", 1090, 100, 146, 40, 9 - LTEXT "&Hue:", 1091, 150, 126, 40, 9 - LTEXT "&Sat:", 1092, 150, 146, 40, 9 - LTEXT "&Lum:", 1093, 150, 166, 40, 9 - LTEXT "&Red:", 1094, 150, 126, 40, 9 - LTEXT "&Green:", 1095, 150, 146, 40, 9 - LTEXT "Bl&ue:", 1096, 150, 166, 40, 9 - DEFPUSHBUTTON "Ok", 1, 6, 182, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Add to Custom Colors", 1024, 120, 182, 100, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Delete Custom Colors", 1025, 6, 164, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 76, 182, 56, 14, WS_GROUP | WS_TABSTOP -} - - -9 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 84 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Find" -FONT 8, "Helv" -{ - LTEXT "Fi&nd What:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - CHECKBOX "Match &Whole Word Only", 1040, 20, 30, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Match &Case", 1041, 20, 50, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - GROUPBOX "Direction", 1072, 90, 40, 80, 40, BS_GROUPBOX - RADIOBUTTON "&Up", 1056, 100, 50, 50, 12 - RADIOBUTTON "&Down", 1057, 150, 50, 50, 12 - DEFPUSHBUTTON "&Find Next", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP -} - - -10 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 114 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Replace" -FONT 8, "Helv" -{ - LTEXT "Fi&nd What:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - LTEXT "Re&place With:", 1090, 6, 26, 40, 9 - LTEXT "", 1091, 60, 26, 150, 9 - CHECKBOX "Match &Whole Word Only", 1040, 20, 40, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Match &Case", 1041, 20, 60, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - DEFPUSHBUTTON "&Find Next", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Replace", 1024, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Replace &All", 1025, 206, 44, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 64, 56, 14, WS_GROUP | WS_TABSTOP -} - -#endif /*LANG=En*/ - -#if #LANG(De) +SYSMENU MENU LOADONCALL MOVEABLE DISCARDABLE +{ + MENUITEM "&Restore", 61728 + MENUITEM "&Move", 61456 + MENUITEM "&Size", 61440 + MENUITEM "Mi&nimize", 61472 + MENUITEM "Ma&ximize", 61488 + MENUITEM SEPARATOR + MENUITEM "&Close\tAlt-F4", 61536 + MENUITEM SEPARATOR + MENUITEM "&Switch to ...\tCtrl-Esc", 61744 + MENUITEM SEPARATOR + MENUITEM "&About WINE ...", 61761 +} + + +2 DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 170 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + PUSHBUTTON "Credit & License", 6, 30, 150, 40, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 60, 250, 40, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "Ok", 1, 80, 150, 40, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP +} + + +STOP_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + ICON "SYSIDI_HAND", -1, 16, 16, 0, 0 +} + + +QUESTION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + ICON "SYSIDI_QUESTION", -1, 16, 16, 0, 0 +} + + +EXCLAMATION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + ICON "SYSIDI_EXCLAMATION", -1, 16, 16, 0, 0 +} + + +SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 50, 44, 213, 149 +STYLE DS_LOCALEDIT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "About X" +FONT 10, "System" +{ + DEFPUSHBUTTON "OK", 1, 86, 130, 40, 14 + CONTROL "", -1, "STATIC", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE | WS_DISABLED, 4, 35, 205, 90 + LTEXT "Text", 100, 11, 40, 190, 80, SS_NOPREFIX | WS_GROUP + ICON "WINEICON", -1, 185, 10, 18, 20 +} + + +3 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Open" +FONT 8, "Helv" +{ + LTEXT "File &Name:", 1090, 6, 6, 76, 9 + EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Directories:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Open", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +4 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Save As ..." +FONT 8, "Helv" +{ + LTEXT "File &Name:", 1090, 6, 6, 76, 9 + EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Directories:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Save As", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +11 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Open" +FONT 8, "Helv" +{ + LTEXT "File &Name:", 1090, 6, 6, 76, 9 + LTEXT "", 1152, 6, 16, 90, 12 + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Directories:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Open", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +12 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Save As ..." +FONT 8, "Helv" +{ + LTEXT "File &Name:", 1090, 6, 6, 76, 9 + LTEXT "", 1152, 6, 16, 90, 12 + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Directories:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Save As", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +5 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Print" +FONT 8, "Helv" +{ + LTEXT "Printer:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + GROUPBOX "Print Range", 1072, 6, 30, 160, 65, BS_GROUPBOX + RADIOBUTTON "&All", 1056, 16, 45, 60, 12 + RADIOBUTTON "S&election", 1057, 16, 60, 60, 12 + RADIOBUTTON "&Pages", 1058, 16, 75, 60, 12 + DEFPUSHBUTTON "Print", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Setup", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + LTEXT "&From:", 1090, 60, 80, 30, 9 + LTEXT "&To:", 1091, 120, 80, 30, 9 + LTEXT "Print &Quality:", 1092, 6, 100, 76, 9 + COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + CHECKBOX "Print to Fi&le", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Condensed", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +6 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Print Setup" +FONT 8, "Helv" +{ + GROUPBOX "Printer", 1072, 6, 10, 180, 65, BS_GROUPBOX + RADIOBUTTON "&Default Printer", 1056, 16, 20, 80, 12 + LTEXT "[none]", 1088, 35, 35, 120, 9 + RADIOBUTTON "Specific &Printer", 1057, 16, 50, 80, 12 + COMBOBOX 1136, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Setup", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + GROUPBOX "Orientation", 1073, 6, 85, 100, 50, BS_GROUPBOX + RADIOBUTTON "Po&rtrait", 1058, 50, 100, 40, 12 + RADIOBUTTON "&Landscape", 1059, 50, 115, 40, 12 + ICON "LANDSCAP", 1097, 10, 95, 32, 32 + ICON "PORTRAIT", 1098, 10, 95, 32, 32 + GROUPBOX "Paper", 1074, 120, 85, 180, 50, BS_GROUPBOX + LTEXT "Si&ze", 1089, 130, 95, 30, 9 + LTEXT "&Source", 1090, 130, 110, 30, 9 + COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP +} + + +7 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Font" +FONT 8, "Helv" +{ + LTEXT "Font:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP +} + + +8 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Color" +FONT 8, "Helv" +{ + LTEXT "&Basic Colors:", 1088, 6, 6, 40, 9 + LTEXT "&Custom Colors:", 1089, 6, 126, 40, 9 + LTEXT "Color|Sol&id", 1090, 100, 146, 40, 9 + LTEXT "&Hue:", 1091, 150, 126, 40, 9 + LTEXT "&Sat:", 1092, 150, 146, 40, 9 + LTEXT "&Lum:", 1093, 150, 166, 40, 9 + LTEXT "&Red:", 1094, 150, 126, 40, 9 + LTEXT "&Green:", 1095, 150, 146, 40, 9 + LTEXT "Bl&ue:", 1096, 150, 166, 40, 9 + DEFPUSHBUTTON "Ok", 1, 6, 182, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Add to Custom Colors", 1024, 120, 182, 100, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Delete Custom Colors", 1025, 6, 164, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 76, 182, 56, 14, WS_GROUP | WS_TABSTOP +} + + +9 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 84 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Find" +FONT 8, "Helv" +{ + LTEXT "Fi&nd What:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + CHECKBOX "Match &Whole Word Only", 1040, 20, 30, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Match &Case", 1041, 20, 50, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + GROUPBOX "Direction", 1072, 90, 40, 80, 40, BS_GROUPBOX + RADIOBUTTON "&Up", 1056, 100, 50, 50, 12 + RADIOBUTTON "&Down", 1057, 150, 50, 50, 12 + DEFPUSHBUTTON "&Find Next", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP +} + + +10 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 114 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Replace" +FONT 8, "Helv" +{ + LTEXT "Fi&nd What:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + LTEXT "Re&place With:", 1090, 6, 26, 40, 9 + LTEXT "", 1091, 60, 26, 150, 9 + CHECKBOX "Match &Whole Word Only", 1040, 20, 40, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Match &Case", 1041, 20, 60, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&Find Next", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Replace", 1024, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Replace &All", 1025, 206, 44, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancel", 2, 206, 64, 56, 14, WS_GROUP | WS_TABSTOP +} + +#elif #LANG(De) #include "sysres_De.rc" +#elif #LANG(No) +#include "sysres_No.rc" +#else +#error LANG not set to an implemented language. #endif diff --git a/rc/sysres_De.rc b/rc/sysres_De.rc index 9e54d4704b3..03852bc640a 100644 --- a/rc/sysres_De.rc +++ b/rc/sysres_De.rc @@ -46,7 +46,7 @@ STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 50, 44, 213, 149 STYLE DS_LOCALEDIT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Über X" +CAPTION "" FONT 10, "System" { DEFPUSHBUTTON "OK", 1, 86, 130, 40, 14 @@ -95,7 +95,7 @@ FONT 8, "Helv" COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Speichern als", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Abbrechen", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Hilfe", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP CHECKBOX "&Schreibgeschützt", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -117,7 +117,7 @@ FONT 8, "Helv" COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Öffnen", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Abbrechen", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Hilfe", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP CHECKBOX "&Schreibgeschützt", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -139,7 +139,7 @@ FONT 8, "Helv" COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Speichern als", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Abbrechen", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Hilfe", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP CHECKBOX "&Schreibgeschützt", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -186,7 +186,7 @@ FONT 8, "Helv" ICON "LANDSCAP", 1097, 10, 95, 32, 32 ICON "PORTRAIT", 1098, 10, 95, 32, 32 GROUPBOX "Paper", 1074, 120, 85, 180, 50, BS_GROUPBOX - LTEXT "&GrÖße", 1089, 130, 95, 30, 9 + LTEXT "&Größe", 1089, 130, 95, 30, 9 LTEXT "P&apierquelle", 1090, 130, 110, 30, 9 COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP diff --git a/rc/sysres.rc b/rc/sysres_No.rc similarity index 51% copy from rc/sysres.rc copy to rc/sysres_No.rc index 8cb979132a5..afa2b582938 100644 --- a/rc/sysres.rc +++ b/rc/sysres_No.rc @@ -1,269 +1,261 @@ -#if #LANG(En) +SYSMENU MENU LOADONCALL MOVEABLE DISCARDABLE +{ + MENUITEM "&Gjenopprett", 61728 + MENUITEM "&Flytt", 61456 + MENUITEM "&Størrelse", 61440 + MENUITEM "&Minimer", 61472 + MENUITEM "Ma&ksimer", 61488 + MENUITEM SEPARATOR + MENUITEM "&Avslutt\tAlt-F4", 61536 + MENUITEM SEPARATOR + MENUITEM "&Bytt til ...\tCtrl-Esc", 61744 + MENUITEM SEPARATOR + MENUITEM "&Om WINE ...", 61761 +} -SYSMENU MENU LOADONCALL MOVEABLE DISCARDABLE -{ - MENUITEM "&Restore", 61728 - MENUITEM "&Move", 61456 - MENUITEM "&Size", 61440 - MENUITEM "Mi&nimize", 61472 - MENUITEM "Ma&ximize", 61488 - MENUITEM SEPARATOR - MENUITEM "&Close\tAlt-F4", 61536 - MENUITEM SEPARATOR - MENUITEM "&Switch to ...\tCtrl-Esc", 61744 - MENUITEM SEPARATOR - MENUITEM "&About WINE ...", 61761 -} - - -2 DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 170 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - PUSHBUTTON "Credit & License", 6, 30, 150, 40, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 60, 250, 40, 14, WS_GROUP | WS_TABSTOP - DEFPUSHBUTTON "Ok", 1, 80, 150, 40, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP -} - - -STOP_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - ICON "SYSIDI_HAND", -1, 16, 16, 0, 0 -} - - -QUESTION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - ICON "SYSIDI_QUESTION", -1, 16, 16, 0, 0 -} - - -EXCLAMATION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 -STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME -{ - ICON "SYSIDI_EXCLAMATION", -1, 16, 16, 0, 0 -} - - -SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 50, 44, 213, 149 -STYLE DS_LOCALEDIT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "about X" -FONT 10, "System" -{ - DEFPUSHBUTTON "OK", 1, 86, 130, 40, 14 - CONTROL "", -1, "STATIC", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE | WS_DISABLED, 4, 35, 205, 90 - LTEXT "Text", 100, 11, 40, 190, 80, SS_NOPREFIX | WS_GROUP - ICON "WINEICON", -1, 185, 10, 18, 20 -} - - -3 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Open" -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Open", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -4 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Save As ..." -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Save As", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -11 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Open" -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - LTEXT "", 1152, 6, 16, 90, 12 - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Open", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -12 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Save As ..." -FONT 8, "Helv" -{ - LTEXT "File &Name:", 1090, 6, 6, 76, 9 - LTEXT "", 1152, 6, 16, 90, 12 - LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Directories:", -1, 110, 6, 92, 9 - LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP - LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9 - COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Dri&ves:", 1091, 110, 104, 92, 9 - COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Save As", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Help", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Read Only", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -5 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Print" -FONT 8, "Helv" -{ - LTEXT "Printer:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - GROUPBOX "Print Range", 1072, 6, 30, 160, 65, BS_GROUPBOX - RADIOBUTTON "&All", 1056, 16, 45, 60, 12 - RADIOBUTTON "S&election", 1057, 16, 60, 60, 12 - RADIOBUTTON "&Pages", 1058, 16, 75, 60, 12 - DEFPUSHBUTTON "Print", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Setup", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - LTEXT "&From:", 1090, 60, 80, 30, 9 - LTEXT "&To:", 1091, 120, 80, 30, 9 - LTEXT "Print &Quality:", 1092, 6, 100, 76, 9 - COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - CHECKBOX "Print to Fi&le", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Condensed", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -} - - -6 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Print Setup" -FONT 8, "Helv" -{ - GROUPBOX "Printer", 1072, 6, 10, 180, 65, BS_GROUPBOX - RADIOBUTTON "&Default Printer", 1056, 16, 20, 80, 12 - LTEXT "[none]", 1088, 35, 35, 120, 9 - RADIOBUTTON "Specific &Printer", 1057, 16, 50, 80, 12 - COMBOBOX 1136, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Setup", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP - GROUPBOX "Orientation", 1073, 6, 85, 100, 50, BS_GROUPBOX - RADIOBUTTON "Po&rtrait", 1058, 50, 100, 40, 12 - RADIOBUTTON "&Landscape", 1059, 50, 115, 40, 12 - ICON "LANDSCAP", 1097, 10, 95, 32, 32 - ICON "PORTRAIT", 1098, 10, 95, 32, 32 - GROUPBOX "Paper", 1074, 120, 85, 180, 50, BS_GROUPBOX - LTEXT "Si&ze", 1089, 130, 95, 30, 9 - LTEXT "&Source", 1090, 130, 110, 30, 9 - COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP -} - - -7 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Font" -FONT 8, "Helv" -{ - LTEXT "Font:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP -} - - -8 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Color" -FONT 8, "Helv" -{ - LTEXT "&Basic Colors:", 1088, 6, 6, 40, 9 - LTEXT "&Custom Colors:", 1089, 6, 126, 40, 9 - LTEXT "Color|Sol&id", 1090, 100, 146, 40, 9 - LTEXT "&Hue:", 1091, 150, 126, 40, 9 - LTEXT "&Sat:", 1092, 150, 146, 40, 9 - LTEXT "&Lum:", 1093, 150, 166, 40, 9 - LTEXT "&Red:", 1094, 150, 126, 40, 9 - LTEXT "&Green:", 1095, 150, 146, 40, 9 - LTEXT "Bl&ue:", 1096, 150, 166, 40, 9 - DEFPUSHBUTTON "Ok", 1, 6, 182, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Add to Custom Colors", 1024, 120, 182, 100, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Delete Custom Colors", 1025, 6, 164, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 76, 182, 56, 14, WS_GROUP | WS_TABSTOP -} - - -9 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 84 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Find" -FONT 8, "Helv" -{ - LTEXT "Fi&nd What:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - CHECKBOX "Match &Whole Word Only", 1040, 20, 30, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Match &Case", 1041, 20, 50, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - GROUPBOX "Direction", 1072, 90, 40, 80, 40, BS_GROUPBOX - RADIOBUTTON "&Up", 1056, 100, 50, 50, 12 - RADIOBUTTON "&Down", 1057, 150, 50, 50, 12 - DEFPUSHBUTTON "&Find Next", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP -} - - -10 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 114 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Replace" -FONT 8, "Helv" -{ - LTEXT "Fi&nd What:", 1088, 6, 6, 40, 9 - LTEXT "", 1089, 60, 6, 150, 9 - LTEXT "Re&place With:", 1090, 6, 26, 40, 9 - LTEXT "", 1091, 60, 26, 150, 9 - CHECKBOX "Match &Whole Word Only", 1040, 20, 40, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Match &Case", 1041, 20, 60, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - DEFPUSHBUTTON "&Find Next", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Replace", 1024, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Replace &All", 1025, 206, 44, 56, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Cancel", 2, 206, 64, 56, 14, WS_GROUP | WS_TABSTOP -} - -#endif /*LANG=En*/ -#if #LANG(De) -#include "sysres_De.rc" -#endif +2 DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 170 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + PUSHBUTTON "Lisens osv.", 6, 30, 150, 40, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 60, 250, 40, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "Ok", 1, 80, 150, 40, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP +} + + +STOP_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + ICON "SYSIDI_HAND", -1, 16, 16, 0, 0 +} + + +QUESTION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + ICON "SYSIDI_QUESTION", -1, 16, 16, 0, 0 +} + + +EXCLAMATION_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 80, 80, 150, 75 +STYLE WS_POPUP | WS_VISIBLE | WS_DLGFRAME +{ + ICON "SYSIDI_EXCLAMATION", -1, 16, 16, 0, 0 +} + + +SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 50, 44, 213, 149 +STYLE DS_LOCALEDIT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Om X" +FONT 10, "System" +{ + DEFPUSHBUTTON "OK", 1, 86, 130, 40, 14 + CONTROL "", -1, "STATIC", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE | WS_DISABLED, 4, 35, 205, 90 + LTEXT "Tekst", 100, 11, 40, 190, 80, SS_NOPREFIX | WS_GROUP + ICON "WINEICON", -1, 185, 10, 18, 20 +} + + +3 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Åpne" +FONT 8, "Helv" +{ + LTEXT "&Filnavn:", 1090, 6, 6, 76, 9 + EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "Liste over filer av &type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Åpne", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Hjelp", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Skrivebeskyttet", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +4 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Lagre som ..." +FONT 8, "Helv" +{ + LTEXT "&Filnavn:", 1090, 6, 6, 76, 9 + EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "Liste over filer av &type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Lagre som", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Hjelp", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Skrivebeskyttet", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +11 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Åpne" +FONT 8, "Helv" +{ + LTEXT "&Filnavn:", 1090, 6, 6, 76, 9 + LTEXT "", 1152, 6, 16, 90, 12 + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "Liste over filer av &type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Åpne", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Hjelp", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Skrivebeskyttet", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +12 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Lagre som ..." +FONT 8, "Helv" +{ + LTEXT "&Filnavn:", 1090, 6, 6, 76, 9 + LTEXT "", 1152, 6, 16, 90, 12 + LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", -1, 110, 6, 92, 9 + LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP + LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP + LTEXT "Liste over filer av &type:", 1089, 6, 104, 90, 9 + COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "&Kataloger:", 1091, 110, 104, 92, 9 + COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Lagre som", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Hjelp", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&Skrivebeskyttet", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +5 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Skriv" +FONT 8, "Helv" +{ + LTEXT "Skriver:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + GROUPBOX "Skriv del", 1072, 6, 30, 160, 65, BS_GROUPBOX + RADIOBUTTON "&Alle", 1056, 16, 45, 60, 12 + RADIOBUTTON "&Markert", 1057, 16, 60, 60, 12 + RADIOBUTTON "&Sider", 1058, 16, 75, 60, 12 + DEFPUSHBUTTON "Skriv", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Oppsett", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + LTEXT "&Fra:", 1090, 60, 80, 30, 9 + LTEXT "&Til:", 1091, 120, 80, 30, 9 + LTEXT "&Utskriftskvalitet:", 1092, 6, 100, 76, 9 + COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + CHECKBOX "&Skriv til fil", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Sammentrykket", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP +} + + +6 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Skriveoppsett" +FONT 8, "Helv" +{ + GROUPBOX "Skriver", 1072, 6, 10, 180, 65, BS_GROUPBOX + RADIOBUTTON "&Standardskriver", 1056, 16, 20, 80, 12 + LTEXT "[ingen]", 1088, 35, 35, 120, 9 + RADIOBUTTON "Spesifikk &skriver", 1057, 16, 50, 80, 12 + COMBOBOX 1136, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Oppsett", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP + GROUPBOX "Orientering", 1073, 6, 85, 100, 50, BS_GROUPBOX + RADIOBUTTON "&Portrett", 1058, 50, 100, 40, 12 + RADIOBUTTON "&Landskap", 1059, 50, 115, 40, 12 + ICON "LANDSCAP", 1097, 10, 95, 32, 32 + ICON "PORTRAIT", 1098, 10, 95, 32, 32 + GROUPBOX "Papir", 1074, 120, 85, 180, 50, BS_GROUPBOX + LTEXT "&Størrelse", 1089, 130, 95, 30, 9 + LTEXT "&Kilde", 1090, 130, 110, 30, 9 + COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP + COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP +} + + +7 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Font" +FONT 8, "Helv" +{ + LTEXT "Font:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + DEFPUSHBUTTON "Ok", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP +} + + +8 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 200 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Farge" +FONT 8, "Helv" +{ + LTEXT "&Grunnleggende farger:", 1088, 6, 6, 40, 9 + LTEXT "&Egendefinerte farger:", 1089, 6, 126, 40, 9 + LTEXT "&Ensfarget", 1090, 100, 146, 40, 9 + LTEXT "&Int:", 1091, 150, 126, 40, 9 + LTEXT "&Met:", 1092, 150, 146, 40, 9 + LTEXT "&Lum:", 1093, 150, 166, 40, 9 + LTEXT "&Rød:", 1094, 150, 126, 40, 9 + LTEXT "&Grønn:", 1095, 150, 146, 40, 9 + LTEXT "&Blå:", 1096, 150, 166, 40, 9 + DEFPUSHBUTTON "Ok", 1, 6, 182, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Legg til egendefinert farge", 1024, 120, 182, 100, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Fjern egendefinerte farger", 1025, 6, 164, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 76, 182, 56, 14, WS_GROUP | WS_TABSTOP +} + + +9 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 84 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Finn" +FONT 8, "Helv" +{ + LTEXT "&Finn hva:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + CHECKBOX "&Kun hele ord", 1040, 20, 30, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "&Skill på store/små bokstaver", 1041, 20, 50, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + GROUPBOX "Retning", 1072, 90, 40, 80, 40, BS_GROUPBOX + RADIOBUTTON "&Opp", 1056, 100, 50, 50, 12 + RADIOBUTTON "&Ned", 1057, 150, 50, 50, 12 + DEFPUSHBUTTON "&Finn neste", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP +} + + +10 DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 114 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Bytt" +FONT 8, "Helv" +{ + LTEXT "&Finn hva:", 1088, 6, 6, 40, 9 + LTEXT "", 1089, 60, 6, 150, 9 + LTEXT "&Bytt med:", 1090, 6, 26, 40, 9 + LTEXT "", 1091, 60, 26, 150, 9 + CHECKBOX "&Kun hele ord", 1040, 20, 40, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "&Skill på store/små bokstaver", 1041, 20, 60, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&Finn neste", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Bytt", 1024, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Bytt alt", 1025, 206, 44, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Avbryt", 2, 206, 64, 56, 14, WS_GROUP | WS_TABSTOP +} diff --git a/rc/winerc.c b/rc/winerc.c index b20ca32e6eb..06dc7dfe6c5 100644 --- a/rc/winerc.c +++ b/rc/winerc.c @@ -3,7 +3,6 @@ * Copyright Martin von Loewis, 1994 * */ - static char Copyright[] = "Copyright Martin von Loewis, 1994"; #include @@ -11,6 +10,8 @@ static char Copyright[] = "Copyright Martin von Loewis, 1994"; #include #include #include +#include +#include #include #include #include "rc.h" @@ -25,7 +26,7 @@ gen_res* g_start; FILE *header,*code; char hname[256],sname[256]; -main(int argc,char *argv[]) +int main(int argc,char *argv[]) { extern int yydebug; extern char* optarg; diff --git a/tools/build.c b/tools/build.c index 22778b0dad2..958995d6624 100644 --- a/tools/build.c +++ b/tools/build.c @@ -313,9 +313,7 @@ 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; @@ -469,7 +467,6 @@ ParseReturn(int ordinal) ORDRETDEF *rdp; char *token; char *endptr; - int value; if (ordinal >= MAX_ORDINALS) { @@ -604,11 +601,11 @@ ParseTopLevel(void) return 0; } -InitContext() +void +InitContext(void) { struct sigcontext_struct context; int i; - int j; n_context_strings = sizeof(context) / 4; context_strings = (char **) malloc(n_context_strings * sizeof(char **)); @@ -707,10 +704,7 @@ main(int argc, char **argv) ORDRETDEF *rdp; FILE *fp; char filename[80]; - char buffer[80]; - char *p; - int i, ci; - int add_count; + int i, ci, add_count; if (argc < 2) { @@ -971,5 +965,6 @@ main(int argc, char **argv) fprintf(fp, "};\n"); fclose(fp); + return 0; } diff --git a/tools/make_debug b/tools/make_debug index e7d5460e305..dc1ec095666 100755 --- a/tools/make_debug +++ b/tools/make_debug @@ -90,11 +90,14 @@ do cat <<++EOF++ >>$DEBUG_H #ifdef DEBUG_RUNTIME #define dprintf_$x if(debug_msg_enabled[$i]) fprintf +#define debugging_$x debug_msg_enabled[$i] #else #ifdef DEBUG_$y #define dprintf_$x fprintf +#define debugging_$x 1 #else #define dprintf_$x +#define debugging_$x 0 #endif #endif diff --git a/windows/caret.c b/windows/caret.c index bc09e220517..5c31d192afd 100644 --- a/windows/caret.c +++ b/windows/caret.c @@ -2,14 +2,13 @@ * Caret functions * * Copyright 1993 David Metcalfe - */ - + * static char Copyright[] = "Copyright David Metcalfe, 1993"; +*/ #include "windows.h" #include "stddebug.h" /* #define DEBUG_CARET */ -/* #undef DEBUG_CARET */ #include "debug.h" diff --git a/windows/class.c b/windows/class.c index 6c6ae7bfdcc..7f937bbd19f 100644 --- a/windows/class.c +++ b/windows/class.c @@ -2,9 +2,9 @@ * Window classes functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include #include @@ -15,7 +15,6 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; #include "dce.h" #include "stddebug.h" /* #define DEBUG_CLASS */ -/* #undef DEBUG_CLASS */ #include "debug.h" diff --git a/windows/cursor.c b/windows/cursor.c index 4aa8a062c09..4d3628a20fd 100644 --- a/windows/cursor.c +++ b/windows/cursor.c @@ -1,7 +1,7 @@ /* * WINE -*/ static char Copyright[] = "Copyright Martin Ayotte, 1993"; +*/ #include #include @@ -16,21 +16,18 @@ static char Copyright[] = "Copyright Martin Ayotte, 1993"; #include "windows.h" #include "win.h" #include "gdi.h" +#include "library.h" #include "wine.h" #include "cursor.h" #include "stddebug.h" /* #define DEBUG_CURSOR */ -/* #undef DEBUG_CURSOR */ /* #define DEBUG_RESOURCE */ -/* #undef DEBUG_RESOURCE */ #include "debug.h" static int ShowCursCount = 0; static HCURSOR hActiveCursor; static HCURSOR hEmptyCursor = 0; RECT ClipCursorRect; -extern HINSTANCE hSysRes; -extern int desktopX, desktopY; /* misc/main.c */ static struct { LPSTR name; HCURSOR cursor; } system_cursor[] = { diff --git a/windows/dce.c b/windows/dce.c index 9ddc1f4a406..3148ba2a582 100644 --- a/windows/dce.c +++ b/windows/dce.c @@ -2,9 +2,9 @@ * USER DCE functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include "dce.h" #include "class.h" @@ -14,14 +14,10 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; #include "sysmetrics.h" #include "stddebug.h" /* #define DEBUG_DC */ -/* #undef DEBUG_DC */ #include "debug.h" - #define NB_DCE 5 /* Number of DCEs created at startup */ -extern Display * display; - static HANDLE firstDCE = 0; static HDC defaultDCstate = 0; diff --git a/windows/defdlg.c b/windows/defdlg.c index cadc47efe39..4bd8592e05e 100644 --- a/windows/defdlg.c +++ b/windows/defdlg.c @@ -2,22 +2,17 @@ * Default dialog procedure * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include "windows.h" #include "dialog.h" #include "win.h" #include "stddebug.h" -/* #define DEBUG_DIALOG /* */ -/* #undef DEBUG_DIALOG /* */ +/* #define DEBUG_DIALOG */ #include "debug.h" - -extern HWND DIALOG_GetFirstTabItem( HWND hwndDlg ); /* windows/dialog.c */ - - /*********************************************************************** * DEFDLG_SetFocus * diff --git a/windows/defwnd.c b/windows/defwnd.c index a23d764127d..b02a371ef36 100644 --- a/windows/defwnd.c +++ b/windows/defwnd.c @@ -2,9 +2,9 @@ * Default window procedure * * Copyright 1993 Alexandre Julliard - */ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include #include @@ -12,27 +12,16 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; #include "win.h" #include "class.h" #include "user.h" +#include "nonclient.h" +#include "winpos.h" #include "syscolor.h" #include "stddebug.h" /* #define DEBUG_MESSAGE */ -/* #undef DEBUG_MESSAGE */ #include "debug.h" - /* Last COLOR id */ #define COLOR_MAX COLOR_BTNHIGHLIGHT -extern LONG NC_HandleNCPaint( HWND hwnd, HRGN hrgn ); -extern LONG NC_HandleNCActivate( HWND hwnd, WORD wParam ); -extern LONG NC_HandleNCCalcSize( HWND hwnd, NCCALCSIZE_PARAMS *params ); -extern LONG NC_HandleNCHitTest( HWND hwnd, POINT pt ); -extern LONG NC_HandleNCLButtonDown( HWND hwnd, WORD wParam, LONG lParam ); -extern LONG NC_HandleNCLButtonDblClk( HWND hwnd, WORD wParam, LONG lParam ); -extern LONG NC_HandleSysCommand( HWND hwnd, WORD wParam, POINT pt ); -extern LONG NC_HandleSetCursor( HWND hwnd, WORD wParam, LONG lParam ); -extern LONG WINPOS_HandleWindowPosChanging( WINDOWPOS *winpos ); /* winpos.c */ - - /*********************************************************************** * DEFWND_SetText * diff --git a/windows/dialog.c b/windows/dialog.c index c5c10967234..bd05034d514 100644 --- a/windows/dialog.c +++ b/windows/dialog.c @@ -2,10 +2,9 @@ * Dialog functions * * Copyright 1993, 1994 Alexandre Julliard - */ - - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; +*/ #include #include @@ -18,10 +17,8 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; #include "heap.h" #include "stddebug.h" /* #define DEBUG_DIALOG */ -/* #undef DEBUG_DIALOG */ #include "debug.h" - /* Dialog base units */ static WORD xBaseUnit = 0, yBaseUnit = 0; @@ -151,7 +148,6 @@ static DLGCONTROLHEADER * DIALOG_ParseTemplate( LPCSTR template, /*********************************************************************** * DIALOG_DisplayTemplate */ -#ifdef DEBUG_DIALOG static void DIALOG_DisplayTemplate( DLGTEMPLATE * result ) { dprintf_dialog(stddeb, "DIALOG %d, %d, %d, %d\n", result->header->x, result->header->y, @@ -166,7 +162,6 @@ static void DIALOG_DisplayTemplate( DLGTEMPLATE * result ) if (result->header->style & DS_SETFONT) dprintf_dialog(stddeb, " FONT %d,'%s'\n", result->pointSize, result->faceName ); } -#endif /* DEBUG_DIALOG */ /*********************************************************************** @@ -236,9 +231,7 @@ HWND CreateDialogIndirectParam( HINSTANCE hInst, LPCSTR dlgTemplate, if (!dlgTemplate) return 0; header = DIALOG_ParseTemplate( dlgTemplate, &template ); -#ifdef DEBUG_DIALOG - DIALOG_DisplayTemplate( &template ); -#endif + if(debugging_dialog)DIALOG_DisplayTemplate( &template ); /* Load menu */ diff --git a/windows/event.c b/windows/event.c index 11467badb25..71469b7808b 100644 --- a/windows/event.c +++ b/windows/event.c @@ -2,9 +2,9 @@ * X events handling functions * * Copyright 1993 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1993"; +*/ #include #include @@ -12,16 +12,16 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; #include #include #include - +#include "gdi.h" #include "windows.h" #include "win.h" #include "class.h" #include "message.h" +#include "clipboard.h" +#include "winpos.h" #include "stddebug.h" -/* #define DEBUG_EVENT /* */ -/* #undef DEBUG_EVENT /* */ -/* #define DEBUG_KEY /* */ -/* #undef DEBUG_KEY /* */ +/* #define DEBUG_EVENT */ +/* #define DEBUG_KEY */ #include "debug.h" @@ -38,10 +38,6 @@ typedef char *XPointer; #define NB_BUTTONS 3 /* Windows can handle 3 buttons */ -extern int desktopX, desktopY; /* misc/main.c */ - -extern void WINPOS_ChangeActiveWindow( HWND hwnd, BOOL mouseMsg ); /*winpos.c*/ - /* X context to associate a hwnd to an X window */ static XContext winContext = 0; @@ -519,7 +515,7 @@ static void EVENT_SelectionNotify(HWND hwnd, XSelectionEvent *event) static void EVENT_SelectionClear(HWND hwnd, XSelectionClearEvent *event) { if(event->selection!=XA_PRIMARY)return; - CLIPBOARD_ReleaseSelection(); + CLIPBOARD_ReleaseSelection(hwnd); } /********************************************************************** diff --git a/windows/focus.c b/windows/focus.c index 0418ad9e116..7dc8897af80 100644 --- a/windows/focus.c +++ b/windows/focus.c @@ -3,18 +3,16 @@ * * Copyright 1993 David Metcalfe * Copyright 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright David Metcalfe, 1993"; static char Copyright2[] = "Copyright Alexandre Julliard, 1994"; +*/ #include "win.h" - -extern Colormap COLOR_WinColormap; +#include "color.h" static HWND hWndFocus = 0; - /***************************************************************** * FOCUS_SetXFocus * diff --git a/windows/graphics.c b/windows/graphics.c index c052efe85a1..6f481482c99 100644 --- a/windows/graphics.c +++ b/windows/graphics.c @@ -14,19 +14,14 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; #ifndef PI #define PI M_PI #endif - +#include "dc.h" #include "gdi.h" +#include "metafile.h" #include "syscolor.h" #include "stddebug.h" -/* #define DEBUG_GRAPHICS /* */ -/* #undef DEBUG_GRAPHICS /* */ +#include "color.h" #include "debug.h" - -extern const int DC_XROPfunction[]; - -extern int COLOR_ToPhysical( DC *dc, COLORREF color ); - static __inline__ void swap_int(int *a, int *b) { int c; @@ -109,7 +104,7 @@ BOOL MoveToEx( HDC hdc, short x, short y, LPPOINT pt ) * Helper functions for Arc(), Chord() and Pie(). * 'lines' is the number of lines to draw: 0 for Arc, 1 for Chord, 2 for Pie. */ -BOOL GRAPH_DrawArc( HDC hdc, int left, int top, int right, int bottom, +static BOOL GRAPH_DrawArc( HDC hdc, int left, int top, int right, int bottom, int xstart, int ystart, int xend, int yend, int lines ) { int xcenter, ycenter, istart_angle, idiff_angle; @@ -453,7 +448,7 @@ int FrameRect( HDC hdc, LPRECT rect, HBRUSH hbrush ) */ COLORREF SetPixel( HDC hdc, short x, short y, COLORREF color ) { - int pixel; + Pixel pixel; PALETTEENTRY entry; DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC ); @@ -468,13 +463,17 @@ COLORREF SetPixel( HDC hdc, short x, short y, COLORREF color ) x = dc->w.DCOrgX + XLPTODP( dc, x ); y = dc->w.DCOrgY + YLPTODP( dc, y ); pixel = COLOR_ToPhysical( dc, color ); - GetPaletteEntries( dc->w.hPalette, pixel, 1, &entry ); XSetForeground( display, dc->u.x.gc, pixel ); XSetFunction( display, dc->u.x.gc, GXcopy ); XDrawPoint( display, dc->u.x.drawable, dc->u.x.gc, x, y ); - return RGB( entry.peRed, entry.peGreen, entry.peBlue ); + if (screenDepth <= 8) + { + GetPaletteEntries( dc->w.hPalette, pixel, 1, &entry ); + return RGB( entry.peRed, entry.peGreen, entry.peBlue ); + } + else return (COLORREF)pixel; } diff --git a/windows/mapping.c b/windows/mapping.c index 07e4bbc75f6..b3f96d1f800 100644 --- a/windows/mapping.c +++ b/windows/mapping.c @@ -9,8 +9,7 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; #include "gdi.h" #include "metafile.h" #include "stddebug.h" -/* #define DEBUG_GDI /* */ -/* #undef DEBUG_GDI /* */ +/* #define DEBUG_GDI */ #include "debug.h" diff --git a/windows/mdi.c b/windows/mdi.c index 6c5927d0195..ed6ca964b14 100644 --- a/windows/mdi.c +++ b/windows/mdi.c @@ -11,16 +11,12 @@ #include "win.h" #include "mdi.h" #include "user.h" +#include "menu.h" #include "sysmetrics.h" #include "stddebug.h" -/* #define DEBUG_MDI /* */ -/* #undef DEBUG_MDI /* */ +/* #define DEBUG_MDI */ #include "debug.h" - -extern WORD MENU_DrawMenuBar( HDC hDC, LPRECT lprect, - HWND hwnd, BOOL suppress_draw ); /* menu.c */ - /********************************************************************** * MDIRecreateMenuList */ @@ -31,14 +27,14 @@ MDIRecreateMenuList(MDICLIENTINFO *ci) char buffer[128]; int id, n, index; - dprintf_mdi(stddeb, "MDIRecreateMenuList: hWindowMenu %04.4x\n", + dprintf_mdi(stddeb, "MDIRecreateMenuList: hWindowMenu %0x\n", ci->hWindowMenu); id = ci->idFirstChild; while (DeleteMenu(ci->hWindowMenu, id, MF_BYCOMMAND)) id++; - dprintf_mdi(stddeb, "MDIRecreateMenuList: id %04.4x, idFirstChild %04.4x\n", + dprintf_mdi(stddeb, "MDIRecreateMenuList: id %04x, idFirstChild %04x\n", id, ci->idFirstChild); if (!ci->flagMenuAltered) @@ -54,7 +50,7 @@ MDIRecreateMenuList(MDICLIENTINFO *ci) n = sprintf(buffer, "%d ", index++); GetWindowText(chi->hwnd, buffer + n, sizeof(buffer) - n - 1); - dprintf_mdi(stddeb, "MDIRecreateMenuList: id %04.4x, '%s'\n", + dprintf_mdi(stddeb, "MDIRecreateMenuList: id %04x, '%s'\n", id, buffer); AppendMenu(ci->hWindowMenu, MF_STRING, id++, buffer); @@ -157,7 +153,7 @@ void MDIBringChildToTop(HWND parent, WORD id, WORD by_id, BOOL send_to_bottom) w = WIN_FindWndPtr(parent); ci = (MDICLIENTINFO *) w->wExtra; - dprintf_mdi(stddeb, "MDIBringToTop: id %04.4x, by_id %d\n", id, by_id); + dprintf_mdi(stddeb, "MDIBringToTop: id %04x, by_id %d\n", id, by_id); if (by_id) id -= ci->idFirstChild; @@ -179,7 +175,7 @@ void MDIBringChildToTop(HWND parent, WORD id, WORD by_id, BOOL send_to_bottom) if (!chi) return; - dprintf_mdi(stddeb, "MDIBringToTop: child %04.4x\n", chi->hwnd); + dprintf_mdi(stddeb, "MDIBringToTop: child %04x\n", chi->hwnd); if (chi != ci->infoActiveChildren) { if (ci->flagChildMaximized) @@ -241,7 +237,7 @@ void MDIBringChildToTop(HWND parent, WORD id, WORD by_id, BOOL send_to_bottom) SendMessage(parent, WM_CHILDACTIVATE, 0, 0); } - dprintf_mdi(stddeb, "MDIBringToTop: pos %04.4x, hwnd %04.4x\n", + dprintf_mdi(stddeb, "MDIBringToTop: pos %04x, hwnd %04x\n", id, chi->hwnd); } } @@ -318,7 +314,7 @@ LONG MDIChildActivated(WND *w, MDICLIENTINFO *ci, HWND parent) HWND act_hwnd; LONG lParam; - dprintf_mdi(stddeb, "MDIChildActivate: top %04.4x\n", w->hwndChild); + dprintf_mdi(stddeb, "MDIChildActivate: top %04x\n", w->hwndChild); chi = ci->infoActiveChildren; if (chi) @@ -327,7 +323,7 @@ LONG MDIChildActivated(WND *w, MDICLIENTINFO *ci, HWND parent) act_hwnd = chi->hwnd; lParam = ((LONG) deact_hwnd << 16) | act_hwnd; - dprintf_mdi(stddeb, "MDIChildActivate: deact %04.4x, act %04.4x\n", + dprintf_mdi(stddeb, "MDIChildActivate: deact %04x, act %04x\n", deact_hwnd, act_hwnd); ci->hwndActiveChild = act_hwnd; @@ -377,12 +373,12 @@ LONG MDICascade(HWND parent, MDICLIENTINFO *ci) for (chi = ci->infoActiveChildren; chi->next != NULL; chi = chi->next) ; - dprintf_mdi(stddeb, "MDICascade: last child is %04.4x\n", chi->hwnd); + dprintf_mdi(stddeb, "MDICascade: last child is %04x\n", chi->hwnd); x = 0; y = 0; for ( ; chi != NULL; chi = chi->prev) { - dprintf_mdi(stddeb, "MDICascade: move %04.4x to (%d,%d) size [%d,%d]\n", + dprintf_mdi(stddeb, "MDICascade: move %04x to (%d,%d) size [%d,%d]\n", chi->hwnd, x, y, xsize, ysize); SetWindowPos(chi->hwnd, 0, x, y, xsize, ysize, SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOZORDER); diff --git a/windows/message.c b/windows/message.c index 304a8f93686..b4d6458f76c 100644 --- a/windows/message.c +++ b/windows/message.c @@ -17,12 +17,15 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; #include "message.h" #include "win.h" +#include "gdi.h" #include "wineopts.h" #include "sysmetrics.h" #include "hook.h" +#include "win.h" +#include "event.h" +#include "winpos.h" #include "stddebug.h" /* #define DEBUG_MSG */ -/* #undef DEBUG_MSG */ #include "debug.h" @@ -33,12 +36,6 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; extern BOOL TIMER_CheckTimer( LONG *next, MSG *msg, HWND hwnd, BOOL remove ); /* timer.c */ -extern void EVENT_ProcessEvent( XEvent *event ); /* event.c */ -extern void WINPOS_ChangeActiveWindow( HWND hwnd, BOOL mouseMsg ); /*winpos.c*/ -extern void WIN_SendParentNotify( HWND hwnd, WORD event, - LONG lParam ); /* win.c */ - -extern Display * display; /* System message queue (for hardware events) */ static HANDLE hmemSysMsgQueue = 0; diff --git a/windows/nonclient.c b/windows/nonclient.c index 929c1f1e08e..f91eb12d305 100644 --- a/windows/nonclient.c +++ b/windows/nonclient.c @@ -2,9 +2,9 @@ * Non-client area window functions * * Copyright 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1994"; +*/ #include "win.h" #include "class.h" @@ -12,10 +12,16 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1994"; #include "scroll.h" #include "sysmetrics.h" #include "user.h" +#include "dialog.h" #include "syscolor.h" +#include "library.h" +#include "menu.h" +#include "winpos.h" +#include "scroll.h" +#include "nonclient.h" +#include "graphics.h" #include "stddebug.h" /* #define DEBUG_NONCLIENT */ -/* #undef DEBUG_NONCLIENT */ #include "debug.h" @@ -28,24 +34,8 @@ static HBITMAP hbitmapRestore = 0; static HBITMAP hbitmapRestoreD = 0; #define SC_ABOUTWINE (SC_SCREENSAVE+1) -extern HINSTANCE hSysRes; extern BOOL AboutWine_Proc( HWND hDlg, WORD msg, WORD wParam, LONG lParam ); -extern void WINPOS_GetMinMaxInfo( HWND hwnd, POINT *maxSize, POINT *maxPos, - POINT *minTrack, POINT *maxTrack ); /* winpos.c */ -extern BOOL GRAPH_DrawBitmap( HDC hdc, HBITMAP hbitmap, int xdest, int ydest, - int xsrc, int ysrc, int width, int height, - int rop ); /* graphics.c */ -extern WORD MENU_GetMenuBarHeight( HWND hwnd, WORD menubarWidth, - int orgX, int orgY ); /* menu.c */ -extern void MENU_TrackMouseMenuBar( HWND hwnd, POINT pt ); /* menu.c */ -extern void MENU_TrackKbdMenuBar( HWND hwnd, WORD wParam ); /* menu.c */ -extern WORD MENU_DrawMenuBar( HDC hDC, LPRECT lprect, - HWND hwnd, BOOL suppress_draw ); /* menu.c */ -extern void SCROLL_HandleScrollEvent( HWND hwnd, int nBar, - WORD msg, POINT pt); /* scroll.c */ - - /* Some useful macros */ #define HAS_DLGFRAME(style,exStyle) \ (((style) & WS_DLGFRAME) && \ diff --git a/windows/scroll.c b/windows/scroll.c index 39fead6909f..2710c30f336 100644 --- a/windows/scroll.c +++ b/windows/scroll.c @@ -10,9 +10,9 @@ static char Copyright[] = "Copyright David W. Metcalfe, 1993"; #include #include "windows.h" #include "gdi.h" +#include "scroll.h" #include "stddebug.h" -/* #define DEBUG_SCROLL /* */ -/* #undef DEBUG_SCROLL /* */ +/* #define DEBUG_SCROLL */ #include "debug.h" diff --git a/windows/syscolor.c b/windows/syscolor.c index de92afca457..bcf53973af6 100644 --- a/windows/syscolor.c +++ b/windows/syscolor.c @@ -14,11 +14,9 @@ static char Copyright2[] = "Copyright Alexandre Julliard, 1994"; #include "windows.h" #include "syscolor.h" #include "stddebug.h" -/* #define DEBUG_SYSCOLOR /* */ -/* #undef DEBUG_SYSCOLOR /* */ +/* #define DEBUG_SYSCOLOR */ #include "debug.h" - struct SysColorObjects sysColorObjects = { 0, }; static char * DefSysColors[] = @@ -134,7 +132,7 @@ static void SYSCOLOR_SetColor( int index, COLORREF color ) /************************************************************************* * SYSCOLOR_Init */ -void SYSCOLOR_Init() +void SYSCOLOR_Init(void) { int i, r, g, b; char **p; @@ -155,7 +153,7 @@ void SYSCOLOR_Init() COLORREF GetSysColor(short nIndex) { - dprintf_syscolor(stddeb,"System Color %d = %6x\n", + dprintf_syscolor(stddeb,"System Color %d = %8lx\n", nIndex, SysColors[nIndex]); return SysColors[nIndex]; } diff --git a/windows/sysmetrics.c b/windows/sysmetrics.c index 71413c715af..3aa9bb33a9e 100644 --- a/windows/sysmetrics.c +++ b/windows/sysmetrics.c @@ -2,26 +2,22 @@ * System metrics functions * * Copyright 1994 Alexandre Julliard - */ - + * static char Copyright[] = "Copyright Alexandre Julliard, 1994"; +*/ #include - +#include "gdi.h" #include "sysmetrics.h" - short sysMetrics[SM_CMETRICS]; -extern Display * display; -extern int screenWidth, screenHeight; - /*********************************************************************** * SYSMETRICS_Init * * Initialisation of the system metrics array. */ -void SYSMETRICS_Init() +void SYSMETRICS_Init(void) { sysMetrics[SM_CXSCREEN] = screenWidth; sysMetrics[SM_CYSCREEN] = screenHeight; @@ -77,6 +73,3 @@ int GetSystemMetrics( WORD index ) if (index >= SM_CMETRICS) return 0; else return sysMetrics[index]; } - - - diff --git a/windows/timer.c b/windows/timer.c index b95b99ba644..9c54240b3b5 100644 --- a/windows/timer.c +++ b/windows/timer.c @@ -9,8 +9,7 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993"; #include "windows.h" #include "message.h" #include "stddebug.h" -/* #define DEBUG_TIMER /* */ -/* #undef DEBUG_TIMER /* */ +/* #define DEBUG_TIMER */ #include "debug.h" diff --git a/windows/utility.c b/windows/utility.c index 5f9fcad7148..75b779d1879 100644 --- a/windows/utility.c +++ b/windows/utility.c @@ -14,8 +14,7 @@ #include #include "windows.h" #include "stddebug.h" -/* #define DEBUG_UTILITY /* */ -/* #undef DEBUG_UTILITY /* */ +/* #define DEBUG_UTILITY */ #include "debug.h" diff --git a/windows/win.c b/windows/win.c index 142e2794a79..28131ecf771 100644 --- a/windows/win.c +++ b/windows/win.c @@ -16,29 +16,18 @@ static char Copyright[] = "Copyright Alexandre Julliard, 1993, 1994"; #include "user.h" #include "dce.h" #include "sysmetrics.h" +#include "menu.h" #include "icon.h" #include "cursor.h" +#include "event.h" +#include "winpos.h" +#include "color.h" #include "stddebug.h" #include "callback.h" -/* #define DEBUG_WIN /* */ -/* #undef DEBUG_WIN /* */ -/* #define DEBUG_MENU /* */ -/* #undef DEBUG_MENU /* */ +/* #define DEBUG_WIN */ +/* #define DEBUG_MENU */ #include "debug.h" -extern Colormap COLOR_WinColormap; - -extern void EVENT_RegisterWindow( Window w, HWND hwnd ); /* event.c */ -extern void WINPOS_ChangeActiveWindow( HWND hwnd, BOOL mouseMsg ); /*winpos.c*/ -extern LONG WINPOS_SendNCCalcSize( HWND hwnd, BOOL calcValidRect, - RECT *newWindowRect, RECT *oldWindowRect, - RECT *oldClientRect, WINDOWPOS *winpos, - RECT *newClientRect ); /* winpos.c */ - -extern HMENU CopySysMenu(); /* menu.c */ -extern LONG MDIClientWndProc(HWND hwnd, WORD message, - WORD wParam, LONG lParam); /* mdi.c */ - static HWND hwndDesktop = 0; static HWND hWndSysModal = 0; @@ -981,8 +970,6 @@ BOOL EnumWindows(FARPROC wndenumprc, LPARAM lParam) dprintf_enum(stddeb,"EnumWindows\n"); while (hwnd) { - char *ptr; - if ( !(wndPtr=WIN_FindWndPtr(hwnd)) ) { return 0; } @@ -1015,11 +1002,8 @@ BOOL EnumWindows(FARPROC wndenumprc, LPARAM lParam) static BOOL WIN_EnumChildWin(HWND hwnd, FARPROC wndenumprc, LPARAM lParam) { WND *wndPtr; - int result; - while (hwnd) { - char *ptr; if ( !(wndPtr=WIN_FindWndPtr(hwnd)) ) { return 0; } diff --git a/windows/winpos.c b/windows/winpos.c index 80d3badd569..8a1ebd1eaa0 100644 --- a/windows/winpos.c +++ b/windows/winpos.c @@ -687,32 +687,42 @@ static BOOL WINPOS_InternalSetWindowPos( WINDOWPOS *winpos ) if (!(flags & SWP_NOSIZE)) { - newWindowRect.right = newWindowRect.left + winpos->cx; - newWindowRect.bottom = newWindowRect.top + winpos->cy; - winChanges.width = winpos->cx; - winChanges.height = winpos->cy; - changeMask |= CWWidth | CWHeight; + if ((newWindowRect.right != newWindowRect.left + winpos->cx) || + (newWindowRect.bottom != newWindowRect.top + winpos->cy)) + { + newWindowRect.right = newWindowRect.left + winpos->cx; + newWindowRect.bottom = newWindowRect.top + winpos->cy; + winChanges.width = winpos->cx; + winChanges.height = winpos->cy; + changeMask |= CWWidth | CWHeight; + } + else flags = winpos->flags |= SWP_NOSIZE; } if (!(flags & SWP_NOMOVE)) { - newWindowRect.left = winpos->x; - newWindowRect.top = winpos->y; - newWindowRect.right += winpos->x - wndPtr->rectWindow.left; - newWindowRect.bottom += winpos->y - wndPtr->rectWindow.top; - if (wndPtr->dwStyle & WS_CHILD) - { - WND *parentPtr = WIN_FindWndPtr(wndPtr->hwndParent); - winChanges.x = winpos->x + parentPtr->rectClient.left - - parentPtr->rectWindow.left; - winChanges.y = winpos->y + parentPtr->rectClient.top - - parentPtr->rectWindow.top; - } - else - { - winChanges.x = winpos->x; - winChanges.y = winpos->y; - } - changeMask |= CWX | CWY; + if ((newWindowRect.left != winpos->x) || + (newWindowRect.top != winpos->y)) + { + newWindowRect.left = winpos->x; + newWindowRect.top = winpos->y; + newWindowRect.right += winpos->x - wndPtr->rectWindow.left; + newWindowRect.bottom += winpos->y - wndPtr->rectWindow.top; + if (wndPtr->dwStyle & WS_CHILD) + { + WND *parentPtr = WIN_FindWndPtr(wndPtr->hwndParent); + winChanges.x = winpos->x + parentPtr->rectClient.left + - parentPtr->rectWindow.left; + winChanges.y = winpos->y + parentPtr->rectClient.top + - parentPtr->rectWindow.top; + } + else + { + winChanges.x = winpos->x; + winChanges.y = winpos->y; + } + changeMask |= CWX | CWY; + } + else flags = winpos->flags |= SWP_NOMOVE; } /* Reposition window in Z order */ -- 2.11.4.GIT