Cygwin/w32api IPv6 extention 2007/02/10 Jun-ya Kato kato@win6.jp Microsoft Windows XP has initially IPv6 function. Also Microsoft has developed IPv6 protocol stack and SDK for Windows 2000. Currently, although IPv6 stack is on technology preview stage, basic APIs in RFC2553 are ready to use. Cygwin IPv6 extention use these APIs to provides some of APIs in RFC2553 for Cygwin/Mingw+w32api programming environment. Implemented APIs are listed as following: types expressing address and constants struct in6_addr struct sockaddr_in6 struct sockaddr_storage struct addrinfo struct in6_addr in6addr_loopback, in6addr_any functions getaddrinfo() gai_strerror() freeaddrinfo() getnameinfo() gethostbyname2() (incomplete) inet_pton() inet_ntop() address test functions (implemented with pre-processor macro) IN6_IS_ADDR_LOOPBACK() IN6_IS_ADDR_UNSPECIFIED() ... Our Development Platform: - Windows XP Professional - Cygwin-1.5.24-2 - gcc-3.4.4 Tested Network Applications: The latest application list is shown on http://win6.jp/Cygwin/index.html. Current List: openssh-4.5p1 inetutils-1.3.2-14 + IPv6 patch (*1) cvs-1.11.0-1 + IPv6 patch(*2) wget-1.6 + IPv6 patch(*2) ncftp-3.0.3 + IPv6 patch(*2) rsync-2.4.6 + IPv6 patch(*2) ruby-1.6.2 w3m-0.1.10 for Mingw+w32api Emacs 21.1 (*1) (*1) IPv6 patch is avaliable on http://win6.jp/Cygwin/ (*2) IPv6 patches are provided by KAME project. http://www.kame.net/ Installation: untar under archive at cygwin root directory bin/cygwin1.dll (*) lib/lib*.a lib/w32api/lib*.a usr/include/* (*) rename new-cygwin1.dll to cygwin1.dll and all applications using cygwin1.dll must be terminated before copying. Not Implemented Features: IPv6 extention still is on very tentative stage and doesn't have many implemented features. -IPsec and Multicast aren't supported -ioctl for network interfaces. (eg. get IPv6 address) -Mingw+w32api isn't functional -gethostbyaddr(..., AF_INET6): if address family AF_INET6 is given on Windows 2000, it can't return correct hostent.