Release 960712

Fri Jul 12 17:43:05 1996  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [controls/scroll.c]
	Use Win32 heap functions to allocate scroll-bar info structure.

	* [debugger/dbg.y] [debugger/registers.c]
	Added support for FS and GS segment registers.
	Check that segment registers value are OK before returning from
	the signal handler.

	* [tools/build.c] [if1632/relay.c] [loader/builtin.c]
	Changed relay debugging for Win32 function: the relay code now
	passes the entry point address instead of the function name.

	* [tools/build.c] [miscemu/*.c]
	Added support for data entry points in Win32 DLLs.
	Added 'cdecl' function type for Win32.
	For 'register' function, the relay code now passes a pointer to
	the SIGCONTEXT structure.
	
	* [include/registers.h] [include/wine.h]
	Moved SIGCONTEXT structure definition in registers.h.

	* [loader/pe_image.c]
	Don't die at once if some Win32 entry points cannot be found, but
	set them to NULL, just like we do for Win16. This allows some
	programs to go further before crashing.

	* [loader/task.c] [loader/main.c]
	Moved global initializations from InitTask() to MAIN_Init(), as
	they no longer need a task context with the new SEGPTR heap functions.

	* [memory/string.c]
	Added lstrcpynAtoW and lstrcpynWtoA; not real API functions, but
 	very convenient.

	* [windows/graphics.c]
	Partially implemented DrawEdge().

	* [windows/timer.c] [windows/caret.c]
	Implemented Win32 timer handling. Updated caret management to use
	Win32 timers (avoids having to use a Win16 callback).

	* [windows/win.c]
	Prevent programs from setting some style bits with
	SetWindowLong(). This should fix some BadMatch crashes.
	Link new windows at the end of the linked list.

	* [windows/winpos.c]
	Don't try to activate a child window in ShowWindow().

	* [windows/winproc.c]
	Added a 32->32 thunk to support Ansi-Unicode translation.

Wed Jul 10 22:11:12 1996  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [files/directory.c]
	Additional (undocumented) return value for GetTempDrive() added.

	* [files/dos_fs.c] [files/file.c] [include/windows.h]
	GetTempFileName32* added.
	GetShortPathName* added.

	* [memory/string.c]
	Win16 lstrcpy() can get NULL ptrs as argument and survive.

	* [misc/lzexpand.c]
	LZOpenFile(): also try opening with compressed filename if normal
 	open fails.

	* [misc/ole2nls.c] [misc/lstr.c] [include/windows.h]
	Char* added.
	CompareString* added.

Sun Jul  7 01:22:14 1996  Jukka Iivonen <iivonen@cc.helsinki.fi>

	* [objects/font.c] [if1632/gdi32.spec]
	CreateFontIndirect32A and CreateFontIndirect32W added.

	* [misc/ole2nls.c]
	GetUserDefaultLCID return values updated for new languages.
	Finnish support added for GetLocaleInfoA.

	* [object/palette] [gdi32.spec]
	RealizePalette32 and SelectPalette32 added.
	
Sat Jul  6 17:27:30 1996  Ronan Waide  <root@waider.ie>

	* [misc/shell.c]
	Fixup for SHELL_FindExecutable so that File->Run from progman
	works once more. Still needs some more fixups - grep for FIXME in
	this file.
diff --git a/include/module.h b/include/module.h
index 4eed450..322328a 100644
--- a/include/module.h
+++ b/include/module.h
@@ -10,10 +10,6 @@
 #include "wintypes.h"
 #include "pe_image.h"
 
-#ifndef WINELIB
-#pragma pack(1)
-#endif
-
   /* In-memory module structure. See 'Windows Internals' p. 219 */
 typedef struct
 {
@@ -84,16 +80,19 @@
     FARPROC16 SetOwner;      /* Set Owner procedure, exported by wine */
 } SELFLOADHEADER;
 
-  /* Parameters for LoadModule() */
+#pragma pack(1)
 
+  /* Parameters for LoadModule() */
 typedef struct
 {
-    HANDLE16 hEnvironment;  /* Environment segment */
-    SEGPTR   cmdLine;       /* Command-line */
-    SEGPTR   showCmd;       /* Code for ShowWindow() */
-    SEGPTR   reserved;
+    HANDLE16 hEnvironment;         /* Environment segment */
+    SEGPTR   cmdLine WINE_PACKED;  /* Command-line */
+    SEGPTR   showCmd WINE_PACKED;  /* Code for ShowWindow() */
+    SEGPTR   reserved WINE_PACKED;
 } LOADPARAMS;
 
+#pragma pack(4)
+
 /* Resource types */
 typedef struct resource_typeinfo_s NE_TYPEINFO;
 typedef struct resource_nameinfo_s NE_NAMEINFO;
@@ -111,10 +110,6 @@
     ((struct pe_data *)(((pModule)->flags & NE_FFLAGS_WIN32) ? \
                     ((NE_WIN32_EXTRAINFO *)((pModule) + 1))->pe_module : 0))
 
-#ifndef WINELIB
-#pragma pack(4)
-#endif
-
 /* module.c */
 extern NE_MODULE *MODULE_GetPtr( HMODULE16 hModule );
 extern void MODULE_DumpModule( HMODULE16 hmodule );
@@ -124,7 +119,7 @@
 extern void MODULE_RegisterModule( NE_MODULE *pModule );
 extern HINSTANCE16 MODULE_GetInstance( HMODULE16 hModule );
 extern WORD MODULE_GetOrdinal( HMODULE16 hModule, const char *name );
-extern SEGPTR MODULE_GetEntryPoint( HMODULE16 hModule, WORD ordinal );
+extern FARPROC16 MODULE_GetEntryPoint( HMODULE16 hModule, WORD ordinal );
 extern BOOL16 MODULE_SetEntryPoint( HMODULE16 hModule, WORD ordinal,
                                     WORD offset );
 extern FARPROC16 MODULE_GetWndProcEntry16( const char *name );
@@ -132,9 +127,9 @@
 /* builtin.c */
 extern BOOL16 BUILTIN_Init(void);
 extern HMODULE16 BUILTIN_LoadModule( LPCSTR name, BOOL16 force );
-extern NE_MODULE *BUILTIN_GetEntryPoint( WORD cs, WORD ip,
-                                         WORD *pOrd, char **ppName );
-extern DWORD BUILTIN_GetProcAddress32( NE_MODULE *pModule, char *function );
+extern LPCSTR BUILTIN_GetEntryPoint16( WORD cs, WORD ip, WORD *pOrd );
+extern LPCSTR BUILTIN_GetEntryPoint32( void *relay );
+extern FARPROC32 BUILTIN_GetProcAddress32(NE_MODULE *pModule, LPCSTR function);
 extern BOOL16 BUILTIN_ParseDLLOptions( const char *str );
 extern void BUILTIN_PrintDLLs(void);