Release 980809

Sat Aug  8 19:11:46 1998  Marcus Meissner <marcus@jet.franken.de>

 	* [*/*]
	Added some missing WINAPI and some missing prototypes for
	functions.

	* [controls/static.c]
	Got rid of the MODULE32_LookupHMODULE error showing up for every
	message box.

	* [windows/winproc.c]
	WM_NOTIFY 16->32 mapping (AOL Instant Messenger or however it is called).

	* [misc/winsock.c]
	hostent/servent/protoent should not use the same static buffers.
	(has broken nt3.15 finger.exe which does hp=gethostbyname(), then
	getservbyname("finger","tcp") and the references hp->h_addr_list[0]).

Sat Aug  8 13:21:24 1998  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [include/server.h] [tools/make_requests] [server/request.c]
	  [server/trace.c]
	Automated part of the client/server request code generation.
	Added tracing of client/server communication.

	* [scheduler/*.c] [server/process.c]
	Added support for server-side handles.

	* [scheduler/thread.c]
	Added DLL_THREAD_ATTACH/DETACH notifications.

	* [configure.in]
	Added check for -lsocket.

	* [windows/winproc.c]
	Return the thunk address in WINPROC_GetProc if the function types
	don't match.

Sat Aug  8 02:44:04 1998  Douglas Ridgway  <ridgway@winehq.com>

	* [windows/winproc.c][windows/win.c][windows/message.c]  
	Documentation for CallWindowProc, SetWindowLong, DispatchMessage,
	WaitMessage, GetMessage, and PeekMessage.

Sat Aug  8 01:00:00 1998  Juergen Schmied <juergen.schmied@metronet.de>

	* [controls/commctrl.c][controls/widgets.c][include/builtin32.h]
	  [include/commctrl.h][relay32/builtin32.c][relay32/comctl32.spec]
	  [tools/build.c] [relay32/shell32.spec]
	Added the functionality of the LibMain function. The common 
	controls are properly initialized now.

	* [controls/treeview.c][memory/atom.c][scheduler/thread.c][windows/class.c]
	  [windows/msgbox.c][windows/win.c]
	Put TRACE in, put SetLastError() in.

	* [include/interfaces.h]
	Added IClassFactory::LockServer.

	* [include/ole2.h]
	Added struct for LPOLEMENUGROUPWIDTHS32, HOLEMENU32.

	* [include/shell.h][include/shlobj.h][misc/shell.c][ole/folders.c]
	Reorganized and many structs and classes (IShellBrowser,IShellView)
	added. shell32.dll should work in many cases now.
	Started SHGetFileInfoA implementeation, rewrote SHGetPathFromIDList32A.
	New Shell32LibMain started ShellIconCache Implementation.

	* [misc/shellord.c]
	Rewrote ILCombine, ILGetSize
	New stubs SHFind_InitMenuPopup, FileMenu_Create, ShellExecuteEx,
	SHSetInstanceExplorer, SHGetInstanceExplorer, SHFreeUnusedLibraries.

	* [include/winerror.h]
	Class and window related error codes added.

	* [memory/heap.c]
	Changed lstrlen32A to strlen to get rid of milions of TRACE lines.

	* [misc/ddeml.c]
	First lines for DdeCreateStringHandle32A / DdeFreeStringHandle32.

	* [misc/network.c][relay32/mpr.spec]
	Fixed some bugs, changed ordinals.

	* [windows/class.c]
	Workarounds for incorrect hInstance handling. Fixes parts of
	MSWord95/Excel95 and Money95.

Thu Aug  6 21:05:35 1998  Eric Kohl <ekohl@abo.rhein-zeitung.de>

	* [windows/nonclient.c][misc/tweak.c][include/tweak.h]
	  [documentation/win95look]
	Removed some tweak variables. They are no longer needed.

	* [files/dos_fs.c]
	Added check for null pointer in DOSFS_GetDevice().

	* [controls/tooltips.c][include/commctrl.h]
	Improved tooltips.

	* [controls/status.c][include/commctrl.h]
	Cleaned up code and added tooltip support.

	* [controls/toolbar.c][include/commctrl.h]
	Added tooltip support.

	* [documentation/common_controls]
	Updated.

Thu Aug  6 00:05:22 1998  Uwe Bonnes  <bon@elektron.ikp.physik.tu-darmstadt.de>

	* [include/ver.h] [misc/ver.c]
	Write VIF_BUFFTOOSMALL, not VIF_BUFTOSMALL.

	* [debugger/hash.c] [debugger/stabs.c]
	Make debug output more friendly for posting.

	* [files/file.c]
	Partial implementation of OF_SHARE_EXCLUSIVE.
	Needed for Quicklogic/QuickChip (InstallShield).

	* [files/profile.c]
	When a cached-only entry is found, return it.

	* [graphics/x11drv/xfont.c]
	Accept a space as delimiter for a fontname and inhibit overrun
	(Make xplasim.ex from the Phillips Coolrunner CPLD suite proceed).

	* [miscemu/main.c]
	Delay setting IF1632_CallLargeStack after loading the executables.
	Stops fpgaexp.exe from the Viewlogic FPGA suite from crashing when
 	showing the Blinker error Message Box.

	* [misc/network.c]
	Make WNetGetConnection16 recognise a CDROM as a local drive.

	* [multimedia/mmsystem.c]
	Preliminary check for MCI_ALL_DEVICE_ID in MCI_Close by a FIXME.


Tue Aug 4 21:15:23 1998  James Juran <jrj120@psu.edu>

	* [ole/ole2nls.c]
	Fixed bug in CompareString32A.  strcmp() doesn't necessarily
	return -1, 0, or 1, which the previous code depended on.
	Changed name of is_punctuation to OLE2NLS_isPunctuation.
	Made NORM_IGNOREWIDTH not print a FIXME message in 
	LCMapString32A.
	Other debugging messages, documentation, and code cleanups.

	* [objects/font.c] [relay32/gdi32.spec] [include/winerror.h]
	Added stub for GetFontData32, and added GDI_ERROR constant 
	to winerror.h.

Tue Aug  4 07:44:43 1998  Ove Kaaven <ovek@arcticnet.no>

	* [multimedia/mmio.c]
	Implemented mmioSetBuffer, mmioAdvance, mmioAscend, and
	mmioCreateChunk to the best of my knowledge. But watch out,
	there's bound to be bugs in there...

	* [include/mmsystem.h] [multimedia/mmsystem.c]
	Hacked in support for 32-bit multimedia function callbacks.

	* [AUTHORS] [misc/shell.c]
	Selfishly credited my authorship. Hopefully I'm excused.

	* [include/dosexe.h] [include/module.h] [loader/dos/*]
	  [loader/module.c] [loader/task.c] [Makefile.in]
	  [configure.in] [Makefile.in]
	Added DOS EXE (MZ) loader and virtual machine. Task
	structure integration thanks to Ulrich Weigand.

	* [files/dos_fs.c]
	Work around a null pointer dereference if ioctlGetDeviceInfo-ing
	a FILE_DupUnixHandle'd file (i.e. GetStdHandle'd).

	* [include/miscemu.h] [include/winnt.h] [loader/main.c]
	  [memory/global.c] [msdos/dpmi.c] [msdos/dosmem.c]
	Added support for DOS memory images, and added
	DOSMEM_ResizeBlock() and DOSMEM_Available().

	* [msdos/int21.c]
	Added support for the DOS virtual machine, tweaked handle
	assignment to avoid stdio clashes, forced INT21_FindNext to exit
	wildcardless searches after finding one entry, added AH=7, 8, 9,
	C, 48, 49, 4A, and 7160 CL=1 (Get Short Filename), and made the
	long filename calls only respond if running with with -winver
	win95.

	* [objects/cursoricon.c]
	DestroyCursor32 and DestroyIcon32 should now free the objects
	(hopefully) correctly.

Sun Aug  2 21:42:09 1998  Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>

	* [graphics/psdrv/*] [include/psdrv.h]
	Added PPD file parsing - at the moment it reads a file called
	default.ppd from the directory in which you start Wine. Page sizes
	other than A4 should now work (landscape may not). All fonts that are
	present on your printer (according to the PPD) should be available,
	providing you have the AFM files. Fonts should now be the correct size.
	Graphics is still basically lines only. See graphics/psdrv/README .

	* [misc/printdrv.c]
	Yet more Drv[Get/Set]PrinterData fixes.

Fri Jul 31 21:33:22 1998  Per Lindström <pelinstr@algonet.se>

	* [relay32/crtdll.spec] [misc/crtdll.c]
	Added stub for freopen, _findfirst, _findnext, _fstat and _read.

	* [files/directory.c]
	Modified warning message.

Wed Jul 29 11:25:28 1998  Luiz Otavio L. Zorzella  <zorzella@nr.conexware.com>

	* [objects/font.c]
	Added stub for GetFontData.

	* [multimedia/msvideo.c]
	Created this file to hold the msvideo.dll calls (and maybe also
	msvfw32.dll). 

	* [objects/cursoricon.c]
	Added search in Global Heap for cursor when trying to destroy it
	with DestroyCursor16. This test should be done in many (all?)
	other functions that use FreeResource.

	* [controls/treeview.c] [include/commctrl.h]
	Minor correction in name and addition of many placeholders for TVM
	messages in TREEVIEW_WindowProc.

	* [msdos/dpmi.c]
	Fixed a bug in DPMI_xrealloc where in a copy of a memory region
	"A" of size "a" to a region "B" of size "b", "b" bytes were being
	copied, instead of "a", as the new version does. This both
	increases speed, as well as avoids segfaults.
diff --git a/include/commctrl.h b/include/commctrl.h
index d4e765c..04f29ff 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -6,6 +6,7 @@
 #define __WINE_COMMCTRL_H
 
 #include "windows.h"
+#include "imagelist.h"
 
 BOOL32 WINAPI ShowHideMenuCtl (HWND32, UINT32, LPINT32);
 VOID WINAPI GetEffectiveClientRect (HWND32, LPRECT32, LPINT32);
@@ -92,6 +93,13 @@
 #define ODT_TAB         101
 #define ODT_LISTVIEW    102
 
+/* common notification structures */
+typedef struct tagNMTOOLTIPSCREATED
+{
+    NMHDR  hdr;
+    HWND32 hwndToolTips;
+} NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
+
 
 /* StatusWindow */
 
@@ -118,12 +126,19 @@
 #define SB_GETRECT            (WM_USER+10)
 #define SB_ISSIMPLE           (WM_USER+14)
 #define SB_SETICON            (WM_USER+15)
+#define SB_SETTIPTEXT32A      (WM_USER+16)
+#define SB_SETTIPTEXT32W      (WM_USER+17)
+#define SB_SETTIPTEXT WINELIB_NAME_AW(SB_SETTIPTEXT)
+#define SB_GETTIPTEXT32A      (WM_USER+18)
+#define SB_GETTIPTEXT32W      (WM_USER+19)
+#define SB_GETTIPTEXT WINELIB_NAME_AW(SB_GETTIPTEXT)
 #define SB_GETICON            (WM_USER+20)
 #define SB_SETBKCOLOR         CCM_SETBKCOLOR   /* lParam = bkColor */
 
 #define SBT_NOBORDERS         0x0100
 #define SBT_POPOUT            0x0200
 #define SBT_RTLREADING        0x0400  /* not supported */
+#define SBT_TOOLTIPS          0x0800
 #define SBT_OWNERDRAW         0x1000
 
 #define SBARS_SIZEGRIP        0x0100
@@ -132,7 +147,14 @@
 #define SBN_LAST              (0U-899U)
 #define SBN_SIMPLEMODECHANGE  (SBN_FIRST-0)
 
-void WINAPI MenuHelp (UINT32, WPARAM32, LPARAM, HMENU32,
+
+HWND32 WINAPI CreateStatusWindow32A (INT32, LPCSTR, HWND32, UINT32);
+HWND32 WINAPI CreateStatusWindow32W (INT32, LPCWSTR, HWND32, UINT32);
+#define    CreateStatusWindow WINELIB_NAME_AW(CreateStatusWindow)
+VOID WINAPI DrawStatusText32A (HDC32, LPRECT32, LPCSTR, UINT32);
+VOID WINAPI DrawStatusText32W (HDC32, LPRECT32, LPCWSTR, UINT32);
+#define    DrawStatusText WINELIB_NAME_AW(DrawStatusText)
+VOID WINAPI MenuHelp (UINT32, WPARAM32, LPARAM, HMENU32,
                       HINSTANCE32, HWND32, LPUINT32);
 
 
@@ -145,8 +167,8 @@
 
 typedef struct tagUDACCEL
 {
-  UINT32 nSec;
-  UINT32 nInc;
+    UINT32 nSec;
+    UINT32 nInc;
 } UDACCEL;
 
 #define UD_MAXVAL          0x7fff
@@ -177,13 +199,15 @@
 #define UDM_SETRANGE32     (WM_USER+111)
 #define UDM_GETRANGE32     (WM_USER+112)
 
+HWND32 WINAPI CreateUpDownControl (DWORD, INT32, INT32, INT32, INT32,
+                                   HWND32, INT32, HINSTANCE32, HWND32,
+                                   INT32, INT32, INT32);
 
 /* Progress Bar */
 
 #define PROGRESS_CLASS32A   "msctls_progress32"
 #define PROGRESS_CLASS32W  L"msctls_progress32"
 #define PROGRESS_CLASS16    "msctls_progress"
-
 #define PROGRESS_CLASS      WINELIB_NAME_AW(PROGRESS_CLASS)
 
 #define PBM_SETRANGE        (WM_USER+1)
@@ -206,27 +230,14 @@
   INT32 iHigh;
 } PBRANGE, *PPBRANGE;
 
- 
-/* Functions prototypes */
-
-HWND32     WINAPI CreateStatusWindow32A(INT32,LPCSTR,HWND32,UINT32);
-HWND32     WINAPI CreateStatusWindow32W(INT32,LPCWSTR,HWND32,UINT32);
-#define    CreateStatusWindow WINELIB_NAME_AW(CreateStatusWindow)
-HWND32     WINAPI CreateUpDownControl(DWORD,INT32,INT32,INT32,INT32,
-                                      HWND32,INT32,HINSTANCE32,HWND32,
-                                      INT32,INT32,INT32);
-VOID       WINAPI DrawStatusText32A(HDC32,LPRECT32,LPCSTR,UINT32);
-VOID       WINAPI DrawStatusText32W(HDC32,LPRECT32,LPCWSTR,UINT32);
-#define    DrawStatusText WINELIB_NAME_AW(DrawStatusText)
-
 
 /* ImageList */
-
+/*
 #if defined(__WINE__) && defined(__WINE_IMAGELIST_C)
 #else
 struct _IMAGELIST;
 typedef struct _IMAGELIST *HIMAGELIST;
-#endif  /* __WINE__ */
+#endif*/  /* __WINE__ */
 
 #define CLR_NONE         0xFFFFFFFF
 #define CLR_DEFAULT      0xFF000000
@@ -545,7 +556,24 @@
 #define TBSTYLE_FLAT            0x0800 
 #define TBSTYLE_LIST            0x1000 
 #define TBSTYLE_CUSTOMERASE     0x2000 
+
+#define TBIF_IMAGE              0x00000001
+#define TBIF_TEXT               0x00000002
+#define TBIF_STATE              0x00000004
+#define TBIF_STYLE              0x00000008
+#define TBIF_LPARAM             0x00000010
+#define TBIF_COMMAND            0x00000020
+#define TBIF_SIZE               0x00000040
  
+#define TBN_FIRST               (0U-700U)
+#define TBN_LAST                (0U-720U)
+#define TBN_GETBUTTONINFO32A    (TBN_FIRST-0)
+#define TBN_GETBUTTONINFO32W    (TBN_FIRST-20)
+
+#define TBN_GETINFOTIP32A       (TBN_FIRST-18)
+#define TBN_GETINFOTIP32W       (TBN_FIRST-19)
+
+
 #define TB_ENABLEBUTTON          (WM_USER+1)
 #define TB_CHECKBUTTON           (WM_USER+2)
 #define TB_PRESSBUTTON           (WM_USER+3)
@@ -612,6 +640,12 @@
 #define TB_SETMAXTEXTROWS        (WM_USER+60)
 #define TB_GETTEXTROWS           (WM_USER+61)
 #define TB_GETOBJECT             (WM_USER+62)
+#define TB_GETBUTTONINFO32W      (WM_USER+63)
+#define TB_GETBUTTONINFO32A      (WM_USER+65)
+#define TB_GETBUTTONINFO WINELIB_NAME_AW(TB_GETBUTTONINFO)
+#define TB_SETBUTTONINFO32W      (WM_USER+64)
+#define TB_SETBUTTONINFO32A      (WM_USER+66)
+#define TB_SETBUTTONINFO WINELIB_NAME_AW(TB_SETBUTTONINFO)
 #define TB_SETDRAWTEXTFLAGS      (WM_USER+70)
 #define TB_GETHOTITEM            (WM_USER+71)
 #define TB_SETHOTITEM            (WM_USER+72)
@@ -692,6 +726,58 @@
 #define TBSAVEPARAMS   WINELIB_NAMEAW(TBSAVEPARAMS)
 #define LPTBSAVEPARAMS WINELIB_NAMEAW(LPTBSAVEPARAMS)
 
+typedef struct
+{
+    UINT32 cbSize;
+    DWORD  dwMask;
+    INT32  idCommand;
+    INT32  iImage;
+    BYTE   fsState;
+    BYTE   fsStyle;
+    WORD   cx;
+    DWORD  lParam;
+    LPSTR  pszText;
+    INT32  cchText;
+} TBBUTTONINFO32A, *LPTBBUTTONINFO32A;
+
+typedef struct
+{
+    UINT32 cbSize;
+    DWORD  dwMask;
+    INT32  idCommand;
+    INT32  iImage;
+    BYTE   fsState;
+    BYTE   fsStyle;
+    WORD   cx;
+    DWORD  lParam;
+    LPWSTR pszText;
+    INT32  cchText;
+} TBBUTTONINFO32W, *LPTBBUTTONINFO32W;
+
+#define TBBUTTONINFO   WINELIB_NAMEAW(TBBUTTONINFO)
+#define LPTBBUTTONINFO WINELIB_NAMEAW(LPTBBUTTONINFO)
+
+typedef struct tagNMTBGETINFOTIPA
+{
+    NMHDR  hdr;
+    LPSTR  pszText;
+    INT32  cchTextMax;
+    INT32  iItem;
+    LPARAM lParam;
+} NMTBGETINFOTIP32A, *LPNMTBGETINFOTIP32A;
+
+typedef struct tagNMTBGETINFOTIPW
+{
+    NMHDR  hdr;
+    LPWSTR pszText;
+    INT32  cchTextMax;
+    INT32  iItem;
+    LPARAM lParam;
+} NMTBGETINFOTIP32W, *LPNMTBGETINFOTIP32W;
+
+#define NMTBGETINFOTIP   WINELIB_NAMEAW(NMTBGETINFOFTIP)
+#define LPNMTBGETINFOTIP WINELIB_NAMEAW(LPNMTBGETINFOTIP)
+
 
 HWND32 WINAPI
 CreateToolbar(HWND32, DWORD, UINT32, INT32, HINSTANCE32,
@@ -786,12 +872,12 @@
 
 #define TTN_FIRST               (0U-520U)
 #define TTN_LAST                (0U-549U)
-#define TTN_GETDISPINFOA        (TTN_FIRST-0)
-#define TTN_GETDISPINFOW        (TTN_FIRST-10)
+#define TTN_GETDISPINFO32A      (TTN_FIRST-0)
+#define TTN_GETDISPINFO32W      (TTN_FIRST-10)
+#define TTN_GETDISPINFO WINELIB_NAME_AW(TTN_GETDISPINFO)
 #define TTN_SHOW                (TTN_FIRST-1)
 #define TTN_POP                 (TTN_FIRST-2)
 
-
 typedef struct tagTOOLINFOA {
     UINT32 cbSize;
     UINT32 uFlags;
@@ -801,7 +887,7 @@
     HINSTANCE32 hinst;
     LPSTR lpszText;
     LPARAM lParam;
-} TTTOOLINFOA, *PTOOLINFOA, *LPTTTOOLINFOA;
+} TTTOOLINFO32A, *PTOOLINFO32A, *LPTTTOOLINFO32A;
 
 typedef struct tagTOOLINFOW {
     UINT32 cbSize;
@@ -812,21 +898,28 @@
     HINSTANCE32 hinst;
     LPWSTR lpszText;
     LPARAM lParam;
-} TTTOOLINFOW, *PTOOLINFOW, *LPTTTOOLINFOW;
+} TTTOOLINFO32W, *PTOOLINFO32W, *LPTTTOOLINFO32W;
+
+#define TTTOOLINFO WINELIB_NAME_AW(TTTOOLINFO)
+#define PTOOLINFO WINELIB_NAME_AW(PTOOLINFO)
+#define LPTTTOOLINFO WINELIB_NAME_AW(LPTTTOOLINFO)
 
 typedef struct _TT_HITTESTINFOA
 {
-    HWND32      hwnd;
-    POINT32     pt;
-    TTTOOLINFOA ti;
-} TTHITTESTINFOA, *LPTTHITTESTINFOA;
+    HWND32        hwnd;
+    POINT32       pt;
+    TTTOOLINFO32A ti;
+} TTHITTESTINFO32A, *LPTTHITTESTINFO32A;
 
 typedef struct _TT_HITTESTINFOW
 {
-    HWND32      hwnd;
-    POINT32     pt;
-    TTTOOLINFOW ti;
-} TTHITTESTINFOW, *LPTTHITTESTINFOW;
+    HWND32        hwnd;
+    POINT32       pt;
+    TTTOOLINFO32W ti;
+} TTHITTESTINFO32W, *LPTTHITTESTINFO32W;
+
+#define TTHITTESTINFO WINELIB_NAME_AW(TTHITTESTINFO)
+#define LPTTHITTESTINFO WINELIB_NAME_AW(LPTTHITTESTINFO)
 
 typedef struct tagNMTTDISPINFOA
 {
@@ -836,7 +929,7 @@
     HINSTANCE32 hinst;
     UINT32      uFlags;
     LPARAM      lParam;
-} NMTTDISPINFOA, *LPNMTTDISPINFOA;
+} NMTTDISPINFO32A, *LPNMTTDISPINFO32A;
 
 typedef struct tagNMTTDISPINFOW
 {
@@ -846,8 +939,10 @@
     HINSTANCE32 hinst;
     UINT32      uFlags;
     LPARAM      lParam;
-} NMTTDISPINFOW, *LPNMTTDISPINFOW;
+} NMTTDISPINFO32W, *LPNMTTDISPINFO32W;
 
