|
|
Line 2: |
Line 2: |
| == Table of Contents == | | == Table of Contents == |
| === I. Developing Wine === | | === I. Developing Wine === |
| <ul>
| | #[[Building Wine|Building Wine]] |
| ====[[Building Wine|1. Building Wine]]====
| | #[[Wine Developer's Guide/Debugging Wine|Debugging Wine]] |
| ====[[Wine Developer's Guide/Debugging Wine|2. Debugging Wine]]====
| | #[[Wine Developer's Guide/Debug Logging|Debug Logging]] |
| <ol>
| | #[[Wine Developer's Guide/Other Debugging Techniques|Other Debugging Techniques]] |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#Introduction|Introduction]]
| | #[[Wine Developer's Guide/Coding Practice|Coding Practice]] |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#WineDbg modes of invocation|WineDbg modes of invocation]]
| | #[[Wine_Developer's_Guide/Writing_Conformance_Tests|Writing Conformance Tests]] |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#Using the Wine Debugger|Using the Wine Debugger]]
| | #[[Wine Developer's Guide/Documenting Wine|Documenting Wine]] |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#Useful memory addresses|Useful memory addresses]]
| |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#Configuration|Configuration]]
| |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#WineDbg Expressions and Variables|WineDbg Expressions and Variables]]
| |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#WineDbg Command Reference|WineDbg Command Reference]]
| |
| <li>[[Wine_Developer's_Guide/Debugging_Wine#Other debuggers|Other debuggers]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Debug Logging|3. Debug Logging]]====
| |
| <ol>
| |
| <li>[[Wine_Developer's_Guide/Debug_Logging#Debugging_classes|Debugging classes]]
| |
| <li>[[Wine_Developer's_Guide/Debug_Logging#Debugging_channels|Debugging channels]]
| |
| <li>[[Wine_Developer's_Guide/Debug_Logging#Are_we_debugging?|Are we debugging?]]
| |
| <li>[[Wine_Developer's_Guide/Debug_Logging#Helper_functions|Helper functions]]
| |
| <li>[[Wine_Developer's_Guide/Debug_Logging#Controlling_the_debugging_output|Controlling the debugging output]]
| |
| <li>[[Wine_Developer's_Guide/Debug_Logging#A_Few_Notes_on_Style|A Few Notes on Style]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Other Debugging Techniques|4. Other Debugging Techniques]]====
| |
| <ol>
| |
| <li>[[Wine_Developer's_Guide/Other_Debugging_Techniques#Understanding_undocumented_APIs|Understanding undocumented APIs]]
| |
| <li>[[Wine_Developer's_Guide/Other_Debugging_Techniques#How_to_do_regression_testing_using_Git|How to do regression testing using Git]]
| |
| <li>[[Wine_Developer's_Guide/Other_Debugging_Techniques#Which_code_has_been_tested?|Which code has been tested?]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Coding Practice|5. Coding Practice]]====
| |
| <ol>
| |
| <li>[[Wine_Developer's_Guide/Coding_Practice#Patch_Format|Patch Format]]
| |
| <li>[[Wine_Developer's_Guide/Coding_Practice#Some notes about style|Some notes about style]]
| |
| <li>[[Wine_Developer's_Guide/Coding_Practice#Quality Assurance|Quality Assurance]]
| |
| <li>[[Wine_Developer's_Guide/Coding_Practice#Porting Wine to new Platforms|Porting Wine to new Platforms]]
| |
| <li>[[Wine_Developer's_Guide/Coding_Practice#Adding New Languages|Adding New Languages]]
| |
| </ol>
| |
| ====[[Wine_Developer's_Guide/Writing_Conformance_Tests|6. Writing Conformance Tests]]====
| |
| <ol>
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#Introduction|Introduction]]
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#What to test for?|What to test for?]]
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#Running the tests in Wine|Running the tests in Wine]]
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#Cross-compiling the tests with MinGW-w64|Cross-compiling the tests with MinGW-w64]]
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#Building and running the tests on Windows|Buiding and running the tests on Windows]]
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#Inside a Test|Inside a Test]]
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#Writing good error messages|Writing good error messages]]
| |
| <li>[[Wine_Developer's_Guide/Writing_Conformance_Tests#Handling platform issues|Handling platform issues]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Documenting Wine|7. Documenting Wine]]====
| |
| <ol>
| |
| <li>[[Wine_Developer's_Guide/Documenting_Wine#An_Overview_Of_Wine_Documentation|An Overview Of Wine Documentation]]
| |
| <li>[[Wine_Developer's_Guide/Documenting_Wine#Writing_Wine_API_Documentation|Writing Wine API Documentation]]
| |
| </ol>
| |
| </ul>
| |
| | |
| === II. Wine Architecture === | | === II. Wine Architecture === |
| <ul>
| | #[[Wine Developer's Guide/Architecture Overview|Overview]] |
| ====[[Wine Developer's Guide/Architecture Overview|8. Overview]]====
| | #[[Wine Developer's Guide/Kernel modules|Kernel modules]] |
| <ol>
| | #[[Wine Developer's Guide/Windowing system|Windowing system]] |
| <li>[[Wine Developer's Guide/Architecture Overview#Wine Overview|Wine Overview]]
| | #[[Wine Developer's Guide/COM in Wine|COM in Wine]] |
| <li>[[Wine Developer's Guide/Architecture Overview#Standard Windows Architectures|Standard Windows Architectures]]
| | #[[Wine Developer's Guide/Wine and OpenGL|Wine and OpenGL]] |
| <li>[[Wine Developer's Guide/Architecture Overview#Wine architecture|Wine architecture]]
| | #[[Wine Developer's Guide/Outline of DirectDraw Architecture|Outline of DirectDraw Architecture]] |
| </ol>
| | #[[Wine Developer's Guide/Wine and Multimedia|Wine and Multimedia]] |
| ====[[Wine Developer's Guide/Kernel modules|9. Kernel modules]]====
| |
| <ol>
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#The_Wine_initialization_process|The Wine initialization process]]
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#Detailed memory management|Detailed memory management]]
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#Multi-processing in Wine|Multi-processing in Wine]]
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#Multi-threading in Wine|Multi-threading in Wine]]
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#Structured Exception Handling|Structured Exception Handling]]
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#File management|File management]]
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#NTDLL module|<tt>NTDLL</tt> module]]
| |
| <li>[[Wine_Developer's_Guide/Kernel_modules#KERNEL32 Module|<tt>KERNEL32</tt> Module]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Windowing system|10. Windowing system]]====
| |
| <ol>
| |
| <li>[[Wine Developer's Guide/Windowing system#USER32 Module|<tt>USER32</tt> Module]]
| |
| <li>[[Wine Developer's Guide/Windowing system#X Windows System interface|X Windows System interface]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/COM in Wine|11. COM in Wine]]====
| |
| <ol>
| |
| <li>[[Wine Developer's Guide/COM in Wine#Writing COM Components for Wine|Writing COM Components for Wine]]
| |
| <li>[[Wine Developer's Guide/COM in Wine#A brief introduction to DCOM in Wine|A brief introduction to DCOM in Wine]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Wine and OpenGL|12. Wine and OpenGL]]====
| |
| <ol>
| |
| <li>[[Wine Developer's Guide/Wine and OpenGL#What is needed to have OpenGL support in Wine|What is needed to have OpenGL support in Wine]]
| |
| <li>[[Wine Developer's Guide/Wine and OpenGL#How it all works|How it all works]]
| |
| <li>[[Wine Developer's Guide/Wine and OpenGL#Known problems|Known problems]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Outline of DirectDraw Architecture|13. Outline of DirectDraw Architecture]]====
| |
| <ol>
| |
| <li>[[Wine Developer's Guide/Outline of DirectDraw Architecture#DirectDraw inheritance tree|DirectDraw inheritance tree]]
| |
| <li>[[Wine Developer's Guide/Outline of DirectDraw Architecture#DirectDrawSurface inheritance tree|DirectDrawSurface inheritance tree]]
| |
| <li>[[Wine Developer's Guide/Outline of DirectDraw Architecture#Interface Thunks|Interface Thunks]]
| |
| <li>[[Wine Developer's Guide/Outline of DirectDraw Architecture#Logical Object Layout|Logical Object Layout]]
| |
| <li>[[Wine Developer's Guide/Outline of DirectDraw Architecture#Creating Objects|Creating Objects]]
| |
| </ol>
| |
| ====[[Wine Developer's Guide/Wine and Multimedia|14. Wine and Multimedia]]====
| |
| <ol>
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#Overview|Overview]]
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#Multimedia architecture|Multimedia architecture]]
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#Low level layers|Low level layers]]
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#Mid level drivers (MCI)|Mid level drivers (MCI)]]
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#High level layers|High level layers]]
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#MS ACM DLLs|MS ACM DLLs]]
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#MS Video DLLs|MS Video DLLs]]
| |
| <li>[[Wine Developer's Guide/Wine and Multimedia#Multimedia configuration|Multimedia configuration]]
| |
| </ol>
| |
|
| |
|
| ===List of Tables=== | | ===List of Tables=== |
Line 136: |
Line 43: |
| :[[Wine Developer's Guide/Wine and Multimedia#13-3|13-3. Wine VIDC drivers]] | | :[[Wine Developer's Guide/Wine and Multimedia#13-3|13-3. Wine VIDC drivers]] |
| :[[Wine Developer's Guide/Wine and Multimedia#13-4|13-4. Wine multimedia configuration scheme]] | | :[[Wine Developer's Guide/Wine and Multimedia#13-4|13-4. Wine multimedia configuration scheme]] |
| </ul>
| |
|
| |
|
| == Authors == | | == Authors == |