Miscellaneous small fixes.

This commit is contained in:
Douglas Ridgway 1998-11-22 16:56:44 +00:00 committed by Alexandre Julliard
parent 1e360ebbf9
commit 692389d09d
7 changed files with 80 additions and 68 deletions

View File

@ -1,6 +1,7 @@
This is release 981108 of Wine, the MS Windows emulator. This is still a This is release 981108 of Wine, a free implementation of Windows on
developers only release. There are many bugs and many unimplemented API Unix. This is still a developers only release. There are many bugs
features. Most applications still do not work correctly. and unimplemented features. Most applications still do not work
correctly.
Patches should be submitted to "julliard@lrc.epfl.ch". Please don't Patches should be submitted to "julliard@lrc.epfl.ch". Please don't
forget to include a ChangeLog entry. forget to include a ChangeLog entry.
@ -26,7 +27,7 @@ from the following locations:
It should also be available from any site that mirrors tsx-11 or sunsite. It should also be available from any site that mirrors tsx-11 or sunsite.
You can also get the current source directly from the CVS tree. Check You can also get the current source directly from the CVS tree. Check
http://www.winehq.com/cvs.html for details. http://www.winehq.com/dev.html for details.
If you submitted a patch, please check to make sure it has been If you submitted a patch, please check to make sure it has been
included in the new release. included in the new release.

View File

