Fixed sequence of DLL_PROCESS_DETACH notification calls.
Moved PE_MODREF flags to WINE_MODREF level.
Better handling of LoadLibraryEx flags.
PE_InitTls() changed to work only on the current thread.

diff --git a/include/module.h b/include/module.h
index 9a81bd7..4ae9d7b 100644
--- a/include/module.h
+++ b/include/module.h
@@ -111,6 +111,7 @@
 typedef struct _wine_modref
 {
 	struct _wine_modref	*next;
+	struct _wine_modref	*prev;
 	MODULE32_TYPE		type;
 	union {
 		PE_MODREF	pe;
@@ -121,13 +122,24 @@
 
 	int			nDeps;
 	struct _wine_modref	**deps;
-	int			initDone;
+
+	int			flags;
+	int			refCount;
 
 	char			*modname;
 	char			*shortname;
 	char 			*longname;
 } WINE_MODREF;
 
+#define WINE_MODREF_INTERNAL              0x00000001
+#define WINE_MODREF_NO_DLL_CALLS          0x00000002
+#define WINE_MODREF_PROCESS_ATTACHED      0x00000004
+#define WINE_MODREF_PROCESS_DETACHED      0x00000008
+#define WINE_MODREF_LOAD_AS_DATAFILE      0x00000010
+#define WINE_MODREF_DONT_RESOLVE_REFS     0x00000020
+#define WINE_MODREF_MARKER                0x80000000
+
+
 
 /* Resource types */
 typedef struct resource_typeinfo_s NE_TYPEINFO;
diff --git a/include/pe_image.h b/include/pe_image.h
index 7ba71f5..9ce289f 100644
--- a/include/pe_image.h
+++ b/include/pe_image.h
@@ -11,12 +11,6 @@
 	PIMAGE_IMPORT_DESCRIPTOR	pe_import;
 	PIMAGE_EXPORT_DIRECTORY	pe_export;
 	PIMAGE_RESOURCE_DIRECTORY	pe_resource;
-	int				flags;
-#define PE_MODREF_PROCESS_ATTACHED	0x00000001
-#define PE_MODREF_NO_DLL_CALLS		0x00000002
-#define PE_MODREF_RELOCS_DONE		0x00000004
-#define PE_MODREF_TLS_ALLOCED		0x00000008
-#define PE_MODREF_INTERNAL		0x00000010
 	int				tlsindex;
 } PE_MODREF;
 
@@ -41,8 +35,7 @@
                               BOOL inherit, LPSTARTUPINFOA startup,
                               LPPROCESS_INFORMATION info );
 
-struct _THDB; /* forward definition */
-extern void PE_InitTls(struct _THDB*);
+extern void PE_InitTls(void);
 extern void PE_InitDLL(struct _wine_modref *wm, DWORD type, LPVOID lpReserved);
 
 extern PIMAGE_RESOURCE_DIRECTORY GetResDirEntryA(PIMAGE_RESOURCE_DIRECTORY,LPCSTR,DWORD,BOOL);
diff --git a/include/thread.h b/include/thread.h
index 7bb63a0..4c275cf 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -123,7 +123,6 @@
 extern THDB *THREAD_Current(void);
 extern BOOL THREAD_IsWin16( THDB *thdb );
 extern THDB *THREAD_IdToTHDB( DWORD id );
-extern DWORD THREAD_TlsAlloc( THDB *thread );
 
 /* scheduler/sysdeps.c */
 extern int SYSDEPS_SpawnThread( THDB *thread );