removed the emu_socket directory and files as its not in use for windows and I doubt...
authorwsoltys <wiso@no.way>
Tue, 3 Sep 2013 17:55:12 +0000 (19:55 +0200)
committerwsoltys <wiso@no.way>
Tue, 3 Sep 2013 17:55:12 +0000 (19:55 +0200)
13 files changed:
project/VS2010Express/XBMC.vcxproj
project/VS2010Express/XBMC.vcxproj.filters
xbmc/cores/DllLoader/exports/emu_socket/addrinfo.h [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/addrsize.h [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/bittypes.h [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/inet_aton.c [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/inet_ntop.c [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/inet_pton.c [deleted file]
xbmc/cores/DllLoader/exports/emu_socket/sockstorage.h [deleted file]
xbmc/win32/arpa/inet.h

index 46f51df..163a7e7 100644 (file)
     <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_dummy.cpp" />
     <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_kernel32.cpp" />
     <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_msvcrt.cpp" />
-    <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\inet_aton.c">
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (DirectX)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug Testsuite|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (OpenGL)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release (DirectX)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release (OpenGL)|Win32'">CompileAsCpp</CompileAs>
-    </ClCompile>
-    <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\inet_ntop.c">
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (DirectX)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug Testsuite|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (OpenGL)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release (DirectX)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release (OpenGL)|Win32'">CompileAsCpp</CompileAs>
-    </ClCompile>
-    <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\inet_pton.c">
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (DirectX)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug Testsuite|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (OpenGL)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release (DirectX)|Win32'">CompileAsCpp</CompileAs>
-      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release (OpenGL)|Win32'">CompileAsCpp</CompileAs>
-    </ClCompile>
     <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\util\EmuFileWrapper.cpp" />
     <ClCompile Include="..\..\xbmc\cores\VideoRenderers\BaseRenderer.cpp" />
     <ClCompile Include="..\..\xbmc\cores\VideoRenderers\LinuxRendererGL.cpp">
     <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\emu_dummy.h" />
     <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\emu_kernel32.h" />
     <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\emu_msvcrt.h" />
-    <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\emu_socket.h" />
     <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\util\EmuFileWrapper.h" />
     <ClInclude Include="..\..\xbmc\cores\VideoRenderers\BaseRenderer.h" />
     <ClInclude Include="..\..\xbmc\cores\VideoRenderers\LinuxRendererGL.h">
     </VisualStudio>
   </ProjectExtensions>
   <Import Project="$(SolutionDir)\$(ProjectFileName).targets.user" Condition="Exists('$(SolutionDir)\$(ProjectFileName).targets.user')" />
-</Project>
+</Project>
\ No newline at end of file
index 272f2c7..501b1b1 100644 (file)
@@ -46,9 +46,6 @@
     <Filter Include="cores\DllLoader\exports">
       <UniqueIdentifier>{aa32e9d0-5753-42d5-889b-3938ce6703a0}</UniqueIdentifier>
     </Filter>
-    <Filter Include="cores\DllLoader\exports\emu_socket">
-      <UniqueIdentifier>{280834b5-e3ce-48ec-a304-ec6c315beffe}</UniqueIdentifier>
-    </Filter>
     <Filter Include="cores\DllLoader\exports\util">
       <UniqueIdentifier>{111c81df-dc5e-4b93-a21f-c2171434952b}</UniqueIdentifier>
     </Filter>
     <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_msvcrt.cpp">
       <Filter>cores\DllLoader\exports</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\inet_aton.c">
-      <Filter>cores\DllLoader\exports\emu_socket</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\inet_ntop.c">
-      <Filter>cores\DllLoader\exports\emu_socket</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\inet_pton.c">
-      <Filter>cores\DllLoader\exports\emu_socket</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\xbmc\cores\DllLoader\exports\util\EmuFileWrapper.cpp">
       <Filter>cores\DllLoader\exports\util</Filter>
     </ClCompile>
     <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\emu_msvcrt.h">
       <Filter>cores\DllLoader\exports</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\emu_socket\emu_socket.h">
-      <Filter>cores\DllLoader\exports\emu_socket</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\xbmc\cores\DllLoader\exports\util\EmuFileWrapper.h">
       <Filter>cores\DllLoader\exports\util</Filter>
     </ClInclude>
       <Filter>interfaces\swig</Filter>
     </None>
   </ItemGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/addrinfo.h b/xbmc/cores/DllLoader/exports/emu_socket/addrinfo.h
deleted file mode 100644 (file)
index 7ee6321..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* $Id$ */
-
-#ifndef HAVE_ADDRINFO
-
-/*
- * Error return codes from getaddrinfo()
- */
-#define        EAI_ADDRFAMILY   1      /* address family for hostname not supported */
-#define        EAI_AGAIN        2      /* temporary failure in name resolution */
-#define        EAI_BADFLAGS     3      /* invalid value for ai_flags */
-#define        EAI_FAIL         4      /* non-recoverable failure in name resolution */
-#define        EAI_FAMILY       5      /* ai_family not supported */
-#define        EAI_MEMORY       6      /* memory allocation failure */
-#define        EAI_NODATA       7      /* no address associated with hostname */
-#define        EAI_NONAME       8      /* hostname nor servname provided, or not known */
-#define        EAI_SERVICE      9      /* servname not supported for ai_socktype */
-#define        EAI_SOCKTYPE    10      /* ai_socktype not supported */
-#define        EAI_SYSTEM      11      /* system error returned in errno */
-#define EAI_BADHINTS   12
-#define EAI_PROTOCOL   13
-#define EAI_MAX                14
-
-/* internal error */
-#define        NETDB_INTERNAL  -1      /* see errno */
-
-/*
- * Flag values for getaddrinfo()
- */
-#define        AI_PASSIVE      0x00000001 /* get address to use bind() */
-#define        AI_CANONNAME    0x00000002 /* fill ai_canonname */
-#define        AI_NUMERICHOST  0x00000004 /* prevent name resolution */
-/* valid flags for addrinfo */
-#define        AI_MASK         (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST)
-
-#define        AI_ALL          0x00000100 /* IPv6 and IPv4-mapped (with AI_V4MAPPED) */
-#define        AI_V4MAPPED_CFG 0x00000200 /* accept IPv4-mapped if kernel supports */
-#define        AI_ADDRCONFIG   0x00000400 /* only if any address is assigned */
-#define        AI_V4MAPPED     0x00000800 /* accept IPv4-mapped IPv6 address */
-/* special recommended flags for getipnodebyname */
-#define        AI_DEFAULT      (AI_V4MAPPED_CFG | AI_ADDRCONFIG)
-
-struct addrinfo {
-       int     ai_flags;       /* AI_PASSIVE, AI_CANONNAME */
-       int     ai_family;      /* PF_xxx */
-       int     ai_socktype;    /* SOCK_xxx */
-       int     ai_protocol;    /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
-       size_t  ai_addrlen;     /* length of ai_addr */
-       char    *ai_canonname;  /* canonical name for hostname */
-       struct sockaddr *ai_addr;       /* binary address */
-       struct addrinfo *ai_next;       /* next structure in linked list */
-};
-
-extern void freeaddrinfo (struct addrinfo *);
-extern void freehostent (struct hostent *);
-extern char *gai_strerror (int);
-extern int getaddrinfo (const char *, const char *,
-                           const struct addrinfo *, struct addrinfo **);
-extern int getnameinfo (const struct sockaddr *, size_t, char *,
-                           size_t, char *, size_t, int);
-extern struct hostent *getipnodebyaddr (const void *, size_t, int, int *);
-extern struct hostent *getipnodebyname (const char *, int, int, int *);
-extern int inet_pton (int, const char *, void *);
-extern const char *inet_ntop (int, const void *, char *, size_t);
-#endif /* HAVE_ADDRINFO */
-
-/*
- * Constants for getnameinfo()
- */
-#ifndef NI_MAXHOST
-#define        NI_MAXHOST      1025
-#endif
-#ifndef NI_MAXSERV
-#define        NI_MAXSERV      32
-#endif
-
-/*
- * Flag values for getnameinfo()
- */
-#ifndef NI_NOFQDN
-#define        NI_NOFQDN       0x00000001
-#endif
-#ifndef NI_NUMERICHOST
-#define        NI_NUMERICHOST  0x00000002
-#endif
-#ifndef NI_NAMEREQD
-#define        NI_NAMEREQD     0x00000004
-#endif
-#ifndef NI_NUMERICSERV
-#define        NI_NUMERICSERV  0x00000008
-#endif
-#ifndef NI_DGRAM
-#define        NI_DGRAM        0x00000010
-#endif
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/addrsize.h b/xbmc/cores/DllLoader/exports/emu_socket/addrsize.h
deleted file mode 100644 (file)
index 13db4da..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 1999 WIDE Project.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef INADDRSZ
-#define INADDRSZ 4             /* IPv4 T_A */
-#endif
-
-#ifndef IN6ADDRSZ
-#define IN6ADDRSZ      16      /* IPv6 T_AAAA */
-#endif
-
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/bittypes.h b/xbmc/cores/DllLoader/exports/emu_socket/bittypes.h
deleted file mode 100644 (file)
index 405e0cb..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 1999 WIDE Project.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef HAVE_U_INT8_T
-
-typedef unsigned __int8  u_int8_t;
-typedef unsigned __int16 u_int16_t;
-typedef unsigned __int32 u_int32_t;
-typedef unsigned __int64 u_int64_t;
-
-#endif /* HAVE_U_INT64_T */
-
-#ifndef PRId64
-#ifdef _MSC_EXTENSIONS
-#define PRId64 "I64d"
-#else /* _MSC_EXTENSIONS */
-#define PRId64 "lld"
-#endif /* _MSC_EXTENSIONS */
-#endif /* PRId64 */
-
-#ifndef PRIo64
-#ifdef _MSC_EXTENSIONS
-#define PRIo64 "I64o"
-#else /* _MSC_EXTENSIONS */
-#define PRIo64 "llo"
-#endif /* _MSC_EXTENSIONS */
-#endif /* PRIo64 */
-
-#ifndef PRIx64
-#ifdef _MSC_EXTENSIONS
-#define PRIx64 "I64x"
-#else /* _MSC_EXTENSIONS */
-#define PRIx64 "llx"
-#endif /* _MSC_EXTENSIONS */
-#endif /* PRIx64 */
-
-#ifndef PRIu64
-#ifdef _MSC_EXTENSIONS
-#define PRIu64 "I64u"
-#else /* _MSC_EXTENSIONS */
-#define PRIu64 "llu"
-#endif /* _MSC_EXTENSIONS */
-#endif /* PRIu64 */
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h b/xbmc/cores/DllLoader/exports/emu_socket/emu_socket.h
deleted file mode 100644 (file)
index b69d094..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _EMU_SOCKET_EMU_SOCKET_H_
-#define _EMU_SOCKET_EMU_SOCKET_H_
-
-/*
- *      Copyright (C) 2005-2013 Team XBMC
- *      http://xbmc.org
- *
- *  This Program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2, or (at your option)
- *  any later version.
- *
- *  This Program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with XBMC; see the file COPYING.  If not, see
- *  <http://www.gnu.org/licenses/>.
- *
- */
-
-#define SOCK_RAW 3
-
-#define EAFNOSUPPORT WSAEAFNOSUPPORT
-
-#define INET_ADDRSTRLEN 16
-
-struct mphostent {
-         char *h_name;       /* official name of host */
-         char **h_aliases;   /* alias list */
-         short  h_addrtype;      /* host address type  */
-         short  h_length;          /* length of        address */
-         char **h_addr_list; /* list of addresses      from name server */
-};
-
-#ifndef IN_MULTICAST
-#define IN_MULTICAST(i)            (((i) & 0xf0000000U) == 0xe0000000U)
-#endif
-
-#ifndef IN_EXPERIMENTAL
-#define IN_EXPERIMENTAL(i)  (((i) & 0xe0000000U) == 0xe0000000U)
-#endif
-
-#ifndef IN_LOOPBACKNET
-#define IN_LOOPBACKNET     127
-#endif
-
-/*
-typedef struct addrinfo
-{
-    int                 ai_flags;       // AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST
-    int                 ai_family;      // PF_xxx
-    int                 ai_socktype;    // SOCK_xxx
-    int                 ai_protocol;    // 0 or IPPROTO_xxx for IPv4 and IPv6
-    size_t              ai_addrlen;     // Length of ai_addr
-    char *              ai_canonname;   // Canonical name for nodename
-    struct sockaddr *   ai_addr;        // Binary address
-    struct addrinfo *   ai_next;        // Next structure in linked list
-}
-ADDRINFOA, *PADDRINFOA;
-*/
-#endif //_EMU_SOCKET_EMU_SOCKET_H_
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c b/xbmc/cores/DllLoader/exports/emu_socket/getaddrinfo.c
deleted file mode 100644 (file)
index 3cd8b1b..0000000
+++ /dev/null
@@ -1,646 +0,0 @@
-/*
- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * "#ifdef FAITH" part is local hack for supporting IPv4-v6 translator.
- *
- * Issues to be discussed:
- * - Thread safe-ness must be checked.
- * - Return values.  There are nonstandard return values defined and used
- *   in the source code.  This is because RFC2553 is silent about which error
- *   code must be returned for which situation.
- * Note:
- * - We use getipnodebyname() just for thread-safeness.  There's no intent
- *   to let it do PF_UNSPEC (actually we never pass PF_UNSPEC to
- *   getipnodebyname().
- * - The code filters out AFs that are not supported by the kernel,
- *   when globbing NULL hostname (to loopback, or wildcard).  Is it the right
- *   thing to do?  What is the relationship with post-RFC2553 AI_ADDRCONFIG
- *   in ai_flags?
- */
-
-#include <windows.h>
-#include <stddef.h>
-#include "addrinfo.h"
-#include "emu_socket.h"
-#include <sys/types.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <ctype.h>
-#include <stdio.h>
-#include <errno.h>
-
-#ifndef HAVE_U_INT32_T
-#include "bittypes.h"
-#endif
-
-#ifndef HAVE_SOCKADDR_STORAGE
-#include "sockstorage.h"
-#endif
-
-#ifdef NEED_ADDRINFO_H
-#include "addrinfo.h"
-#endif
-
-#if defined(__KAME__) && defined(ENABLE_IPV6)
-# define FAITH
-#endif
-
-#define SUCCESS 0
-#define GAI_ANY 0
-#define YES 1
-#define NO  0
-
-#ifdef FAITH
-static int translate = NO;
-static struct in6_addr faith_prefix = IN6ADDR_GAI_ANY_INIT;
-#endif
-
-static const char in_addrany[] = { 0, 0, 0, 0 };
-static const char in6_addrany[] = {
-       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-static const char in_loopback[] = { 127, 0, 0, 1 }; 
-static const char in6_loopback[] = {
-       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
-};
-
-struct sockinet {
-       u_char  si_len;
-       u_char  si_family;
-       u_short si_port;
-};
-
-static struct gai_afd {
-       int a_af;
-       int a_addrlen;
-       int a_socklen;
-       int a_off;
-       const char *a_addrany;
-       const char *a_loopback; 
-} gai_afdl [] = {
-#ifdef ENABLE_IPV6
-#define N_INET6 0
-       {PF_INET6, sizeof(struct in6_addr),
-        sizeof(struct sockaddr_in6),
-        offsetof(struct sockaddr_in6, sin6_addr),
-        in6_addrany, in6_loopback},
-#define N_INET  1
-#else
-#define N_INET  0
-#endif
-       {PF_INET, sizeof(struct in_addr),
-        sizeof(struct sockaddr_in),
-        offsetof(struct sockaddr_in, sin_addr),
-        in_addrany, in_loopback},
-       {0, 0, 0, 0, NULL, NULL},
-};
-
-#ifdef ENABLE_IPV6
-#define PTON_MAX       16
-#else
-#define PTON_MAX       4
-#endif
-
-#ifndef IN_MULTICAST
-#define IN_MULTICAST(i)            (((i) & 0xf0000000U) == 0xe0000000U)
-#endif
-
-#ifndef IN_EXPERIMENTAL
-#define IN_EXPERIMENTAL(i)  (((i) & 0xe0000000U) == 0xe0000000U)
-#endif
-
-#ifndef IN_LOOPBACKNET
-#define IN_LOOPBACKNET     127
-#endif
-
-static int get_name (const char *, struct gai_afd *,  struct addrinfo **, char *, struct addrinfo *,  int);
-static int get_addr (const char *, int, struct addrinfo **,
-                       struct addrinfo *, int);
-static int str_isnumber (const char *);
-       
-static char *ai_errlist[] = {
-       "success.",
-       "address family for hostname not supported.",   /* EAI_ADDRFAMILY */
-       "temporary failure in name resolution.",        /* EAI_AGAIN      */
-       "invalid value for ai_flags.",                  /* EAI_BADFLAGS   */
-       "non-recoverable failure in name resolution.",  /* EAI_FAIL       */
-       "ai_family not supported.",                     /* EAI_FAMILY     */
-       "memory allocation failure.",                   /* EAI_MEMORY     */
-       "no address associated with hostname.",         /* EAI_NODATA     */
-       "hostname nor servname provided, or not known.",/* EAI_NONAME     */
-       "servname not supported for ai_socktype.",      /* EAI_SERVICE    */
-       "ai_socktype not supported.",                   /* EAI_SOCKTYPE   */
-       "system error returned in errno.",              /* EAI_SYSTEM     */
-       "invalid value for hints.",                     /* EAI_BADHINTS   */
-       "resolved protocol is unknown.",                /* EAI_PROTOCOL   */
-       "unknown error.",                               /* EAI_MAX        */
-};
-
-#define GET_CANONNAME(ai, str) \
-if (pai->ai_flags & AI_CANONNAME) {\
-       if (((ai)->ai_canonname = (char *)malloc(strlen(str) + 1)) != NULL) {\
-               strcpy((ai)->ai_canonname, (str));\
-       } else {\
-               error = EAI_MEMORY;\
-               goto free;\
-       }\
-}
-
-#ifdef HAVE_SOCKADDR_SA_LEN
-#define GET_AI(ai, gai_afd, addr, port) {\
-       char *p;\
-       if (((ai) = (struct addrinfo *)malloc(sizeof(struct addrinfo) +\
-                                             ((gai_afd)->a_socklen)))\
-           == NULL) goto free;\
-       memcpy(ai, pai, sizeof(struct addrinfo));\
-       (ai)->ai_addr = (struct sockaddr *)((ai) + 1);\
-       memset((ai)->ai_addr, 0, (gai_afd)->a_socklen);\
-       (ai)->ai_addr->sa_len = (ai)->ai_addrlen = (gai_afd)->a_socklen;\
-       (ai)->ai_addr->sa_family = (ai)->ai_family = (gai_afd)->a_af;\
-       ((struct sockinet *)(ai)->ai_addr)->si_port = port;\
-       p = (char *)((ai)->ai_addr);\
-       memcpy(p + (gai_afd)->a_off, (addr), (gai_afd)->a_addrlen);\
-}
-#else
-#define GET_AI(ai, gai_afd, addr, port) {\
-       char *p;\
-       if (((ai) = (struct addrinfo *)malloc(sizeof(struct addrinfo) +\
-                                             ((gai_afd)->a_socklen)))\
-           == NULL) goto free;\
-       memcpy(ai, pai, sizeof(struct addrinfo));\
-       (ai)->ai_addr = (struct sockaddr *)((ai) + 1);\
-       memset((ai)->ai_addr, 0, (gai_afd)->a_socklen);\
-       (ai)->ai_addrlen = (gai_afd)->a_socklen;\
-       (ai)->ai_addr->sa_family = (ai)->ai_family = (gai_afd)->a_af;\
-       ((struct sockinet *)(ai)->ai_addr)->si_port = port;\
-       p = (char *)((ai)->ai_addr);\
-       memcpy(p + (gai_afd)->a_off, (addr), (gai_afd)->a_addrlen);\
-}
-#endif
-
-#define ERR(err) { error = (err); goto bad; }
-
-char *
-gai_strerror(int ecode)
-{
-       if (ecode < 0 || ecode > EAI_MAX)
-               ecode = EAI_MAX;
-       return ai_errlist[ecode];
-}
-
-void
-freeaddrinfo(struct addrinfo *ai)
-{
-       struct addrinfo *next;
-
-       do {
-               next = ai->ai_next;
-               if (ai->ai_canonname)
-                       free(ai->ai_canonname);
-               /* no need to free(ai->ai_addr) */
-               free(ai);
-       } while ((ai = next) != NULL);
-}
-
-static int
-str_isnumber(const char *p)
-{
-       unsigned char *q = (unsigned char *)p;
-       while (*q) {
-               if (! isdigit(*q))
-                       return NO;
-               q++;
-       }
-       return YES;
-}
-
-int
-getaddrinfo(const char*hostname, const char*servname,
-            const struct addrinfo *hints, struct addrinfo **res)
-{
-       struct addrinfo sentinel;
-       struct addrinfo *top = NULL;
-       struct addrinfo *cur;
-       int i, error = 0;
-       char pton[PTON_MAX];
-       struct addrinfo ai;
-       struct addrinfo *pai;
-       u_short port;
-
-#ifdef FAITH
-       static int firsttime = 1;
-
-       if (firsttime) {
-               /* translator hack */
-               {
-                       char *q = getenv("GAI");
-                       if (q && inet_pton(AF_INET6, q, &faith_prefix) == 1)
-                               translate = YES;
-               }
-               firsttime = 0;
-       }
-#endif
-
-       /* initialize file static vars */
-       sentinel.ai_next = NULL;
-       cur = &sentinel;
-       pai = &ai;
-       pai->ai_flags = 0;
-       pai->ai_family = PF_UNSPEC;
-       pai->ai_socktype = GAI_ANY;
-       pai->ai_protocol = GAI_ANY;
-       pai->ai_addrlen = 0;
-       pai->ai_canonname = NULL;
-       pai->ai_addr = NULL;
-       pai->ai_next = NULL;
-       port = GAI_ANY;
-       
-       if (hostname == NULL && servname == NULL)
-               return EAI_NONAME;
-       if (hints) {
-               /* error check for hints */
-               if (hints->ai_addrlen || hints->ai_canonname ||
-                   hints->ai_addr || hints->ai_next)
-                       ERR(EAI_BADHINTS); /* xxx */
-               if (hints->ai_flags & ~AI_MASK)
-                       ERR(EAI_BADFLAGS);
-               switch (hints->ai_family) {
-               case PF_UNSPEC:
-               case PF_INET:
-#ifdef ENABLE_IPV6
-               case PF_INET6:
-#endif
-                       break;
-               default:
-                       ERR(EAI_FAMILY);
-               }
-               memcpy(pai, hints, sizeof(*pai));
-               switch (pai->ai_socktype) {
-               case GAI_ANY:
-                       switch (pai->ai_protocol) {
-                       case GAI_ANY:
-                               break;
-                       case IPPROTO_UDP:
-                               pai->ai_socktype = SOCK_DGRAM;
-                               break;
-                       case IPPROTO_TCP:
-                               pai->ai_socktype = SOCK_STREAM;
-                               break;
-                       default:
-                               pai->ai_socktype = SOCK_RAW;
-                               break;
-                       }
-                       break;
-               case SOCK_DGRAM:
-                       if (pai->ai_protocol != IPPROTO_UDP &&
-                           pai->ai_protocol != GAI_ANY)
-                               ERR(EAI_BADHINTS);      /*xxx*/
-                       pai->ai_protocol = IPPROTO_UDP;
-                       break;
-               case SOCK_STREAM:
-                       if (pai->ai_protocol != IPPROTO_TCP &&
-                           pai->ai_protocol != GAI_ANY)
-                               ERR(EAI_BADHINTS);      /*xxx*/
-                       pai->ai_protocol = IPPROTO_TCP;
-                       break;
-               default:
-                       ERR(EAI_SOCKTYPE);
-                       /* unreachable */
-               }
-       }
-
-       /*
-        * service port
-        */
-       if (servname) {
-               if (str_isnumber(servname)) {
-                       if (pai->ai_socktype == GAI_ANY) {
-                               /* caller accept *GAI_ANY* socktype */
-                               pai->ai_socktype = SOCK_DGRAM;
-                               pai->ai_protocol = IPPROTO_UDP;
-                       }
-                       port = htons((u_short)atoi(servname));
-               } else {
-                       struct servent *sp;
-                       char *proto;
-
-                       proto = NULL;
-                       switch (pai->ai_socktype) {
-                       case GAI_ANY:
-                               proto = NULL;
-                               break;
-                       case SOCK_DGRAM:
-                               proto = "udp";
-                               break;
-                       case SOCK_STREAM:
-                               proto = "tcp";
-                               break;
-                       default:
-                               fprintf(stderr, "panic!\n");
-                               break;
-                       }
-                       if ((sp = getservbyname(servname, proto)) == NULL)
-                               ERR(EAI_SERVICE);
-                       port = sp->s_port;
-                       if (pai->ai_socktype == GAI_ANY) {
-                               if (strcmp(sp->s_proto, "udp") == 0) {
-                                       pai->ai_socktype = SOCK_DGRAM;
-                                       pai->ai_protocol = IPPROTO_UDP;
-                               } else if (strcmp(sp->s_proto, "tcp") == 0) {
-                                        pai->ai_socktype = SOCK_STREAM;
-                                        pai->ai_protocol = IPPROTO_TCP;
-                                } else
-                                        ERR(EAI_PROTOCOL);     /*xxx*/
-                        }
-               }
-       }
-       
-       /*
-        * hostname == NULL.
-        * passive socket -> anyaddr (0.0.0.0 or ::)
-        * non-passive socket -> localhost (127.0.0.1 or ::1)
-        */
-       if (hostname == NULL) {
-               struct gai_afd *gai_afd;
-
-               for (gai_afd = &gai_afdl[0]; gai_afd->a_af; gai_afd++) {
-                       if (!(pai->ai_family == PF_UNSPEC
-                          || pai->ai_family == gai_afd->a_af)) {
-                               continue;
-                       }
-
-                       if (pai->ai_flags & AI_PASSIVE) {
-                               GET_AI(cur->ai_next, gai_afd, gai_afd->a_addrany, port);
-                               /* xxx meaningless?
-                                * GET_CANONNAME(cur->ai_next, "anyaddr");
-                                */
-                       } else {
-                               GET_AI(cur->ai_next, gai_afd, gai_afd->a_loopback,
-                                       port);
-                               /* xxx meaningless?
-                                * GET_CANONNAME(cur->ai_next, "localhost");
-                                */
-                       }
-                       cur = cur->ai_next;
-               }
-               top = sentinel.ai_next;
-               if (top)
-                       goto good;
-               else
-                       ERR(EAI_FAMILY);
-       }
-       
-       /* hostname as numeric name */
-       for (i = 0; gai_afdl[i].a_af; i++) {
-               if (inet_pton(gai_afdl[i].a_af, hostname, pton)) {
-                       u_long v4a;
-#ifdef ENABLE_IPV6
-                       u_char pfx;
-#endif
-
-                       switch (gai_afdl[i].a_af) {
-                       case AF_INET:
-                               v4a = ((struct in_addr *)pton)->s_addr;
-                               v4a = ntohl(v4a);
-                               if (IN_MULTICAST(v4a) || IN_EXPERIMENTAL(v4a))
-                                       pai->ai_flags &= ~AI_CANONNAME;
-                               v4a >>= IN_CLASSA_NSHIFT;
-                               if (v4a == 0 || v4a == IN_LOOPBACKNET)
-                                       pai->ai_flags &= ~AI_CANONNAME;
-                               break;
-#ifdef ENABLE_IPV6
-                       case AF_INET6:
-                               pfx = ((struct in6_addr *)pton)->s6_addr8[0];
-                               if (pfx == 0 || pfx == 0xfe || pfx == 0xff)
-                                       pai->ai_flags &= ~AI_CANONNAME;
-                               break;
-#endif
-                       }
-                       
-                       if (pai->ai_family == gai_afdl[i].a_af ||
-                           pai->ai_family == PF_UNSPEC) {
-                               if (! (pai->ai_flags & AI_CANONNAME)) {
-                                       GET_AI(top, &gai_afdl[i], pton, port);
-                                       goto good;
-                               }
-                               /*
-                                * if AI_CANONNAME and if reverse lookup
-                                * fail, return ai anyway to pacify
-                                * calling application.
-                                *
-                                * XXX getaddrinfo() is a name->address
-                                * translation function, and it looks strange
-                                * that we do addr->name translation here.
-                                */
-                               get_name(pton, &gai_afdl[i], &top, pton, pai, port);
-                               goto good;
-                       } else 
-                               ERR(EAI_FAMILY);        /*xxx*/
-               }
-       }
-
-       if (pai->ai_flags & AI_NUMERICHOST)
-               ERR(EAI_NONAME);
-
-       /* hostname as alphabetical name */
-       error = get_addr(hostname, pai->ai_family, &top, pai, port);
-       if (error == 0) {
-               if (top) {
- good:
-                       *res = top;
-                       return SUCCESS;
-               } else
-                       error = EAI_FAIL;
-       }
- free:
-       if (top)
-               freeaddrinfo(top);
- bad:
-       *res = NULL;
-       return error;
-}
-
-static int
-get_name(addr, gai_afd, res, numaddr, pai, port0)
-       const char *addr;
-       struct gai_afd *gai_afd;
-       struct addrinfo **res;
-       char *numaddr;
-       struct addrinfo *pai;
-       int port0;
-{
-       u_short port = port0 & 0xffff;
-       struct hostent *hp;
-       struct addrinfo *cur;
-       int error = 0;
-#ifdef ENABLE_IPV6
-       int h_error;
-#endif
-       
-#ifdef ENABLE_IPV6
-       hp = getipnodebyaddr(addr, gai_afd->a_addrlen, gai_afd->a_af, &h_error);
-#else
-       hp = gethostbyaddr(addr, gai_afd->a_addrlen, AF_INET);
-#endif
-       if (hp && hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) {
-               GET_AI(cur, gai_afd, hp->h_addr_list[0], port);
-               GET_CANONNAME(cur, hp->h_name);
-       } else
-               GET_AI(cur, gai_afd, numaddr, port);
-       
-#ifdef ENABLE_IPV6
-       if (hp)
-               freehostent(hp);
-#endif
-       *res = cur;
-       return SUCCESS;
- free:
-       if (cur)
-               freeaddrinfo(cur);
-#ifdef ENABLE_IPV6
-       if (hp)
-               freehostent(hp);
-#endif
- /* bad: */
-       *res = NULL;
-       return error;
-}
-
-static int
-get_addr(hostname, af, res, pai, port0)
-       const char *hostname;
-       int af;
-       struct addrinfo **res;
-       struct addrinfo *pai;
-       int port0;
-{
-       u_short port = port0 & 0xffff;
-       struct addrinfo sentinel;
-       struct hostent *hp;
-       struct addrinfo *top, *cur;
-       struct gai_afd *gai_afd;
-       int i, error = 0, h_error;
-       char *ap;
-
-       top = NULL;
-       sentinel.ai_next = NULL;
-       cur = &sentinel;
-#ifdef ENABLE_IPV6
-       if (af == AF_UNSPEC) {
-               hp = getipnodebyname(hostname, AF_INET6,
-                               AI_ADDRCONFIG|AI_ALL|AI_V4MAPPED, &h_error);
-       } else
-               hp = getipnodebyname(hostname, af, AI_ADDRCONFIG, &h_error);
-#else
-       hp = gethostbyname(hostname);
-       h_error = h_errno;
-#endif
-       if (hp == NULL) {
-               switch (h_error) {
-               case HOST_NOT_FOUND:
-               case NO_DATA:
-                       error = EAI_NODATA;
-                       break;
-               case TRY_AGAIN:
-                       error = EAI_AGAIN;
-                       break;
-               case NO_RECOVERY:
-               default:
-                       error = EAI_FAIL;
-                       break;
-               }
-               goto free;
-       }
-
-       if ((hp->h_name == NULL) || (hp->h_name[0] == 0) ||
-           (hp->h_addr_list[0] == NULL)) {
-               error = EAI_FAIL;
-               goto free;
-       }
-       
-       for (i = 0; (ap = hp->h_addr_list[i]) != NULL; i++) {
-               switch (af) {
-#ifdef ENABLE_IPV6
-               case AF_INET6:
-                       gai_afd = &gai_afdl[N_INET6];
-                       break;
-#endif
-#ifndef ENABLE_IPV6
-               default:        /* AF_UNSPEC */
-#endif
-               case AF_INET:
-                       gai_afd = &gai_afdl[N_INET];
-                       break;
-#ifdef ENABLE_IPV6
-               default:        /* AF_UNSPEC */
-                       if (IN6_IS_ADDR_V4MAPPED((struct in6_addr *)ap)) {
-                               ap += sizeof(struct in6_addr) -
-                                       sizeof(struct in_addr);
-                               gai_afd = &gai_afdl[N_INET];
-                       } else
-                               gai_afd = &gai_afdl[N_INET6];
-                       break;
-#endif
-               }
-#ifdef FAITH
-               if (translate && gai_afd->a_af == AF_INET) {
-                       struct in6_addr *in6;
-
-                       GET_AI(cur->ai_next, &gai_afdl[N_INET6], ap, port);
-                       in6 = &((struct sockaddr_in6 *)cur->ai_next->ai_addr)->sin6_addr;
-                       memcpy(&in6->s6_addr32[0], &faith_prefix,
-                           sizeof(struct in6_addr) - sizeof(struct in_addr));
-                       memcpy(&in6->s6_addr32[3], ap, sizeof(struct in_addr));
-               } else
-#endif /* FAITH */
-               GET_AI(cur->ai_next, gai_afd, ap, port);
-               if (cur == &sentinel) {
-                       top = cur->ai_next;
-                       GET_CANONNAME(top, hp->h_name);
-               }
-               cur = cur->ai_next;
-       }
-#ifdef ENABLE_IPV6
-       freehostent(hp);
-#endif
-       *res = top;
-       return SUCCESS;
- free:
-       if (top)
-               freeaddrinfo(top);
-#ifdef ENABLE_IPV6
-       if (hp)
-               freehostent(hp);
-#endif
-/* bad: */
-       *res = NULL;
-       return error;
-}
\ No newline at end of file
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c b/xbmc/cores/DllLoader/exports/emu_socket/getnameinfo.c
deleted file mode 100644 (file)
index 0df482a..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Issues to be discussed:
- * - Thread safe-ness must be checked
- * - Return values.  There seems to be no standard for return value (RFC2553)
- *   but INRIA implementation returns EAI_xxx defined for getaddrinfo().
- * - RFC2553 says that we should raise error on short buffer.  X/Open says
- *   we need to truncate the result.  We obey RFC2553 (and X/Open should be
- *   modified).
- */
-
-#include <windows.h>
-#include <stddef.h>
-#include "addrinfo.h"
-#include "emu_socket.h"
-#include <sys/types.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <ctype.h>
-#include <stdio.h>
-#include <errno.h>
-
-extern struct servent* __stdcall dllgetservbyname(const char* name, const char* proto);
-#define getservbyname(name, proto) dllgetservbyname(name, proto)
-
-extern struct servent* __stdcall dllgetservbyport(int port, const char* proto);
-#define getservbyport(port, proto) dllgetservbyport(port, proto)
-
-#define hostent mphostent
-
-#ifndef HAVE_U_INT32_T
-#include "bittypes.h"
-#endif
-
-#ifdef NEED_ADDRINFO_H
-#include "addrinfo.h"
-#endif
-
-#define SUCCESS 0
-#define YES 1
-#define NO  0
-
-static struct gni_afd {
-       int a_af;
-       int a_addrlen;
-       int a_socklen;
-       int a_off;
-} gni_afdl [] = {
-#ifdef ENABLE_IPV6
-       {PF_INET6, sizeof(struct in6_addr), sizeof(struct sockaddr_in6),
-               offsetof(struct sockaddr_in6, sin6_addr)},
-#endif
-       {PF_INET, sizeof(struct in_addr), sizeof(struct sockaddr_in),
-               offsetof(struct sockaddr_in, sin_addr)},
-       {0, 0, 0},
-};
-
-struct gni_sockinet {
-       u_char  si_len;
-       u_char  si_family;
-       u_short si_port;
-};
-
-#define ENI_NOSOCKET   0
-#define ENI_NOSERVNAME 1
-#define ENI_NOHOSTNAME 2
-#define ENI_MEMORY     3
-#define ENI_SYSTEM     4
-#define ENI_FAMILY     5
-#define ENI_SALEN      6
-
-/* forward declaration to make gcc happy */
-int getnameinfo (const struct sockaddr *, size_t, char *, size_t, char *, size_t, int);
-
-int
-getnameinfo(sa, salen, host, hostlen, serv, servlen, flags)
-       const struct sockaddr *sa;
-       size_t salen;
-       char *host;
-       size_t hostlen;
-       char *serv;
-       size_t servlen;
-       int flags;
-{
-       struct gni_afd *gni_afd;
-       struct servent *sp;
-       struct hostent *hp;
-       u_short port;
-       int family, len, i;
-       char *addr, *p;
-       u_long v4a;
-#ifdef ENABLE_IPV6
-       u_char pfx;
-#endif
-       int h_error;
-       char numserv[512];
-       char numaddr[512];
-
-       if (sa == NULL)
-               return ENI_NOSOCKET;
-
-#ifdef HAVE_SOCKADDR_SA_LEN
-       len = sa->sa_len;
-       if (len != salen) return ENI_SALEN;
-#else
-       len = salen;
-#endif
-       
-       family = sa->sa_family;
-       for (i = 0; gni_afdl[i].a_af; i++)
-               if (gni_afdl[i].a_af == family) {
-                       gni_afd = &gni_afdl[i];
-                       goto found;
-               }
-       return ENI_FAMILY;
-       
- found:
-       if (len != gni_afd->a_socklen) return ENI_SALEN;
-       
-       port = ((struct gni_sockinet *)sa)->si_port; /* network byte order */
-       addr = (char *)sa + gni_afd->a_off;
-
-       if (serv == NULL || servlen == 0) {
-               /* what we should do? */
-       } else if (flags & NI_NUMERICSERV) {
-               sprintf(numserv, "%d", ntohs(port));
-               if (strlen(numserv) > servlen)
-                       return ENI_MEMORY;
-               strcpy(serv, numserv);
-       } else {
-               sp = getservbyport(port, (flags & NI_DGRAM) ? "udp" : "tcp");
-               if (sp) {
-                       if (strlen(sp->s_name) > servlen)
-                               return ENI_MEMORY;
-                       strcpy(serv, sp->s_name);
-               } else
-                       return ENI_NOSERVNAME;
-       }
-
-       switch (sa->sa_family) {
-       case AF_INET:
-               v4a = ((struct sockaddr_in *)sa)->sin_addr.s_addr;
-               if (IN_MULTICAST(v4a) || IN_EXPERIMENTAL(v4a))
-                       flags |= NI_NUMERICHOST;
-               v4a >>= IN_CLASSA_NSHIFT;
-               if (v4a == 0 || v4a == IN_LOOPBACKNET)
-                       flags |= NI_NUMERICHOST;                        
-               break;
-#ifdef ENABLE_IPV6
-       case AF_INET6:
-               pfx = ((struct sockaddr_in6 *)sa)->sin6_addr.s6_addr8[0];
-               if (pfx == 0 || pfx == 0xfe || pfx == 0xff)
-                       flags |= NI_NUMERICHOST;
-               break;
-#endif
-       }
-       if (host == NULL || hostlen == 0) {
-               /* what should we do? */
-       } else if (flags & NI_NUMERICHOST) {
-               if (inet_ntop(gni_afd->a_af, addr, numaddr, sizeof(numaddr))
-                   == NULL)
-                       return ENI_SYSTEM;
-               if (strlen(numaddr) > hostlen)
-                       return ENI_MEMORY;
-               strcpy(host, numaddr);
-       } else {
-#ifdef ENABLE_IPV6
-               hp = (struct hostent *)getipnodebyaddr(addr, gni_afd->a_addrlen, gni_afd->a_af, &h_error);
-#else
-               hp = (struct hostent *)gethostbyaddr(addr, gni_afd->a_addrlen, gni_afd->a_af);
-               h_error = h_errno;
-#endif
-
-               if (hp) {
-                       if (flags & NI_NOFQDN) {
-                               p = strchr(hp->h_name, '.');
-                               if (p) *p = '\0';
-                       }
-                       if (strlen(hp->h_name) > hostlen) {
-#ifdef ENABLE_IPV6
-                               freehostent(hp);
-#endif
-                               return ENI_MEMORY;
-                       }
-                       strcpy(host, hp->h_name);
-#ifdef ENABLE_IPV6
-                       freehostent(hp);
-#endif
-               } else {
-                       if (flags & NI_NAMEREQD)
-                               return ENI_NOHOSTNAME;
-                       if (inet_ntop(gni_afd->a_af, addr, numaddr, sizeof(numaddr))
-                           == NULL)
-                               return ENI_NOHOSTNAME;
-                       if (strlen(numaddr) > hostlen)
-                               return ENI_MEMORY;
-                       strcpy(host, numaddr);
-               }
-       }
-       return SUCCESS;
-}
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/inet_aton.c b/xbmc/cores/DllLoader/exports/emu_socket/inet_aton.c
deleted file mode 100644 (file)
index 197f043..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/*-
- * Copyright (c) 2001 Charles Mott <cm@linktel.net>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifdef TARGET_WINDOWS
-#include <windows.h>
-typedef unsigned long in_addr_t;
-#endif
-#include <stdlib.h>
-#include <ctype.h>
-#include <limits.h>
-#ifndef TARGET_WINDOWS
-#include <netinet/in.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef INADDR_NONE
-#define INADDR_NONE 0xffffffff
-#endif
-
-int
-inet_aton(const char *cp, struct in_addr *addr)
-{
-    u_long parts[4];
-    in_addr_t val;
-    const char *c;
-    char *endptr;
-    int gotend, n;
-
-    c = (const char *)cp;
-    n = 0;
-
-    /*
-     * Run through the string, grabbing numbers until
-     * the end of the string, or some error
-     */
-    gotend = 0;
-    while (!gotend) {
-        unsigned long l;
-
-        l = strtoul(c, &endptr, 0);
-
-        if (l == ULONG_MAX || (l == 0 && endptr == c))
-            return (0);
-
-        val = (in_addr_t)l;
-
-        /*
-         * If the whole string is invalid, endptr will equal
-         * c.. this way we can make sure someone hasn't
-         * gone '.12' or something which would get past
-         * the next check.
-         */
-        if (endptr == c)
-            return (0);
-        parts[n] = val;
-        c = endptr;
-
-        /* Check the next character past the previous number's end */
-        switch (*c) {
-        case '.' :
-
-            /* Make sure we only do 3 dots .. */
-            if (n == 3) /* Whoops. Quit. */
-                return (0);
-            n++;
-            c++;
-            break;
-
-        case '\0':
-            gotend = 1;
-            break;
-
-        default:
-            if (isspace((unsigned char)*c)) {
-                gotend = 1;
-                break;
-            } else {
-
-                /* Invalid character, then fail. */
-                return (0);
-            }
-        }
-
-    }
-
-    /* Concoct the address according to the number of parts specified. */
-    switch (n) {
-    case 0:             /* a -- 32 bits */
-
-        /*
-         * Nothing is necessary here.  Overflow checking was
-         * already done in strtoul().
-         */
-        break;
-    case 1:             /* a.b -- 8.24 bits */
-        if (val > 0xffffff || parts[0] > 0xff)
-            return (0);
-        val |= parts[0] << 24;
-        break;
-
-    case 2:             /* a.b.c -- 8.8.16 bits */
-        if (val > 0xffff || parts[0] > 0xff || parts[1] > 0xff)
-            return (0);
-        val |= (parts[0] << 24) | (parts[1] << 16);
-        break;
-
-    case 3:             /* a.b.c.d -- 8.8.8.8 bits */
-        if (val > 0xff || parts[0] > 0xff || parts[1] > 0xff ||
-            parts[2] > 0xff)
-            return (0);
-        val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8);
-        break;
-    }
-
-    if (addr != NULL)
-        addr->s_addr = htonl(val);
-    return (1);
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/inet_ntop.c b/xbmc/cores/DllLoader/exports/emu_socket/inet_ntop.c
deleted file mode 100644 (file)
index cd5d74f..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1996-1999 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifdef _WIN32
-#include <windows.h>
-typedef int socklen_t;
-#define snprintf _snprintf
-#else
-#include <rpc/types.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef IN6ADDRSZ
-#define IN6ADDRSZ   16   /* IPv6 T_AAAA */
-#endif
-
-#ifndef INT16SZ
-#define INT16SZ     2    /* word size */
-#endif
-
-#ifndef HAVE_STRLCPY
-#define strlcpy(d,s,l) (strncpy(d,s,l), (d)[(l)-1] = '\0')
-#endif
-
-/*%
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-static const char *inet_ntop4(const u_char *src, char *dst, socklen_t size);
-static const char *inet_ntop6(const u_char *src, char *dst, socklen_t size);
-
-/* char *
- * inet_ntop(af, src, dst, size)
- *  convert a network format address to presentation format.
- * return:
- *  pointer to presentation format address (`dst'), or NULL (see errno).
- * author:
- *  Paul Vixie, 1996.
- */
-const char *
-__rpc_inet_ntop(int af, const void * __restrict src, char * __restrict dst,
-    socklen_t size)
-{
-    switch (af) {
-    case AF_INET:
-        return (inet_ntop4((u_char*)src, dst, size));
-    case AF_INET6:
-        return (inet_ntop6((u_char*)src, dst, size));
-    default:
-        return (NULL);
-    }
-    /* NOTREACHED */
-}
-
-/* const char *
- * inet_ntop4(src, dst, size)
- *  format an IPv4 address
- * return:
- *  `dst' (as a const)
- * notes:
- *  (1) uses no statics
- *  (2) takes a u_char* not an in_addr as input
- * author:
- *  Paul Vixie, 1996.
- */
-static const char *
-inet_ntop4(const u_char *src, char *dst, socklen_t size)
-{
-    static const char fmt[] = "%u.%u.%u.%u";
-    char tmp[sizeof "255.255.255.255"];
-    int l;
-
-    l = snprintf(tmp, sizeof(tmp), fmt, src[0], src[1], src[2], src[3]);
-    if (l <= 0 || (socklen_t) l >= size) {
-        return (NULL);
-    }
-    strlcpy(dst, tmp, size);
-    return (dst);
-}
-
-/* const char *
- * inet_ntop6(src, dst, size)
- *  convert IPv6 binary address into presentation (printable) format
- * author:
- *  Paul Vixie, 1996.
- */
-static const char *
-inet_ntop6(const u_char *src, char *dst, socklen_t size)
-{
-    /*
-     * Note that int32_t and int16_t need only be "at least" large enough
-     * to contain a value of the specified size.  On some systems, like
-     * Crays, there is no such thing as an integer variable with 16 bits.
-     * Keep this in mind if you think this function should have been coded
-     * to use pointer overlays.  All the world's not a VAX.
-     */
-    char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"], *tp;
-    struct { int base, len; } best, cur;
-#define NS_IN6ADDRSZ    16
-#define NS_INT16SZ  2
-    u_int words[NS_IN6ADDRSZ / NS_INT16SZ];
-    int i;
-
-    /*
-     * Preprocess:
-     *  Copy the input (bytewise) array into a wordwise array.
-     *  Find the longest run of 0x00's in src[] for :: shorthanding.
-     */
-    memset(words, '\0', sizeof words);
-    for (i = 0; i < NS_IN6ADDRSZ; i++)
-        words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
-    best.base = -1;
-    best.len = 0;
-    cur.base = -1;
-    cur.len = 0;
-    for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) {
-        if (words[i] == 0) {
-            if (cur.base == -1)
-                cur.base = i, cur.len = 1;
-            else
-                cur.len++;
-        } else {
-            if (cur.base != -1) {
-                if (best.base == -1 || cur.len > best.len)
-                    best = cur;
-                cur.base = -1;
-            }
-        }
-    }
-    if (cur.base != -1) {
-        if (best.base == -1 || cur.len > best.len)
-            best = cur;
-    }
-    if (best.base != -1 && best.len < 2)
-        best.base = -1;
-
-    /*
-     * Format the result.
-     */
-    tp = tmp;
-    for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) {
-        /* Are we inside the best run of 0x00's? */
-        if (best.base != -1 && i >= best.base &&
-            i < (best.base + best.len)) {
-            if (i == best.base)
-                *tp++ = ':';
-            continue;
-        }
-        /* Are we following an initial run of 0x00s or any real hex? */
-        if (i != 0)
-            *tp++ = ':';
-        /* Is this address an encapsulated IPv4? */
-        if (i == 6 && best.base == 0 && (best.len == 6 ||
-            (best.len == 7 && words[7] != 0x0001) ||
-            (best.len == 5 && words[5] == 0xffff))) {
-            if (!inet_ntop4(src+12, tp, sizeof tmp - (tp - tmp)))
-                return (NULL);
-            tp += strlen(tp);
-            break;
-        }
-        tp += sprintf(tp, "%x", words[i]);
-    }
-    /* Was it a trailing run of 0x00's? */
-    if (best.base != -1 && (best.base + best.len) ==
-        (NS_IN6ADDRSZ / NS_INT16SZ))
-        *tp++ = ':';
-    *tp++ = '\0';
-
-    /*
-     * Check for overflow, copy, and we're done.
-     */
-    if ((socklen_t)(tp - tmp) > size) {
-        return (NULL);
-    }
-    strcpy(dst, tmp);
-    return (dst);
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/inet_pton.c b/xbmc/cores/DllLoader/exports/emu_socket/inet_pton.c
deleted file mode 100644 (file)
index d045071..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1996,1999 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifdef _WIN32
-#include <windows.h>
-#else
-#include <rpc/types.h>
-#endif
-#include <string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __STDC__
-#define __weak_reference(sym,alias) \
-    __asm__(".weak " #alias);   \
-    __asm__(".equ "  #alias ", " #sym)
-#else
-#define __weak_reference(sym,alias) \
-    __asm__(".weak alias");     \
-    __asm__(".equ alias, sym")
-#endif  /* __STDC__ */
-
-/*%
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-static int  inet_pton4(const char *src, u_char *dst);
-static int  inet_pton6(const char *src, u_char *dst);
-
-/* int
- * inet_pton(af, src, dst)
- *  convert from presentation format (which usually means ASCII printable)
- *  to network format (which is usually some kind of binary format).
- * return:
- *  1 if the address was valid for the specified address family
- *  0 if the address wasn't valid (`dst' is untouched in this case)
- *  -1 if some other error occurred (`dst' is untouched in this case, too)
- * author:
- *  Paul Vixie, 1996.
- */
-int
-inet_pton(int af, const char * __restrict src, void * __restrict dst)
-{
-    switch (af) {
-    case AF_INET:
-        return (inet_pton4(src, (u_char*)dst));
-    case AF_INET6:
-        return (inet_pton6(src, (u_char*)dst));
-    default:
-        return (-1);
-    }
-    /* NOTREACHED */
-}
-
-/* int
- * inet_pton4(src, dst)
- *  like inet_aton() but without all the hexadecimal and shorthand.
- * return:
- *  1 if `src' is a valid dotted quad, else 0.
- * notice:
- *  does not touch `dst' unless it's returning 1.
- * author:
- *  Paul Vixie, 1996.
- */
-static int
-inet_pton4(const char *src, u_char *dst)
-{
-    static const char digits[] = "0123456789";
-    int saw_digit, octets, ch;
-#define NS_INADDRSZ 4
-    u_char tmp[NS_INADDRSZ], *tp;
-
-    saw_digit = 0;
-    octets = 0;
-    *(tp = tmp) = 0;
-    while ((ch = *src++) != '\0') {
-        const char *pch;
-
-        if ((pch = strchr(digits, ch)) != NULL) {
-            u_int c_new = *tp * 10 + (pch - digits);
-
-            if (saw_digit && *tp == 0)
-                return (0);
-            if (c_new > 255)
-                return (0);
-            *tp = c_new;
-            if (!saw_digit) {
-                if (++octets > 4)
-                    return (0);
-                saw_digit = 1;
-            }
-        } else if (ch == '.' && saw_digit) {
-            if (octets == 4)
-                return (0);
-            *++tp = 0;
-            saw_digit = 0;
-        } else
-            return (0);
-    }
-    if (octets < 4)
-        return (0);
-    memcpy(dst, tmp, NS_INADDRSZ);
-    return (1);
-}
-
-/* int
- * inet_pton6(src, dst)
- *  convert presentation level address to network order binary form.
- * return:
- *  1 if `src' is a valid [RFC1884 2.2] address, else 0.
- * notice:
- *  (1) does not touch `dst' unless it's returning 1.
- *  (2) :: in a full address is silently ignored.
- * credit:
- *  inspired by Mark Andrews.
- * author:
- *  Paul Vixie, 1996.
- */
-static int
-inet_pton6(const char *src, u_char *dst)
-{
-    static const char xdigits_l[] = "0123456789abcdef",
-              xdigits_u[] = "0123456789ABCDEF";
-#define NS_IN6ADDRSZ    16
-#define NS_INT16SZ  2
-    u_char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp;
-    const char *curtok;
-    int ch, seen_xdigits;
-    u_int val;
-
-    memset((tp = tmp), '\0', NS_IN6ADDRSZ);
-    endp = tp + NS_IN6ADDRSZ;
-    colonp = NULL;
-    /* Leading :: requires some special handling. */
-    if (*src == ':')
-        if (*++src != ':')
-            return (0);
-    curtok = src;
-    seen_xdigits = 0;
-    val = 0;
-    while ((ch = *src++) != '\0') {
-      const char *xdigits, *pch;
-
-        if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL)
-            pch = strchr((xdigits = xdigits_u), ch);
-        if (pch != NULL) {
-            val <<= 4;
-            val |= (pch - xdigits);
-            if (++seen_xdigits > 4)
-                return (0);
-            continue;
-        }
-        if (ch == ':') {
-            curtok = src;
-            if (!seen_xdigits) {
-                if (colonp)
-                    return (0);
-                colonp = tp;
-                continue;
-            } else if (*src == '\0') {
-                return (0);
-            }
-            if (tp + NS_INT16SZ > endp)
-                return (0);
-            *tp++ = (u_char) (val >> 8) & 0xff;
-            *tp++ = (u_char) val & 0xff;
-            seen_xdigits = 0;
-            val = 0;
-            continue;
-        }
-        if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&
-            inet_pton4(curtok, tp) > 0) {
-            tp += NS_INADDRSZ;
-            seen_xdigits = 0;
-            break;  /*%< '\\0' was seen by inet_pton4(). */
-        }
-        return (0);
-    }
-    if (seen_xdigits) {
-        if (tp + NS_INT16SZ > endp)
-            return (0);
-        *tp++ = (u_char) (val >> 8) & 0xff;
-        *tp++ = (u_char) val & 0xff;
-    }
-    if (colonp != NULL) {
-        /*
-         * Since some memmove()'s erroneously fail to handle
-         * overlapping regions, we'll do the shift by hand.
-         */
-        const int n = tp - colonp;
-        int i;
-
-        if (tp == endp)
-            return (0);
-        for (i = 1; i <= n; i++) {
-            endp[- i] = colonp[n - i];
-            colonp[n - i] = 0;
-        }
-        tp = endp;
-    }
-    if (tp != endp)
-        return (0);
-    memcpy(dst, tmp, NS_IN6ADDRSZ);
-    return (1);
-}
-
-/*
- * Weak aliases for applications that use certain private entry points,
- * and fail to include <arpa/inet.h>.
- */
-#ifndef _WIN32
-#undef inet_pton
-__weak_reference(__inet_pton, inet_pton);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/xbmc/cores/DllLoader/exports/emu_socket/sockstorage.h b/xbmc/cores/DllLoader/exports/emu_socket/sockstorage.h
deleted file mode 100644 (file)
index e733328..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 1999 WIDE Project.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-struct sockaddr_storage {
-#ifdef HAVE_SOCKADDR_SA_LEN
-       u_int8_t ss_len;
-       u_int8_t ss_family;
-       u_int8_t fill[126];
-#else
-       u_int8_t ss_family;
-       u_int8_t fill[127];
-#endif /* HAVE_SOCKADDR_SA_LEN */
-};
index e8f354e..c3c3b62 100644 (file)
@@ -19,5 +19,3 @@
  */
 #pragma once
 #include <sys/socket.h>
-
-extern "C" int inet_pton(int af, const char *src, void *dst);