From 0ddacf929af9418d588b431211d579478759aaf3 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Fri, 6 Oct 2000 11:02:48 +0000
Subject: [PATCH] added for the win32 version

---
 lib/dllinit.c   | 82 +++++++++++++++++++++++++++++++++++++++++++++++++
 lib/libcurl.def | 37 ++++++++++++++++++++++
 2 files changed, 119 insertions(+)
 create mode 100644 lib/dllinit.c
 create mode 100644 lib/libcurl.def

diff --git a/lib/dllinit.c b/lib/dllinit.c
new file mode 100644
index 0000000000..7ac4a3e036
--- /dev/null
+++ b/lib/dllinit.c
@@ -0,0 +1,82 @@
+/* dllinit.c -- Portable DLL initialization. 
+   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Contributed by Mumit Khan (khan@xraylith.wisc.edu).
+
+   I've used DllMain as the DLL "main" since that's the most common 
+   usage. MSVC and Mingw32 both default to DllMain as the standard
+   callback from the linker entry point. Cygwin, as of b20.1, also
+   uses DllMain as the default callback from the entry point.
+
+   The real entry point is typically always defined by the runtime 
+   library, and usually never overridden by (casual) user. What you can 
+   override however is the callback routine that the entry point calls, 
+   and this file provides such a callback function, DllMain.
+
+   Mingw32: The default entry point for mingw32 is DllMainCRTStartup
+   which is defined in libmingw32.a This in turn calls DllMain which is
+   defined here. If not defined, there is a stub in libmingw32.a which
+   does nothing.
+
+   Cygwin: The default entry point for Cygwin b20.1 or newer is
+   __cygwin_dll_entry which is defined in libcygwin.a. This in turn
+   calls the routine DllMain. If not defined, there is a stub in
+   libcygwin.a which does nothing. 
+
+   MSVC: MSVC runtime calls DllMain, just like Mingw32.
+
+   Summary: If you need to do anything special in DllMain, just add it
+   here. Otherwise, the default setup should be just fine for 99%+ of
+   the time. I strongly suggest that you *not* change the entry point,
+   but rather change DllMain as appropriate.
+
+ */
+
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#undef WIN32_LEAN_AND_MEAN
+#include <stdio.h>
+
+BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, 
+                       LPVOID reserved /* Not used. */ );
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DllMain --
+ *
+ *	This routine is called by the Mingw32, Cygwin32 or VC++ C run 
+ *	time library init code, or the Borland DllEntryPoint routine. It 
+ *	is responsible for initializing various dynamically loaded 
+ *	libraries.
+ *
+ * Results:
+ *      TRUE on sucess, FALSE on failure.
+ *
+ * Side effects:
+ *
+ *----------------------------------------------------------------------
+ */
+BOOL APIENTRY
+DllMain (
+	 HINSTANCE hInst /* Library instance handle. */ ,
+	 DWORD reason /* Reason this function is being called. */ ,
+	 LPVOID reserved /* Not used. */ )
+{
+
+  switch (reason)
+    {
+    case DLL_PROCESS_ATTACH:
+      break;
+
+    case DLL_PROCESS_DETACH:
+      break;
+
+    case DLL_THREAD_ATTACH:
+      break;
+
+    case DLL_THREAD_DETACH:
+      break;
+    }
+  return TRUE;
+}
diff --git a/lib/libcurl.def b/lib/libcurl.def
new file mode 100644
index 0000000000..4b9948fd81
--- /dev/null
+++ b/lib/libcurl.def
@@ -0,0 +1,37 @@
+;
+; Definition file for the DLL version of the LIBCURL library from curl
+;
+
+LIBRARY		LIBCURL
+
+DESCRIPTION	'curl libcurl - http://curl.haxx.se'
+
+EXPORTS
+	curl_close @ 1 ; 
+	curl_connect @ 2 ; 
+	curl_disconnect @ 3 ; 
+	curl_do @ 4 ; 
+	curl_done @ 5 ; 
+	curl_easy_cleanup @ 6 ; 
+	curl_easy_getinfo @ 7 ; 
+	curl_easy_init @ 8 ; 
+	curl_easy_perform @ 9 ; 
+	curl_easy_setopt @ 10 ; 
+	curl_escape @ 11 ; 
+	curl_formparse @ 12 ; 
+	curl_free @ 13 ; 
+	curl_getdate @ 14 ; 
+	curl_getenv @ 15 ; 
+	curl_init @ 16 ; 
+	curl_open @ 17 ; 
+	curl_read @ 18 ; 
+	curl_setopt @ 19 ; 
+	curl_slist_append @ 20 ; 
+	curl_slist_free_all @ 21 ; 
+	curl_transfer @ 22 ; 
+	curl_unescape @ 23 ; 
+	curl_version @ 24 ; 
+	curl_write @ 25 ; 
+	maprintf @ 26 ; 
+	strequal @ 27 ; 
+	strnequal @ 28 ; 
-- 
GitLab