+#define NMTTDISPINFO WINELIB_NAME_AW(NMTTDISPINFO)
+#define LPNMTTDISPINFO WINELIB_NAME_AW(LPNMTTDISPINFO)
 
 
 /* Rebar control */
@@ -879,13 +974,41 @@
 #define TBS_NOTHUMB             0x0080
 #define TBS_TOOLTIPS            0x0100
 
+#define TBTS_TOP                0
+#define TBTS_LEFT               1
+#define TBTS_BOTTOM             2
+#define TBTS_RIGHT              3
+
+#define TB_LINEUP               0
+#define TB_LINEDOWN             1
+#define TB_PAGEUP               2
+#define TB_PAGEDOWN             3
+#define TB_THUMBPOSITION        4
+#define TB_THUMBTRACK           5
+#define TB_TOP                  6
+#define TB_BOTTOM               7
+#define TB_ENDTRACK             8
+
+#define TBCD_TICS               0x0001
+#define TBCD_THUMB              0x0002
+#define TBCD_CHANNEL            0x0003
+
 #define TBM_GETPOS              (WM_USER)
 #define TBM_GETRANGEMIN         (WM_USER+1)
 #define TBM_GETRANGEMAX         (WM_USER+2)
 #define TBM_GETTIC              (WM_USER+3)
 #define TBM_SETTIC              (WM_USER+4)
 #define TBM_SETPOS              (WM_USER+5)
