Wine Developer's Guide


Table of Contents
I. Developing Wine
1. Debugging Wine
Introduction
WineDbg's modes of invocation
Using the Wine Debugger
Useful memory addresses
Configuration
WineDbg Command Reference
Other debuggers
Limitations
2. Documenting Wine
An Overview Of Wine Documentation
Writing Wine API Documentation
The Wine DocBook System
3. Submitting Patches
Patch Format
Some notes about style
Quality Assurance
4. Writing Conformance tests
Introduction
What to test for?
Running the tests in Wine
Cross-compiling the tests with MinGW
Building and running the tests on Windows
Inside a test
Writing good error messages
Handling platform issues
5. Internationalization
Adding New Languages
II. Wine Architecture
6. Overview
Basic Overview
Module Overview
Wine/Windows DLLs
7. Debug Logging
Debugging classes
Debugging channels
Are we debugging?
Helper functions
Controlling the debugging output
Compiling Out Debugging Messages
A Few Notes on Style
8. COM/OLE in Wine
Writing OLE Components for Wine
9. Wine and OpenGL
What is needed to have OpenGL support in Wine
How it all works
Known problems
10. Outline of DirectDraw Architecture
DirectDraw inheritance tree
DirectDrawSurface inheritance tree
Interface Thunks
Logical Object Layout
Creating Objects
11. Wine and Multimedia
Overview
Low level layers
Mid level drivers (MCI)
High level layers
Multimedia configuration
Multimedia architecture
MS ACM Dlls
III. Advanced Topics
12. Low-level Implementation
Keyboard
Undocumented APIs
Accelerators
Doing A Hardware Trace
13. Porting Wine to new Platforms
Porting Wine to new Platforms
14. Consoles in Wine
15. How to do regression testing using CVS
List of Tables
1-1. Debuggers comparison
14-1. Function consoles implementation comparison