* autoload.cc (WSAIoctl): Remove.

* cygwin.din: Export freeifaddrs, getifaddrs.
	* fhandler_socket.cc (fhandler_socket::ioctl): Drop SOCKET parameter
	from get_ifconf.
	* net.cc: Include ifaddrs.h.
	(in_are_prefix_equal): Match addresses in network byte order.
	(ip_addr_prefix): Convert address into host byte order before
	testing with IN_LOOPBACK.
	(struct ifall): Define.
	(get_xp_ifs): Replace get_xp_ifconf.  Return struct ifall array.
	(get_2k_ifs): Ditto, replace get_2k_ifconf.
	(get_nt_ifs): Ditto, replace get_nt_ifconf.
	(getifaddrs): New function.
	(freeifaddrs): New function.
	(get_ifconf): Call matching get_XX_ifs function and create
	ifc content from here.  Drop lo fake since it's now in get_nt_ifs.
	* posix.sgml: Add freeifaddrs and getifaddrs to list of implemented
	BSD functions.
	* wincap.h (wincapc::has_broken_if_oper_status): New element.
	* wincap.cc: Implement above element throughout.
	* include/ifaddrs.h: New file.
	* include/cygwin/version.h: Bump API minor number.
This commit is contained in:
Corinna Vinschen
2007-06-21 15:57:54 +00:00
parent d3c73d4999
commit a71ecb55de
10 changed files with 657 additions and 465 deletions

View File

@@ -18,6 +18,7 @@ static NO_COPY wincaps wincap_unknown = {
is_server:false,
has_security_descriptor_control:false,
has_ip_helper_lib:false,
has_broken_if_oper_status:false,
has_physical_mem_access:true,
has_process_io_counters:false,
has_terminal_services:false,
@@ -45,6 +46,7 @@ static NO_COPY wincaps wincap_nt4 = {
is_server:false,
has_security_descriptor_control:false,
has_ip_helper_lib:false,
has_broken_if_oper_status:false,
has_physical_mem_access:true,
has_process_io_counters:false,
has_terminal_services:false,
@@ -72,6 +74,7 @@ static NO_COPY wincaps wincap_nt4sp4 = {
is_server:false,
has_security_descriptor_control:false,
has_ip_helper_lib:true,
has_broken_if_oper_status:true,
has_physical_mem_access:true,
has_process_io_counters:false,
has_terminal_services:false,
@@ -99,6 +102,7 @@ static NO_COPY wincaps wincap_2000 = {
is_server:false,
has_security_descriptor_control:true,
has_ip_helper_lib:true,
has_broken_if_oper_status:false,
has_physical_mem_access:true,
has_process_io_counters:true,
has_terminal_services:true,
@@ -126,6 +130,7 @@ static NO_COPY wincaps wincap_xp = {
is_server:false,
has_security_descriptor_control:true,
has_ip_helper_lib:true,
has_broken_if_oper_status:false,
has_physical_mem_access:true,
has_process_io_counters:true,
has_terminal_services:true,
@@ -153,6 +158,7 @@ static NO_COPY wincaps wincap_2003 = {
is_server:true,
has_security_descriptor_control:true,
has_ip_helper_lib:true,
has_broken_if_oper_status:false,
has_physical_mem_access:false,
has_process_io_counters:true,
has_terminal_services:true,
@@ -180,6 +186,7 @@ static NO_COPY wincaps wincap_vista = {
is_server:false,
has_security_descriptor_control:true,
has_ip_helper_lib:true,
has_broken_if_oper_status:false,
has_physical_mem_access:false,
has_process_io_counters:true,
has_terminal_services:true,