diff options
| author | Kirill Volinsky <mataes2007@gmail.com> | 2013-02-25 10:15:31 +0000 | 
|---|---|---|
| committer | Kirill Volinsky <mataes2007@gmail.com> | 2013-02-25 10:15:31 +0000 | 
| commit | dcce39da3e6f7485dca39950dfc835563de3c3ea (patch) | |
| tree | 0f0269e524cc83e41e4614e3c84abe3580ad2c9c /plugins/FTPFileYM/curl-7.29.0/lib/amigaos.c | |
| parent | d395ad5aceb634b5ccfcb8d31b4b1574e557469e (diff) | |
1 step: libcurl static link
git-svn-id: http://svn.miranda-ng.org/main/trunk@3763 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/FTPFileYM/curl-7.29.0/lib/amigaos.c')
| -rw-r--r-- | plugins/FTPFileYM/curl-7.29.0/lib/amigaos.c | 77 | 
1 files changed, 77 insertions, 0 deletions
diff --git a/plugins/FTPFileYM/curl-7.29.0/lib/amigaos.c b/plugins/FTPFileYM/curl-7.29.0/lib/amigaos.c new file mode 100644 index 0000000000..34f95e9b5c --- /dev/null +++ b/plugins/FTPFileYM/curl-7.29.0/lib/amigaos.c @@ -0,0 +1,77 @@ +/*************************************************************************** + *                                  _   _ ____  _ + *  Project                     ___| | | |  _ \| | + *                             / __| | | | |_) | | + *                            | (__| |_| |  _ <| |___ + *                             \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +#include "curl_setup.h" + +#if defined(__AMIGA__) && !defined(__ixemul__) + +#include <amitcp/socketbasetags.h> + +#include "amigaos.h" + +struct Library *SocketBase = NULL; +extern int errno, h_errno; + +#ifdef __libnix__ +#include <stabs.h> +void __request(const char *msg); +#else +# define __request( msg )       Printf( msg "\n\a") +#endif + +void Curl_amiga_cleanup() +{ +  if(SocketBase) { +    CloseLibrary(SocketBase); +    SocketBase = NULL; +  } +} + +bool Curl_amiga_init() +{ +  if(!SocketBase) +    SocketBase = OpenLibrary("bsdsocket.library", 4); + +  if(!SocketBase) { +    __request("No TCP/IP Stack running!"); +    return FALSE; +  } + +  if(SocketBaseTags(SBTM_SETVAL(SBTC_ERRNOPTR(sizeof(errno))), (ULONG) &errno, +                    SBTM_SETVAL(SBTC_LOGTAGPTR), (ULONG) "cURL", +                    TAG_DONE)) { +    __request("SocketBaseTags ERROR"); +    return FALSE; +  } + +#ifndef __libnix__ +  atexit(Curl_amiga_cleanup); +#endif + +  return TRUE; +} + +#ifdef __libnix__ +ADD2EXIT(Curl_amiga_cleanup,-50); +#endif + +#endif /* __AMIGA__ && ! __ixemul__ */  | 
