Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2007-02-01 18:54:40 +0300
committerCorinna Vinschen <corinna@vinschen.de>2007-02-01 18:54:40 +0300
commit4815dd49bb1483af60dad347ff351db13178a21e (patch)
treea23c35f243dd38e078a7a649a896713c9ccb08f3 /winsup/cygwin/wincap.cc
parent328166424516fa793c932a9caa3305ad240490bf (diff)
* net.cc (ga_dup): New function, taken from ga_clone with v4-in-v6
mapping addition. (ga_clone): Just call ga_dup from here. (ga_duplist): New function to duplicate list of struct addrinfo. (ga_echeck): Don't check a_flags, it already happened in cygwin_getaddrinfo. (cygwin_freeaddrinfo): Always call ipv4_freeaddrinfo. (cygwin_getaddrinfo): Use new wincap.supports_all_posix_ai_flags flag rather than wincap.has_gaa_on_link_prefix. Always duplicate WinSock's addrinfo list to a self-allocated list. Handle AI_V4MAPPED for pre-Vista platforms supporting getaddrinfo. * wincap.h (wincapc::supports_all_posix_ai_flags): New element. * wincap.cc: Implement above element throughout. * include/netdb.h: Note how AI_ADDRCONFIG is not supported pre-Vista. Remove superfluous comment.
Diffstat (limited to 'winsup/cygwin/wincap.cc')
-rw-r--r--winsup/cygwin/wincap.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 7e9f71069..b26c78f84 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -74,6 +74,7 @@ static NO_COPY wincaps wincap_unknown = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_95 = {
@@ -139,6 +140,7 @@ static NO_COPY wincaps wincap_95 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_95osr2 = {
@@ -204,6 +206,7 @@ static NO_COPY wincaps wincap_95osr2 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_98 = {
@@ -269,6 +272,7 @@ static NO_COPY wincaps wincap_98 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_98se = {
@@ -334,6 +338,7 @@ static NO_COPY wincaps wincap_98se = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_me = {
@@ -399,6 +404,7 @@ static NO_COPY wincaps wincap_me = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_nt3 = {
@@ -464,6 +470,7 @@ static NO_COPY wincaps wincap_nt3 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_nt4 = {
@@ -529,6 +536,7 @@ static NO_COPY wincaps wincap_nt4 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_nt4sp4 = {
@@ -594,6 +602,7 @@ static NO_COPY wincaps wincap_nt4sp4 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_2000 = {
@@ -659,6 +668,7 @@ static NO_COPY wincaps wincap_2000 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_xp = {
@@ -724,6 +734,7 @@ static NO_COPY wincaps wincap_xp = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_2003 = {
@@ -789,6 +800,7 @@ static NO_COPY wincaps wincap_2003 = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
+ supports_all_posix_ai_flags:false,
};
static NO_COPY wincaps wincap_vista = {
@@ -854,6 +866,7 @@ static NO_COPY wincaps wincap_vista = {
has_recycle_dot_bin:true,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:true,
+ supports_all_posix_ai_flags:true,
};
wincapc wincap __attribute__((section (".cygwin_dll_common"), shared));