DLLs (under dlls/):
-------------------
+ activeds/ - Active Directory Service Interface
advapi32/ - Crypto, systeminfo, security, eventlogging
+ advpack/ - Reads and verifies .INF files
+ amstream/ - MultiMedia Streams
+ atl/ - Active Template Library
avicap32/ - AVI capture window class
avifil32/ - COM object to play AVI files
cabinet/ - Cabinet file interface
capi2032/ - Wrapper library for CAPI4Linux access
+ cards/ - Card graphics
cfgmgr32/ - Config manager
comcat/ - Component category manager
comctl32/ - Common controls
- commdlg/ - Common dialog boxes (both 16 & 32 bit)
+ comdlg32/ - Common dialog boxes (both 16 & 32 bit)
+ compstui/ - Common Property Sheet User Interface
crtdll/ - Old C runtime library
crypt32/ - Cryptography
- ctl3d/ - 3D Effects for Common GUI Components
+ cryptdll/ - Cryptography Manager
+ ctl3d32/ - 3D Effects for Common GUI Components
d3d8/ - Direct3D (3D graphics)
d3d9/ - Direct3D (3D graphics)
d3dim/ - Direct3D Immediate Mode
+ d3drm/ - Direct3D Retained Mode
d3dx8/ - Direct3D (3D graphics)
+ d3dxof/ - DirectX Files Functions
+ dbghelp/ - Engine for symbol and module enumeration
dciman32/ - DCI Manager (graphics)
ddraw/ - DirectDraw (graphics)
devenum/ - Device enumeration (part of DirectShow)
dinput/ - DirectInput (device input)
dinput8/ - DirectInput (device input)
- dmband/ - DirectMusic
- dmcompos/ - DirectMusic
- dmime/ - DirectMusic
- dmloader/ - DirectMusic
- dmscript/ - DirectMusic
- dmstyle/ - DirectMusic
- dmsynth/ - DirectMusic
- dmusic/ - DirectMusic
- dmusic32/ - DirectMusic
+ dmband/ - DirectMusic Band
+ dmcompos/ - DirectMusic Composer
+ dmime/ - DirectMusic Interactive Engine
+ dmloader/ - DirectMusic Loader
+ dmscript/ - DirectMusic Scripting
+ dmstyle/ - DirectMusic Style Engine
+ dmsynth/ - DirectMusic Software Synthesizer
+ dmusic/ - DirectMusic Core Services
+ dmusic32/ - DirectMusic Legacy Port
+ dnsapi/ - DNS support
dplay/ - DirectPlay (networking)
dplayx/ - DirectPlay (networking)
- dpnhpast/ - DirectPlay NAT Helper
+ dpnet/ - DirectPlay (networking)
+ dpnhpast/ - DirectPlay NAT Helper PAST
dsound/ - DirectSound (audio)
+ dswave/ - DirectMusic Wave
+ dxdiagn/ - DirectX Diagnostic Tool
gdi/ - GDI (graphics)
- gdi/enhmfdrv/ - Enhanced metafile driver
- gdi/mfdrv/ - Metafile driver
glu32/ - OpenGL Utility library (graphics)
+ glut32/ - OpenGL Utility Toolkit
+ gphoto2.ds/ - Contains libgphoto2 based TWAIN datasource driver
+ hhctrl.ocx/ - HHCTRL OCX implementation
+ hlink/ - Microsoft Hyperlink Library
+ iccvid/ - Radius Cinepak Video Decoder
icmp/ - ICMP protocol (networking)
+ ifsmgr.vxd/ - IFSMGR VxD implementation
+ imaadp32.acm/ - IMA ADPCM Audio Codec
imagehlp/ - PE (Portable Executable) Image Helper lib
imm32/ - Input Method Manager
+ inseng/ - Install engine
iphlpapi/ - IP Helper API
+ itss/ - Infotech Structured Storage (HTML Help)
kernel/ - The Windows kernel
- lzexpand/ - Lempel-Ziv compression/decompression
+ lz32/ - Lempel-Ziv compression/decompression
mapi32/ - Mail interface
+ mciavi32/ - MCI video driver
+ mcicda/ - MCI audio CD driver
+ mciseq/ - MCI MIDI driver
+ mciwave/ - MCI wave driver
+ midimap/ - MIDI mapper
+ mlang/ - Multi Language Support
+ mmdevldr.vxd/ - MMDEVLDR VxD implementation
+ monodebg.vxd/ - MONODEBG VxD implementation
mpr/ - Multi-Protocol Router (networking)
- msacm/ - Audio Compression Manager (multimedia)
+ mprapi/ - Multi-Protocol Router Administration
+ msacm32/ - Audio Compression Manager (multimedia)
+ msacm32.drv/ - Audio mapper
+ msadp32.acm/ - MS ADPCM Audio Codec
+ mscms/ - Color Management System
msdmo/ - DirectX Media Objects
- msimg32/ - Gradient and transparency (graphics)
- msisys/ - System information
+ msftedit/ - Rich text editing control (Version 4.1)
+ msg711.acm/ - MS G711 Audio Codec (includes A-Law & MU-Law)
+ mshtml/ - MS HTML component
msi/ - Microsoft Installer
+ msimg32/ - Gradient and transparency (graphics)
+ msisys.ocx/ - System information
msnet32/ - Network interface
+ msrle32/ - Video codecs
msvcrt/ - C runtime library
msvcrt20/ - C runtime library version 2.0
+ msvcrt40/ - C runtime library version 4.0
msvcrtd/ - C runtime library debugging
- msvideo/ - 16 bit video manager
- msvideo/msrle32/ - Video codecs
+ msvfw32/ - 16 bit video manager
+ msvidc32/ - Microsoft Video-1 Decoder
mswsock/ - Misc networking
+ msxml3/ - MSXML Class Factory
netapi32/ - Network interface
+ newdev/ - New Hardware Device Library
ntdll/ - NT implementation of kernel calls
+ ntdsapi/ - NT Directory Service Provider
+ objsel/ - Object Picker Dialog
odbc32/ - Open DataBase Connectivity driver manager
+ odbccp32/ - Open DataBase Connectivity driver installer
ole32/ - 32 bit OLE 2.0 libraries
+ oleacc/ - OLE accessibility support
oleaut32/ - 32 bit OLE 2.0 automation
- olecli/ - 16 bit OLE client
+ olecli32/ - 16 bit OLE client
oledlg/ - OLE 2.0 user interface support
olepro32/ - 32 bit OLE 2.0 automation
- olesvr/ - 16 bit OLE server
+ olesvr32/ - 16 bit OLE server
opengl32/ - OpenGL implementation (graphics)
+ powrprof/ - Power Management and Profiling
psapi/ - Process Status interface
qcap/ - DirectShow runtime
quartz/ - DirectShow runtime
rasapi32/ - Remote Access Server interface
- richedit/ - Rich text editing control
+ riched20/ - Rich text editing control (Version 2.0 and 3.0)
+ riched32/ - Rich text editing control
rpcrt4/ - Remote Procedure Call runtime
+ rsabase/ - RSA encryption
+ rsaenh/ - Crypto API (DES, 3DES, RSA, etc.)
+ sane.ds/ - Contains sane based TWAIN datasource driver
+ secur32/ - Contains Windows Security functions
+ security/ - Security Support Provider Interface
+ sensapi/ - System Event Notification Service
serialui/ - Serial port property pages
setupapi/ - Setup interface
+ sfc/ - System File Checker (Windows File Protection)
shdocvw/ - Shell document object and control
- shfolder/ - Shell folder service
shell32/ - COM object implementing shell views
+ shfolder/ - Shell folder service
shlwapi/ - Shell Light-Weight interface
snmpapi/ - SNMP protocol interface (networking)
+ spoolss/ - Spooler Subsystem Library ("spooler" - Service)
+ stdole2.tlb/ - OLE Automation typelib
+ stdole32.tlb/ - Standard OLE typelib
sti/ - Still Image service
tapi32/ - Telephone interface
- ttydrv/ - TTY display driver (Wine specific)
- twain/ - TWAIN Imaging device communications
+ twain_32/ - TWAIN Imaging device communications
+ unicows/ - Unicows replacement (Unicode layer for Win9x)
url/ - Internet shortcut shell extension
- urlmon/ - URL Moniker allows binding to a URL (like KIO/gnome-vfs)
+ urlmon/ - URL Moniker allows binding to a URL
user/ - Window management, standard controls, etc.
+ userenv/ - User - Environment and Policy Management
+ usp10/ - Uniscribe Script Processor
uxtheme/ - Theme library
+ vdhcp.vxd/ - VDHCP VxD implementation
+ vdmdbg/ - Virtual DOS machine debug library
version/ - File installation library
- win32s/ - 32-bit function access for 16-bit systems
- winaspi/ - 16 bit Advanced SCSI Peripheral Interface
- winedos/ - DOS features and BIOS calls (interrupts) (wine specific)
- wineps/ - Postscript driver (Wine specific)
+ vmm.vxd/ - VMM VxD implementation
+ vnbt.vxd/ - VNBT VxD implementation
+ vnetbios.vxd/ - VNETBIOS VxD implementation
+ vtdapi.vxd/ - VTDAPI VxD implementation
+ vwin32.vxd/ - VWIN32 VxD implementation
+ win32skrnl/ - 32-bit function access for 16-bit systems
+ wined3d/ - Wine internal Direct3D helper
+ winedos/ - DOS features and BIOS calls (Wine specific)
+ winemp3.acm/ - Mpeg Layer 3 Audio Codec
+ wineps.drv/ - Postscript driver (Wine specific)
+ winex11.drv/ - X11 display driver (Wine specific)
wininet/ - Internet extensions
winmm/ - Multimedia (16 & 32 bit)
winmm/joystick/ - Joystick driver
- winmm/mcianim/ - MCI animation driver
- winmm/mciavi/ - MCI video driver
- winmm/mcicda/ - MCI audio CD driver
- winmm/mciseq/ - MCI MIDI driver
- winmm/mciwave/ - MCI wave driver
- winmm/midimap/ - MIDI mapper
- winmm/wavemap/ - Audio mapper
winmm/winealsa/ - ALSA audio driver
winmm/winearts/ - aRts audio driver
winmm/wineaudioio/ - audioio audio driver
+ winmm/winecoreaudio/ - CoreAudio audio driver (MacOS)
winmm/winejack/ - JACK audio server driver
winmm/winenas/ - NAS audio driver
winmm/wineoss/ - OSS audio driver
- winnls/ - National Language Support
- winsock/ - Sockets 2.0 (networking)
- wsock32/ - Sockets 1.1 (networking)
+ winnls32/ - National Language Support
+ winspool.drv/ - Printing & Print Spooler
wintab32/ - Tablet device interface
- winspool/ - Printing & Print Spooler
wintrust/ - Trust verification interface
+ wldap32/ - LDAP support
+ wnaspi32/ - 16 bit Advanced SCSI Peripheral Interface
wow32/ - WOW subsystem
- x11drv/ - X11 display driver (Wine specific)
+ ws2_32/ - Sockets 2.0 (networking)
+ wsock32/ - Sockets 1.1 (networking)
+ wtsapi32/ - Terminal Services
Winelib programs (under programs/):
-----------------------------------
- avitools/ - AVI information viewer and player
clock/ - Graphical clock
cmdlgtst/ - Common dialog tests
control/ - Control panel
+ eject/ - Unmount and eject removable Media
expand/ - Decompress Lempel-Ziv compressed archive
- notepad/ - Notepad with RichEdit functionality
+ explorer/ - Desktop/Systray/HAL-Manager, Winefile-wrapper
+ hh/ - HTML Help viewer
+ icinfo/ - List/Configure installed Video Compressors
+ iexplore/ - Internet Explorer replacement
+ msiexec/ - Microsoft Installer frontend
+ notepad/ - Notepad replacement
+ oleview/ - OLE/COM Object Viewer
progman/ - Program manager
regedit/ - Registry editor
regsvr32/ - Register COM server
rpcss/ - RPC services
rundll32/ - Execute DLL functions directly
start/ - Replacement for start.exe
+ taskmgr/ - Manage running Windows/Winelib applications
uninstaller/ - Remove installed programs
view/ - Metafile viewer
wcmd/ - Command line interface
wineboot/ - Wine bootstrap process
+ winebrowser/ - Frontend for Webbrowsers on the Host
winecfg/ - Wine configuration utility
wineconsole/ - Console
winedbg/ - Debugger
winevdm/ - Wine virtual DOS machine
winhelp/ - Help viewer
winver/ - Windows Version Program
+ wordpad/ - Wordpad replacement skeleton
Support programs, libraries, etc:
---------------------------------
+ dlls/dxerr8/ - DirectX 8 error import lib
+ dlls/dxerr9/ - DirectX 9 error import lib
+ dlls/dxguid/ - DirectX UUID import lib
+ dlls/strmiids/ - Exports class CLSIDs and interface IIDs
+ dlls/uuid/ - Windows-compatible UUID import lib
documentation/ - some documentation
include/ - Windows standard includes
- include/msvcrt - MSVC compatible libc headers
- include/wine - Wine specific headers
+ include/ddk/ - Windows DDK compatible headers
+ include/msvcrt/ - MSVC compatible libc headers
+ include/wine/ - Wine specific headers
libs/ - the Wine libraries
libs/port/ - portability library
libs/unicode/ - Unicode support shared
- libs/uuid/ - Windows-compatible UUID numbers
libs/wine/ - Wine bootstrap library
libs/wpp/ - C preprocessor
loader/ - the main Wine loader
server/ - the Wine server
tools/ - various tools used to build/check Wine
- tools/widl - the IDL compiler
- tools/winapi{,_check} - A Win32 API checker
- tools/winebuild - Wine build tool
- tools/winedump - a .DLL dump utility
- tools/winegcc - a MinGW command line compatible gcc wrapper
- tools/wmc - the message compiler
- tools/wpp - the C pre-processor library
- tools/wrc - the resource compiler
-
-
-Miscellaneous:
---------------
-
-Note: these directories will ultimately get moved into their
-respective dlls.
-
- files/ - KERNEL file I/O
- misc/ - KERNEL registry
-
- graphics/ - GDI graphics drivers
- objects/ - GDI logical objects
-
- controls/ - USER built-in widgets
- windows/ - USER window management
+ tools/widl/ - the IDL compiler
+ tools/winapi/ - A Win32 API checker
+ tools/winebuild/ - Wine build tool
+ tools/winedump/ - a .DLL dump utility
+ tools/winegcc/ - a MinGW command line compatible gcc wrapper
+ tools/wmc/ - the message compiler
+ tools/wrc/ - the resource compiler
*
* Draw many Bezier curves.
*
+ * PARAMS
+ * hdc [I] Device context to draw to
+ * p [I] Array of POINT structs
+ * count [I] Number of points in p
+ *
* RETURNS
* Success: Non-zero.
* Failure: FALSE. Use GetLastError() to find the error cause.
* BUGS
* Unimplemented
*/
- BOOL WINAPI PolyBezierTo(HDC hdc, /* [In] Device context to draw to */
- LPCVOID p, /* [In] Array of POINT structs */
- DWORD count /* [In] Number of points in p */
- )
+ BOOL WINAPI PolyBezierTo(HDC hdc, LPCVOID p, DWORD count)
{
- /* tell the user they've got a substandard implementation */
- FIXME(gdi, ":(%x,%p,%d): stub\n", hdc, p, count);
-
- /* some programs may be able to compensate,
- * if they know what happened
- */
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return FALSE; /* error value */
+ /* tell the user they've got a substandard implementation */
+ FIXME("(%x,%p,%d): stub\n", hdc, p, count);
+
+ /* some programs may be able to compensate,
+ * if they know what happened
+ */
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE; /* error value */
}
4. Implement and test the rest of the function.
4. Run ./make_dlls in the dlls directory to update Makefile.in in
that directory.
-5. You can now regenerate ./configure file (with 'make configure')
+5. You can now regenerate ./configure file (with 'autoconf')
and the various Makefiles (with 'configure; make depend') (run
from the top of Wine's tree).
You should now have a Makefile file in ./dlls/<MyDll>/
For alignment on a 2-byte boundary, there is a "pshpack2.h", etc.
-The use of the WINE_PACKED attribute is obsolete. Please remove these
-in favour of the above solution.
-Using WINE_PACKED, you would declare the above structure like this:
-
-struct { BYTE x; WORD y WINE_PACKED; };
-
-You had to do this every time a structure member is not aligned
-correctly under Windows (i.e. a WORD not on an even address, or a
-DWORD on a address that was not a multiple of 4).
-
NAMING CONVENTIONS FOR API FUNCTIONS AND TYPES
==============================================
code must use:
- 'xxx16' for the Win16 version,
- - 'xxx' for the Win32 version when no ASCII/Unicode strings are
- involved,
+ - 'xxx' for the Win32 version when no strings are involved,
- 'xxxA' for the Win32 version with ASCII strings,
- 'xxxW' for the Win32 version with Unicode strings.
of the UNICODE symbol.
-NAMING CONVENTIONS FOR NON-API FUNCTIONS AND TYPES
-==================================================
-
-Functions and data which are internal to your code (or at least shouldn't be
-visible to any Winelib or Windows program) should be preceded by
-an identifier to the module:
-
-Examples:
-
-ENUMPRINTERS_GetDWORDFromRegistryA() (in dlls/winspool/info.c)
-IAVIFile_fnRelease() (in dlls/avifil32/avifile.c)
-X11DRV_CreateDC() (in graphics/x11drv/init.c)
-
-if you need prototypes for these, there are a few possibilities:
-- within same source file only:
- put the prototypes at the top of your file and mark them as prototypes.
-- within the same module:
- create a header file within the subdirectory where that module resides,
- e.g. graphics/ddraw_private.h
-- from a totally different module, or for use in winelib:
- you should never do that. Only exported APIs can be called across
- module boundaries.
-
-
DEBUG MESSAGES
==============