KDECore
Go to the documentation of this file. 27 #include <config-network.h> 29 #include <sys/socket.h> 38 #define AF_LOCAL AF_UNIX 39 #define PF_LOCAL PF_UNIX 43 #define kde_in6_addr in6_addr 44 #define kde_sockaddr_in6 sockaddr_in6 64 #ifdef HAVE_STRUCT_SOCKADDR_SA_LEN 67 #else //HAVE_STRUCT_SOCKADDR_SA_LEN 78 #define KDE_IN6_IS_ADDR_UNSPECIFIED(a) \ 79 (((quint32 *) (a))[0] == 0 && ((quint32 *) (a))[1] == 0 && \ 80 ((quint32 *) (a))[2] == 0 && ((quint32 *) (a))[3] == 0) 82 #define KDE_IN6_IS_ADDR_LOOPBACK(a) \ 83 (((quint32 *) (a))[0] == 0 && ((quint32 *) (a))[1] == 0 && \ 84 ((quint32 *) (a))[2] == 0 && ((quint32 *) (a))[3] == htonl (1)) 86 #define KDE_IN6_IS_ADDR_MULTICAST(a) (((u_int8_t *) (a))[0] == 0xff) 88 #define KDE_IN6_IS_ADDR_LINKLOCAL(a) \ 89 ((((quint32 *) (a))[0] & htonl (0xffc00000)) == htonl (0xfe800000)) 91 #define KDE_IN6_IS_ADDR_SITELOCAL(a) \ 92 ((((quint32 *) (a))[0] & htonl (0xffc00000)) == htonl (0xfec00000)) 94 #define KDE_IN6_IS_ADDR_V4MAPPED(a) \ 95 ((((quint32 *) (a))[0] == 0) && (((quint32 *) (a))[1] == 0) && \ 96 (((quint32 *) (a))[2] == htonl (0xffff))) 98 #define KDE_IN6_IS_ADDR_V4COMPAT(a) \ 99 ((((quint32 *) (a))[0] == 0) && (((quint32 *) (a))[1] == 0) && \ 100 (((quint32 *) (a))[2] == 0) && (ntohl (((quint32 *) (a))[3]) > 1)) 102 #define KDE_IN6_ARE_ADDR_EQUAL(a,b) \ 103 ((((quint32 *) (a))[0] == ((quint32 *) (b))[0]) && \ 104 (((quint32 *) (a))[1] == ((quint32 *) (b))[1]) && \ 105 (((quint32 *) (a))[2] == ((quint32 *) (b))[2]) && \ 106 (((quint32 *) (a))[3] == ((quint32 *) (b))[3])) 108 #define KDE_IN6_IS_ADDR_MC_NODELOCAL(a) \ 109 (KDE_IN6_IS_ADDR_MULTICAST(a) && ((((quint8 *) (a))[1] & 0xf) == 0x1)) 111 #define KDE_IN6_IS_ADDR_MC_LINKLOCAL(a) \ 112 (KDE_IN6_IS_ADDR_MULTICAST(a) && ((((quint8 *) (a))[1] & 0xf) == 0x2)) 114 #define KDE_IN6_IS_ADDR_MC_SITELOCAL(a) \ 115 (KDE_IN6_IS_ADDR_MULTICAST(a) && ((((quint8 *) (a))[1] & 0xf) == 0x5)) 117 #define KDE_IN6_IS_ADDR_MC_ORGLOCAL(a) \ 118 (KDE_IN6_IS_ADDR_MULTICAST(a) && ((((quint8 *) (a))[1] & 0xf) == 0x8)) 120 #define KDE_IN6_IS_ADDR_MC_GLOBAL(a) \ 121 (KDE_IN6_IS_ADDR_MULTICAST(a) && ((((quint8 *) (a))[1] & 0xf) == 0xe)) 123 #ifdef NEED_IN6_TESTS 124 # define IN6_IS_ADDR_UNSPECIFIED KDE_IN6_IS_ADDR_UNSPECIFIED 125 # define IN6_IS_ADDR_LOOPBACK KDE_IN6_IS_ADDR_LOOPBACK 126 # define IN6_IS_ADDR_MULTICAST KDE_IN6_IS_ADDR_MULTICAST 127 # define IN6_IS_ADDR_LINKLOCAL KDE_IN6_IS_ADDR_LINKLOCAL 128 # define IN6_IS_ADDR_SITELOCAL KDE_IN6_IS_ADDR_SITELOCAL 129 # define IN6_IS_ADDR_V4MAPPED KDE_IN6_IS_ADDR_V4MAPPED 130 # define IN6_IS_ADDR_V4COMPAT KDE_IN6_IS_ADDR_V4COMPAT 131 # define IN6_ARE_ADDR_EQUAL KDE_IN6_ARE_ADDR_EQUAL 132 # define IN6_IS_ADDR_MC_NODELOCAL KDE_IN6_IS_ADDR_MC_NODELOCAL 133 # define IN6_IS_ADDR_MC_LINKLOCAL KDE_IN6_IS_ADDR_MC_LINKLOCAL 134 # define IN6_IS_ADDR_MC_SITELOCAL KDE_IN6_IS_ADDR_MC_SITELOCAL 135 # define IN6_IS_ADDR_MC_ORGLOCAL KDE_IN6_IS_ADDR_MC_ORGLOCAL 136 # define IN6_IS_ADDR_MC_GLOBAL KDE_IN6_IS_ADDR_MC_GLOBAL 142 #define KAI_LOCALUNIX 1 161 extern KDECORE_EXPORT
int kde_getaddrinfo(
const char *name,
const char *service,
166 #if !defined(HAVE_GETADDRINFO) || defined(HAVE_BROKEN_GETADDRINFO) 168 # ifndef HAVE_STRUCT_ADDRINFO 188 # undef AI_NUMERICHOST 192 # define AI_PASSIVE 1 193 # define AI_CANONNAME 2 194 # define AI_NUMERICHOST 4 196 # ifdef EAI_ADDRFAMILY 197 # undef EAI_ADDRFAMILY 211 # ifndef EAI_ADDRFAMILY 212 # define EAI_ADDRFAMILY 1 217 # ifndef EAI_BADFLAGS 218 # define EAI_BADFLAGS 3 224 # define EAI_FAMILY 5 227 # define EAI_MEMORY 6 230 # define EAI_NODATA 7 233 # define EAI_NONAME 8 236 # define EAI_SERVICE 9 238 # ifndef EAI_SOCKTYPE 239 # define EAI_SOCKTYPE 10 242 # define EAI_SYSTEM 11 250 # define NI_MAXHOST 1025 251 # define NI_MAXSERV 32 253 # ifdef NI_NUMERICHOST 254 # undef NI_NUMERICHOST 255 # undef NI_NUMERICSERV 261 # define NI_NUMERICHOST 1 262 # define NI_NUMERICSERV 2 264 # define NI_NAMEREQD 8 286 extern KDECORE_EXPORT
int getaddrinfo(
const char *name,
const char *service,
292 extern KDECORE_EXPORT
int getnameinfo(
const struct sockaddr *sa,
294 char *host,
size_t hostlen,
295 char *serv,
size_t servlen,
299 # ifndef HAVE_GAI_STRERROR_PROTO 301 extern KDECORE_EXPORT
char *
gai_strerror(
int errorcode);
304 # define getaddrinfo KDE::getaddrinfo 305 # define freeaddrinfo KDE::freeaddrinfo 306 # define getnameinfo KDE::getnameinfo 311 #ifndef HAVE_INET_PTON 316 extern KDECORE_EXPORT
int inet_pton(
int af,
const char *cp,
void* buf);
319 # define inet_pton KDE::inet_pton 322 #ifndef HAVE_INET_NTOP 327 extern KDECORE_EXPORT
const char*
inet_ntop(
int af,
const void *cp,
char *buf,
size_t len);
330 # define inet_ntop KDE::inet_ntop
unsigned char __u6_addr[16]
void kde_freeaddrinfo(struct kde_addrinfo *p)
char * gai_strerror(int errorcode)
struct addrinfo * ai_next
int kde_getaddrinfo(const char *name, const char *service, const struct addrinfo *hint, struct kde_addrinfo **result)
struct sockaddr * ai_addr
This file is part of the KDE documentation.
Documentation copyright © 1996-2017 The KDE developers.
Generated on Thu Jun 15 2017 13:46:46 by
doxygen 1.8.13 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.