aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dllinit.c82
-rw-r--r--lib/libcurl.def37
2 files changed, 119 insertions, 0 deletions
diff --git a/lib/dllinit.c b/lib/dllinit.c
new file mode 100644
index 000000000..7ac4a3e03
--- /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 000000000..4b9948fd8
--- /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 ;