-
+#define TBM_SETRANGE            (WM_USER+6)
+#define TBM_SETRANGEMIN         (WM_USER+7)
+#define TBM_SETRANGEMAX         (WM_USER+8)
+#define TBM_CLEARTICS           (WM_USER+9)
+#define TBM_SETSEL              (WM_USER+10)
+#define TBM_SETSELSTART         (WM_USER+11)
+#define TBM_SETSELEND           (WM_USER+12)
+#define TBM_GETPTICS            (WM_USER+14)
+#define TBM_GETTICPOS           (WM_USER+15)
+#define TBM_GETNUMTICS          (WM_USER+16)
 #define TBM_GETSELSTART         (WM_USER+17)
 #define TBM_GETSELEND           (WM_USER+18)
 #define TBM_CLEARSEL            (WM_USER+19)
@@ -898,6 +1021,13 @@
 #define TBM_GETCHANNELRECT      (WM_USER+26)
 #define TBM_SETTHUMBLENGTH      (WM_USER+27)
 #define TBM_GETTHUMBLENGTH      (WM_USER+28)
+#define TBM_SETTOOLTIPS         (WM_USER+29)
+#define TBM_GETTOOLTIPS         (WM_USER+30)
+#define TBM_SETTIPSIDE          (WM_USER+31)
+#define TBM_SETBUDDY            (WM_USER+32)
+#define TBM_GETBUDDY            (WM_USER+33)
+#define TBM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
+#define TBM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
 
 
 /* Pager control */
