From 0ddacf929af9418d588b431211d579478759aaf3 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg 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 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 +#undef WIN32_LEAN_AND_MEAN +#include + +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 ;