> From: Colm MacCarthaigh <[EMAIL PROTECTED]>

> Really the only remaining portability issue is the default behaviour of
> bind(::) (without any specific options set). 

In Symbian OS API, see

 
http://www.symbian.com/developer/techlib/v70docs/SDL_v7.0/doc_source/reference/cpp/Tcpip/

Bind to "any" (for incoming) has 3 choices

 1) Bind(::) - accept only IPv6
 2) Bind(0.0.0.0) - accept only IPv6
 3) Bind() - accept both IPv4 and IPv6

The case (3) may need some explanation: in Symbian the adddress and
port stored in class named TInetAddr (see the above link). This class
contains the address family, which can be

 (1) KAFInet6 (~ AF_INET6)
 (2) KAFInet  (~ AF_INET)
 (3) 0 ( unspecified)

In Symbian environment, application has really no need to explicitly
specify IPv4 or IPv6, and (3) is the best way to code. But, if someone
insists on doing things the "hard way", they can limit their
applications using either (1) or (2).

Above really has nothing to do with IPv4 mapped addresses. In symbian,
IPv4 address can be stored into TInetAddr either "traditionally" or as
IPv4 mapped format. They are *totally* equivalent, there is no
semantic difference at all. They are just two different formats for
the same thing.

However, IPV4 mapped format is important tool to make it possible to
share code between IPv4 and IPv6. Using IP4 Mapped addresses allows to
write single version of code that works as is for both IPv4 and IPv6.

The Symbian stack is full hybrid IPv4/IPv6 stack. As installed base,
the number of devices is rather large. But, then, they are small and
light. Perhaps it's not as large as kame+unix/linux if you compute
installed base in kilograms.. :-)


--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to