diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-6590B534-D976-5305-BE95-48DD05120DFB.dita --- a/Symbian3/SDK/Source/GUID-6590B534-D976-5305-BE95-48DD05120DFB.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-6590B534-D976-5305-BE95-48DD05120DFB.dita Thu Mar 11 15:24:26 2010 +0000 @@ -18,7 +18,7 @@
  • Socket IOCtl options

  • Mathematical functions

  • Error handling and cleanup

  • System logger

  • Pthread barriers, rwlocks and spinlocks

  • @@ -122,9 +122,9 @@ return EXIT_SUCCESS; }
    Socket IOCtl -options

    The underlying implementation of sockets on Symbian platform -imposes some restrictions on the socket options available in P.I.P.S. and -has also resulted in some new non-standard options to be created.

    The +options

    The underlying implementation of sockets on the Symbian +platform imposes some restrictions on the socket options available in P.I.P.S. +and has also resulted in some new non-standard options to be created.

    The introduction of multi-homing (single link, multiple IP addresses) on Symbian phones and the various methods of connecting to networks, such as Wi-Fi and 3G, with their varying degrees of cost to the user have made it important @@ -252,27 +252,27 @@ return Sock; }

    Mathematical -functions

    Symbian platform does not have any support for long doubles -so any P.I.P.S. programs which call long double versions of APIs will actually -invoke the double version of the API.

    Symbian platform supports the -use of a hardware floating point co-processor, however not all phones incorporate -an FPU (Floating Point Unit) and rely on software emulation of floating point -operations. Phones and computers equipped with an FPU provide faster and more -accurate floating point operations.

    Symbian platform does not support -complex numbers so the P.I.P.S. libraries are not able to offer the POSIX -complex number APIs.

    Note: The mathematical functions are -included in the libm.dll file.

    +functions

    The Symbian platform does not have any support for long +doubles so any P.I.P.S. programs which call long double versions of APIs will +actually invoke the double version of the API.

    The Symbian platform +supports the use of a hardware floating point co-processor, however not all +phones incorporate an FPU (Floating Point Unit) and rely on software emulation +of floating point operations. Phones and computers equipped with an FPU provide +faster and more accurate floating point operations.

    The Symbian platform +does not support complex numbers so the P.I.P.S. libraries are not able to +offer the POSIX complex number APIs.

    Note: The mathematical +functions are included in the libm.dll file.

    Error handling -and cleanup

    It is important that Symbian platform error codes do -not reach any ported application code. P.I.P.S. logically maps the native +and cleanup

    It is important that the Symbian platform error codes +do not reach any ported application code. P.I.P.S. logically maps the native OS error codes with the corresponding POSIX errno values as per the standard. So, ported programs will not usually have to alter their error checking/handling.

    Mapping -P.I.P.S. error codes to Symbian platform error codes

    Porting your -application to Symbian platform requires 'translating' Symbian platform error -codes to POSIX error codes. User::Leaves() from native -Symbian APIs are trapped in P.I.P.S.. Calls to P.I.P.S. APIs from user code -need not be wrapped in TRAP s.

    Occasionally +P.I.P.S. error codes to the Symbian platform error codes

    Porting +your application to the Symbian platform requires 'translating' the Symbian +platform error codes to POSIX error codes. User::Leaves() from +native Symbian APIs are trapped in P.I.P.S.. Calls to P.I.P.S. APIs from user +code need not be wrapped in TRAP s.

    Occasionally errors may be generated by the underlying Symbian platform that cannot be translated to POSIX error codes, in which case the error variable errno will be out of the usual range of values, above the maximum value of __EMAXERRNO or 124.

    The @@ -653,7 +653,7 @@ /**

    Command line -shell

    Symbian platform phones do not have a command line shell +shell

    The Symbian platform phones do not have a command line shell as standard. P.I.P.S. does however support the stdin(), stdout() and stderr() standard streams, enabling parent processes to redirect a child's standard streams for the exchange of data. Without explicitly redirecting the standard streams, @@ -666,11 +666,11 @@ libraries such as GTK. P.I.P.S., however, does not have its own UI libraries, so any P.I.P.S. based applications that require UI functionality must rely on the UI from the device manufacturer. As a consequence, for any UI program -that uses P.I.P.S., there must be an interaction between Symbian platform +that uses P.I.P.S., there must be an interaction between the Symbian platform native C++ and P.I.P.S. C code.

    One Definition Rule - warning

    Standard C++ states that the One Definition -Rule (ODR) must be maintained within a program.

    Symbian +Rule (ODR) must be maintained within a program.

    The Symbian platform can neither check (without significant modifications) that the ODR is violated nor use the technique called symbol pre-emption to ensure that the ODR is enforced.

    Therefore, you must take care and must not assume