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)
crtdll/ - Old C runtime library
crypt32/ - Cryptography
+ cryptdll/ - Cryptography Manager
ctl3d/ - 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)
dmusic32/ - DirectMusic Legacy Port
dplay/ - DirectPlay (networking)
dplayx/ - DirectPlay (networking)
+ dpnet/ - DirectPlay (networking)
dpnhpast/ - DirectPlay NAT Helper PAST
dsound/ - DirectSound (audio)
+ dswave/ - DirectMusic Wave
+ dxdiagn/ - DirectX Diagnostic Tool
gdi/ - GDI (graphics)
glu32/ - OpenGL Utility library (graphics)
glut32/ - OpenGL Utility Toolkit
+ hhctrl.ocx/ - HHCTRL OCX implementation
+ iccvid/ - Radius Cinepak Video Decoder
icmp/ - ICMP protocol (networking)
+ ifsmgr.vxd/ - IFSMGR VxD implementation
imagehlp/ - PE (Portable Executable) Image Helper lib
imm32/ - Input Method Manager
iphlpapi/ - IP Helper API
+ itss/ - Infotech Structured Storage (HTML Help)
kernel/ - The Windows kernel
lzexpand/ - Lempel-Ziv compression/decompression
mapi32/ - Mail interface
+ 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)
msacm/imaadp32/ - IMA ADPCM Audio Codec
msacm/msadp32/ - MS ADPCM Audio Codec
msacm/msg711/ - MS G711 Audio Codec (includes A-Law & MU-Law)
msacm/winemp3/ - Mpeg Layer 3 Audio Codec
+ mscms/ - Color Management System
msdmo/ - DirectX Media Objects
mshtml/ - MS HTML component
+ msi/ - Microsoft Installer
msimg32/ - Gradient and transparency (graphics)
msisys/ - System information
- msi/ - Microsoft Installer
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
+ msvidc32/ - Microsoft Video-1 Decoder
msvideo/ - 16 bit video manager
- msvideo/msrle32/ - Video codecs
mswsock/ - Misc networking
+ msxml3/ - MSXML Class Factory
netapi32/ - Network interface
newdev/ - New Hardware Device Library
ntdll/ - NT implementation of kernel calls
+ 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
olepro32/ - 32 bit OLE 2.0 automation
olesvr/ - 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
+ riched20/ - Rich text editing control version 2.0
richedit/ - Rich text editing control
rpcrt4/ - Remote Procedure Call runtime
+ rsabase/ - RSA encryption
+ rsaenh/ - Crypto API (DES, 3DES, RSA, etc.)
+ secur32/ - Contains Windows Security functions
+ sensapi/ - System Event Notification Service
serialui/ - Serial port property pages
setupapi/ - Setup interface
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)
+ 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
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.
+ usp10/ - Uniscribe Script Processor
uxtheme/ - Theme library
+ vdhcp.vxd/ - VDHCP VxD implementation
+ vdmdbg/ - Virtual DOS machine debug library
version/ - File installation library
+ 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
win32s/ - 32-bit function access for 16-bit systems
winaspi/ - 16 bit Advanced SCSI Peripheral Interface
wined3d/ - Wine internal Direct3D helper
- winedos/ - DOS features and BIOS calls (interrupts) (wine specific)
+ winedos/ - DOS features and BIOS calls (Wine specific)
wineps/ - Postscript driver (Wine specific)
wininet/ - Internet extensions
winmm/ - Multimedia (16 & 32 bit)
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/wineoss/ - OSS audio driver
winnls/ - National Language Support
winsock/ - Sockets 2.0 (networking)
- wsock32/ - Sockets 1.1 (networking)
- wintab32/ - Tablet device interface
winspool/ - Printing & Print Spooler
+ wintab32/ - Tablet device interface
wintrust/ - Trust verification interface
+ wldap32/ - LDAP support
wow32/ - WOW subsystem
+ wsock32/ - Sockets 1.1 (networking)
+ wtsapi32/ - Terminal Services
x11drv/ - X11 display driver (Wine specific)
Winelib programs (under programs/):
cmdlgtst/ - Common dialog tests
control/ - Control panel
expand/ - Decompress Lempel-Ziv compressed archive
- notepad/ - Notepad with RichEdit functionality
+ msiexec/ - Microsoft Installer frontend
+ notepad/ - Notepad replacement
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
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
- documentation/samples - sample configuration files
include/ - Windows standard includes
- include/msvcrt - MSVC compatible libc headers
- include/wine - Wine specific 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/wpp/ - the C pre-processor library
+ 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
==============