@@ -949,11 +1079,36 @@
 
 #define TV_FIRST                0x1100
 
-
+#define TVM_INSERTITEMA         (TV_FIRST+0)
+#define TVM_INSERTITEMW         (TV_FIRST+50)
+#define TVM_DELETEITEM          (TV_FIRST+1)
+#define TVM_EXPAND              (TV_FIRST+2)
+#define TVM_GETITEMRECT         (TV_FIRST+4)
+#define TVM_GETCOUNT            (TV_FIRST+5)
+#define TVM_GETINDENT           (TV_FIRST+6)
+#define TVM_SETINDENT           (TV_FIRST+7)
 #define TVM_GETIMAGELIST        (TV_FIRST+8)
 #define TVM_SETIMAGELIST        (TV_FIRST+9)
-
-
+#define TVM_GETNEXTITEM         (TV_FIRST+10)
+#define TVM_SELECTITEM          (TV_FIRST+11)
+#define TVM_GETITEMA            (TV_FIRST+12)
+#define TVM_GETITEMW            (TV_FIRST+62)
+#define TVM_SETITEMA            (TV_FIRST+13)
+#define TVM_SETITEMW            (TV_FIRST+63)
+#define TVM_EDITLABELA          (TV_FIRST+14)
+#define TVM_EDITLABELW          (TV_FIRST+65)
+#define TVM_GETEDITCONTROL      (TV_FIRST+15)
+#define TVM_GETVISIBLECOUNT     (TV_FIRST+16)
+#define TVM_HITTEST             (TV_FIRST+17)
+#define TVM_CREATEDRAGIMAGE     (TV_FIRST+18)
+#define TVM_SORTCHILDREN        (TV_FIRST+19)
+#define TVM_ENSUREVISIBLE       (TV_FIRST+20)
+#define TVM_SORTCHILDRENCB      (TV_FIRST+21)
+#define TVM_ENDEDITLABELNOW     (TV_FIRST+22)
+#define TVM_GETISEARCHSTRINGA   (TV_FIRST+23)
+#define TVM_GETISEARCHSTRINGW   (TV_FIRST+64)
+#define TVM_SETTOOLTIPS         (TV_FIRST+24)
+#define TVM_GETTOOLTIPS         (TV_FIRST+25)
 
 /* Listview control */