@ -1,21 +1,23 @@
This is intended to be a document to help new developers get started. This document should help new developers get started. Like all of Wine, it
Existing developers should feel free to add their comments. is a work in progress.
SOURCE TREE STRUCTURE SOURCE TREE STRUCTURE
===================== =====================
Source tree is loosely based on the original Windows modules. Most The Wine source tree is loosely based on the original Windows modules.
directories are shared between the binary emulator and the library. Most of the source is concerned with implementing the Wine API, although
there are also various tools, documentation, sample Winelib code, and
code specific to the binary loader.
Shared directories: Wine API directories:
------------------- ---------------------
KERNEL: KERNEL:
files/ - file I/O files/ - file I/O
loader/ - Win16-, Win32-binary loader loader/ - Win16-, Win32-binary loader
memory/ - memory management memory/ - memory management
msdos/ - DOS and BIOS emulation msdos/ - DOS features and BIOS calls (interrupts)
scheduler/ - process and thread management scheduler/ - process and thread management
GDI: GDI:
@ -31,34 +33,39 @@ USER:
resources/ - built-in dialog resources resources/ - built-in dialog resources
windows/ - window management windows/ - window management
Other DLLs:
dlls/*/ - Other system DLLs implemented by Wine
Miscellaneous: Miscellaneous:
misc/ - shell, registry, winsock, etc... misc/ - shell, registry, winsock, etc.
multimedia/ - multimedia driver multimedia/ - multimedia driver
ipc/ - SysV IPC management ipc/ - SysV IPC based interprocess communication
win32/ - misc Win32 functions win32/ - misc Win32 functions
Tools: Tools:
------
rc/ - resource compiler rc/ - old resource compiler
tools/ - relay code builder + misc tools tools/ - relay code builder, new rc, etc.
documentation/ - some documentation documentation/ - some documentation
Emulator-specific directories: Binary loader specific directories:
------------------------------ -----------------------------------
debugger/ - built-in debugger debugger/ - built-in debugger
if1632/ - relay code if1632/ - relay code
miscemu/ - hardware instruction emulation miscemu/ - hardware instruction emulation
graphics/win16drv/ - Win16 printer driver graphics/win16drv/ - Win16 printer driver
Winelib-specific directories: Winelib specific directories:
----------------------------- -----------------------------
library/ - Winelib-specific routines (should disappear) library/ - Required code for programs using Winelib
programs/ - utilities (Progman, WinHelp) libtest/ - Small samples and tests
libtest/ - Winelib test samples programs/ - Extended samples / system utilities
IMPLEMENTING NEW API CALLS IMPLEMENTING NEW API CALLS
========================== ==========================
@ -184,8 +191,7 @@ NAMING CONVENTIONS FOR API FUNCTIONS AND TYPES
============================================== ==============================================
In order to support both Win16 and Win32 APIs within the same source In order to support both Win16 and Win32 APIs within the same source
code, as well as share the include files between the emulator and the code, the following convention must be used in naming all API
library, the following convention must be used in naming all API
functions and types. If the Windows API uses the name 'xxx', the Wine functions and types. If the Windows API uses the name 'xxx', the Wine
code must use: code must use:
@ -197,9 +203,9 @@ code must use:
You should then use the macros WINELIB_NAME[_AW](xxx) or You should then use the macros WINELIB_NAME[_AW](xxx) or
DECL_WINELIB_TYPE[_AW](xxx) (defined in include/wintypes.h) to define DECL_WINELIB_TYPE[_AW](xxx) (defined in include/wintypes.h) to define
the correct 'xxx' function or type for Winelib. When compiling the the correct 'xxx' function or type for Winelib. When compiling Wine
emulator, 'xxx' is _not_ defined, meaning that you must always specify itself, 'xxx' is _not_ defined, meaning that code inside of Wine must
explicitly whether you want the 16-bit or 32-bit version. always specify explicitly the 16-bit or 32-bit version.
If 'xxx' is the same in Win16 and Win32, or if 'xxx' is Win16 only, If 'xxx' is the same in Win16 and Win32, or if 'xxx' is Win16 only,
you can simply use the same name as Windows, i.e. just 'xxx'. If you can simply use the same name as Windows, i.e. just 'xxx'. If

40
README
View File

@ -1,17 +1,20 @@
1. INTRODUCTION 1. INTRODUCTION
Wine is a program that allows running MS-Windows programs under X11. Wine is a program which allows running Microsoft Windows programs
It consists of a program loader, that loads and executes an (including DOS, Windows 3.x and Win32 executables) on Unix. It
MS-Windows binary, and of an emulation library that translates Windows consists of a program loader which loads and executes an Microsoft
API calls to their Unix/X11 equivalent. Windows binary, and a library that implements Windows API calls using
their Unix or X11 equivalents. The library may also be used for
porting Win32 code into native Unix executables.
Wine is free software. See the file LICENSE for the details. Wine is free software, and its license (contained in the file LICENSE)
Basically, you can do anything with it, except claim that you wrote it. is BSD style. Basically, you can do anything with it except claim
that you wrote it.
2. COMPILATION 2. COMPILATION
To compile the emulator, you must have one of: To compile Wine, you must have one of:
Linux version 0.99.13 or above Linux version 0.99.13 or above
NetBSD-current NetBSD-current
@ -62,24 +65,20 @@ wine.ini contains a config file example.
When invoking Wine, you must specify the entire path to the executable, When invoking Wine, you must specify the entire path to the executable,
or a filename only. or a filename only.
For example: to run Windows' solitaire: For example: to run Solitaire:
wine sol (using the searchpath to locate the file) wine sol (using the searchpath to locate the file)
wine sol.exe wine sol.exe
wine c:\\windows\\sol.exe (using a dosfilename) wine c:\\windows\\sol.exe (using a DOS filename)
wine /usr/windows/sol.exe (using a unixfilename) wine /usr/windows/sol.exe (using a Unix filename)
Note: the path of the file will also be added to the path when Note: the path of the file will also be added to the path when
a full name is supplied on the commandline. a full name is supplied on the commandline.
Have a nice game of solitaire, but be careful. Emulation isn't perfect. Wine is not yet complete, so some programs may crash. You will be dropped
So, occasionally it may crash. into a debugger so that you can investigate and fix the problem.
UPDATE: Windows 95 components are known to cause more crashes compared
to the equivalent Windows 3.1 libraries.
5. GETTING MORE INFORMATION 5. GETTING MORE INFORMATION
@ -87,16 +86,17 @@ Usenet: The best place to get help or to report bugs is the Usenet newsgroup
comp.emulators.ms-windows.wine. The Wine FAQ is posted there every comp.emulators.ms-windows.wine. The Wine FAQ is posted there every
month. month.
WWW: Please browse old messages on http://www.dejanews.com to check whether WWW: Please browse old messages on http://www.dejanews.com/ to check whether
your problem is already fixed before posting a bug report to the your problem is already fixed before posting a bug report to the
newsgroup. newsgroup.
A great deal of information about Wine is available from WineHQ at A great deal of information about Wine is available from WineHQ at
http://www.winehq.com. Untested patches against the current http://www.winehq.com/. Untested patches against the current release
release are available at http://www.winehq.com/patches. are available on the wine-patches mailing list; see
http://www.winehq.com/dev.html#ml for more information.
CVS: The current Wine development tree is available through CVS. CVS: The current Wine development tree is available through CVS.
Go to http://www.winehq.com/cvs.html for more information. Go to http://www.winehq.com/dev.html for more information.
FAQ: The Wine FAQ is located at http://pw1.netcom.com/~dagar/wine.html. FAQ: The Wine FAQ is located at http://pw1.netcom.com/~dagar/wine.html.

View File

@ -4,8 +4,8 @@
Wine Man Page Wine Man Page
The man page for the wine emulator is in this directory. It is installed The man page for Wine is in this directory. It is installed by 'make
by 'make install'. install'.
Wine Reference Manual Wine Reference Manual

View File

@ -100,17 +100,17 @@ to include/config.h.in
The next step depends on the nature of the missing function. The next step depends on the nature of the missing function.
Case 1: It's easy to write a complete emulation of the Case 1: It's easy to write a complete implementation of the
function. (`memmove' belongs to this case.) function. (`memmove' belongs to this case.)
You add your emulation in misc/port.c surrounded by You add your implementation in misc/port.c surrounded by
"#ifndef HAVE_MEMMOVE" and "#endif". "#ifndef HAVE_MEMMOVE" and "#endif".
You might have to add a prototype for your function. If so, You might have to add a prototype for your function. If so,
include/miscemu.h might be the place. Don't forget to protect include/miscemu.h might be the place. Don't forget to protect
that definition by "#ifndef HAVE_MEMMOVE" and "#endif" also! that definition by "#ifndef HAVE_MEMMOVE" and "#endif" also!
Case 2: A general emulation is hard, but Wine is only using Case 2: A general implementation is hard, but Wine is only using
a special case. a special case.
An example is the various "wait" calls used in SIGNAL_child An example is the various "wait" calls used in SIGNAL_child

View File

@ -1,7 +1,7 @@
.\" -*- nroff -*- .\" -*- nroff -*-
.TH WINE 1 "October 20, 1998" "Version 981018" "Windows Emulator" .TH WINE 1 "October 20, 1998" "Version 981018" "Windows On Unix"
.SH NAME .SH NAME
wine \- run Windows programs under Unix wine \- run Windows programs on Unix
.SH SYNOPSIS .SH SYNOPSIS
.B wine .B wine
[ [
@ -20,7 +20,9 @@ wine \- run Windows programs under Unix
] ]
.SH DESCRIPTION .SH DESCRIPTION
.B wine .B wine
invokes the Windows emulator. .I program
loads and runs the given program, where the program is a DOS, Windows 3.x,
or Win32 executable.
.PP .PP
.B wine .B wine
currently runs a growing list of applications written for both Win3.1 and currently runs a growing list of applications written for both Win3.1 and
@ -441,12 +443,12 @@ or 'Wine-yymmdd.diff.gz' for the diff's from the previous release.
The latest snapshot of the code may be obtained via CVS. For information The latest snapshot of the code may be obtained via CVS. For information
on how to do this, please see on how to do this, please see
.I .I
http://www.winehq.com/cvs.html http://www.winehq.com/dev.html
.PP .PP
The WineHQ, the
.B wine .B wine
homepage is at development headquarters, is at
.I http://www.winehq.com. .I http://www.winehq.com/.
This website contains a great deal of information about This website contains a great deal of information about
.B wine .B wine
as well as a collection of unofficial patches against the current release. as well as a collection of unofficial patches against the current release.
@ -460,7 +462,7 @@ All discussions about the project take place in this forum.
.PD 0 .PD 0
.TP .TP
.I /usr/local/bin/wine .I /usr/local/bin/wine
The invoker program. The Wine program loader.
.TP .TP
.I /usr/local/etc/wine.conf .I /usr/local/etc/wine.conf
Global configuration file for wine. Global configuration file for wine.

View File

@ -10,7 +10,7 @@
@ifinfo @ifinfo
@format @format
START-INFO-DIR-ENTRY START-INFO-DIR-ENTRY
* wine: (wine.info). The Windows Emulator. * wine: (wine.info). Windows on Unix.
END-INFO-DIR-ENTRY END-INFO-DIR-ENTRY
@end format @end format
@end ifinfo @end ifinfo
@ -20,7 +20,8 @@ END-INFO-DIR-ENTRY
@end iftex @end iftex
@ifinfo @ifinfo
This file documents Wine, the Windows Emulator. This file documents Wine, a system providing Microsoft Windows compatibility
to Unix.
@c @c
Copyright @copyright{} 1997,1998 The Wine authors. @* Copyright @copyright{} 1997,1998 The Wine authors. @*
@ -261,11 +262,13 @@ Not yet implemented.
This is edition @winemanualversion{}, last updated @winemanualdate{}, This is edition @winemanualversion{}, last updated @winemanualdate{},
of @winemanualtitle{}. of @winemanualtitle{}.
Wine (Wine Is Not an Emulator, or the WINdows Emulator) Wine provides both source and binary compatibility with Microsoft Windows.
is both an emulator that runs @mswindows{} executables and a library The Wine API is designed to be as compatible as possible with various
that can be used to compile @mswindows{} source code. implementations of the Windows APIs. The Wine library allows porting
Windows source to Unix, and a program loader allows unaltered Windows binaries
to be run on Unix.
Wine is free software. Wine is still in development-only state. Wine is free software. Wine is still under development.
@end ifinfo @end ifinfo
@menu @menu
@ -356,9 +359,9 @@ designed to be as compatible as possible with the
@item @item
A library, called @winelib{}, which implements this API A library, called @winelib{}, which implements this API
@item @item
A binary compatibility layer, sometimes referred to as the Wine A binary compatibility layer
emulator, which acts as a program loader for native Windows binaries. acts as a program loader for native Windows binaries.
The emulator works for both 16 and 32 bit Intel binaries, and It works for both 16 and 32 bit Intel binaries, and
provides all the appropriate translation between 16 and 32 bit code provides all the appropriate translation between 16 and 32 bit code
(thunking). Real mode interrupts are also supported, and their (thunking). Real mode interrupts are also supported, and their
functionality is implemented in @winelib{}. functionality is implemented in @winelib{}.