summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetze <metze@0c0555d6-39d7-0310-84fc-f1cc0bd64818>2007-10-25 06:53:38 +0000
committerStefan Metzmacher <metze@samba.org>2007-10-25 15:53:44 +0200
commit899f921c722bb99c04598caa227edb4e4a1093e8 (patch)
treec23465c13c690ed63f01a2583886f34d46f3b9c0
parent800ca5179261af3137d319ad72507e26dc7c7d7f (diff)
downloadsamba-899f921c722bb99c04598caa227edb4e4a1093e8.tar.gz
samba-899f921c722bb99c04598caa227edb4e4a1093e8.tar.bz2
samba-899f921c722bb99c04598caa227edb4e4a1093e8.zip
- include getaddrinfo.h after we have defined struct addrinfo
- use rep_ instead of pg_ as prefix in getaddrinfo.[ch] - define HAVE_<name> macros when we replace functions metze git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25724 0c0555d6-39d7-0310-84fc-f1cc0bd64818 (This used to be commit e56977ea459b3615d33237d19ed8e7ad8b509853)
-rw-r--r--source3/lib/replace/getaddrinfo.c8
-rw-r--r--source3/lib/replace/getaddrinfo.h23
-rw-r--r--source3/lib/replace/system/network.h9
3 files changed, 24 insertions, 16 deletions
diff --git a/source3/lib/replace/getaddrinfo.c b/source3/lib/replace/getaddrinfo.c
index 0bff746797..063bacd026 100644
--- a/source3/lib/replace/getaddrinfo.c
+++ b/source3/lib/replace/getaddrinfo.c
@@ -253,7 +253,7 @@ static int getaddr_info_name(const char *node,
* Bugs: - servname can only be a number, not text.
*/
-int getaddrinfo(const char *node,
+int rep_getaddrinfo(const char *node,
const char *service,
const struct addrinfo * hintp,
struct addrinfo ** res)
@@ -315,7 +315,7 @@ int getaddrinfo(const char *node,
}
-void freeaddrinfo(struct addrinfo *res)
+void rep_freeaddrinfo(struct addrinfo *res)
{
struct addrinfo *next = NULL;
@@ -332,7 +332,7 @@ void freeaddrinfo(struct addrinfo *res)
}
-const char *gai_strerror(int errcode)
+const char *rep_gai_strerror(int errcode)
{
#ifdef HAVE_HSTRERROR
int hcode;
@@ -468,7 +468,7 @@ static int getservicenameinfo(const struct sockaddr *sa,
*
* Bugs: - No IPv6 support.
*/
-int getnameinfo(const struct sockaddr *sa, socklen_t salen,
+int rep_getnameinfo(const struct sockaddr *sa, socklen_t salen,
char *node, size_t nodelen,
char *service, size_t servicelen, int flags)
{
diff --git a/source3/lib/replace/getaddrinfo.h b/source3/lib/replace/getaddrinfo.h
index 47a62eb8b2..dddd699b62 100644
--- a/source3/lib/replace/getaddrinfo.h
+++ b/source3/lib/replace/getaddrinfo.h
@@ -37,6 +37,9 @@ TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
* struct definitions needed to call it. To avoid conflict with the libbind
* definition in such cases, we rename our routines to pg_xxx() via macros.
*
+
+in lib/replace we use rep_xxx()
+
* This code will also work on platforms where struct addrinfo is defined
* in the system headers but no getaddrinfo() can be located.
*
@@ -53,28 +56,32 @@ TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#ifdef getaddrinfo
#undef getaddrinfo
#endif
-#define getaddrinfo pg_getaddrinfo
+#define getaddrinfo rep_getaddrinfo
+#define HAVE_GETADDRINFO
#ifdef freeaddrinfo
#undef freeaddrinfo
#endif
-#define freeaddrinfo pg_freeaddrinfo
+#define freeaddrinfo rep_freeaddrinfo
+#define HAVE_FREEADDRINFO
#ifdef gai_strerror
#undef gai_strerror
#endif
-#define gai_strerror pg_gai_strerror
+#define gai_strerror rep_gai_strerror
+#define HAVE_GAI_STRERROR
#ifdef getnameinfo
#undef getnameinfo
#endif
-#define getnameinfo pg_getnameinfo
+#define getnameinfo rep_getnameinfo
+#define HAVE_GETNAMEINFO
-extern int getaddrinfo(const char *node, const char *service,
+extern int rep_getaddrinfo(const char *node, const char *service,
const struct addrinfo * hints, struct addrinfo ** res);
-extern void freeaddrinfo(struct addrinfo * res);
-extern const char *gai_strerror(int errcode);
-extern int getnameinfo(const struct sockaddr * sa, socklen_t salen,
+extern void rep_freeaddrinfo(struct addrinfo * res);
+extern const char *rep_gai_strerror(int errcode);
+extern int rep_getnameinfo(const struct sockaddr * sa, socklen_t salen,
char *node, size_t nodelen,
char *service, size_t servicelen, int flags);
#endif /* HAVE_GETADDRINFO */
diff --git a/source3/lib/replace/system/network.h b/source3/lib/replace/system/network.h
index 44a1dcc8e1..5de363f134 100644
--- a/source3/lib/replace/system/network.h
+++ b/source3/lib/replace/system/network.h
@@ -93,10 +93,6 @@ int rep_inet_pton(int af, const char *src, void *dst);
const char *rep_inet_ntop(int af, const void *src, char *dst, socklen_t size);
#endif
-#if !defined(HAVE_GETADDRINFO)
-#include "getaddrinfo.h"
-#endif
-
/*
* Some systems have getaddrinfo but not the
* defines needed to use it.
@@ -212,6 +208,7 @@ typedef unsigned short int sa_family_t;
#endif
#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
+#define HAVE_STRUCT_SOCKADDR_STORAGE
#ifdef HAVE_STRUCT_SOCKADDR_IN6
#define sockaddr_storage sockaddr_in6
#define ss_family sin6_family
@@ -235,6 +232,10 @@ struct addrinfo {
};
#endif /* HAVE_STRUCT_ADDRINFO */
+#if !defined(HAVE_GETADDRINFO)
+#include "getaddrinfo.h"
+#endif
+
#ifdef SOCKET_WRAPPER
#ifndef SOCKET_WRAPPER_NOT_REPLACE
#define SOCKET_WRAPPER_REPLACE