P.I.P.S.
# P.I.P.S.

P.I.P.S. is a term (recursive acronym) for Symbian software libraries, and means "P.I.P.S. Is POSIX on Symbian OS". It is intended to help C language programmers in migration of desktop and server middleware, applications to Symbian OS based mobile smartphone devices.

## Software libraries

The PIPS software libraries provides C and C++ application programming interfaces in standard C libraries such as

* POSIX
   * libc – The "C Standard Library" with system APIs mapped to Symbian OS APIs for better performance
   * libm – A mathematical library
   * libpthread – Implements POSIX-style threading support in terms of the underlying Symbian OS thread support
   * libdl – Implements POSIX-style dynamic linking which extends the dynamic loading model of Symbian OS
* LIBZ
   * libz
* OpenSSL
   * libcrypt
   * libcrypto
   * libssl
* GNOME
   * libglib

## Limitations

The P.I.P.S. environment does not support true signalling. Basic signal support is emulated using threads.

## Extensions and successors: Open C and Open C++

Open C and Open C++ are extensions by Nokia of P.I.P.S. In contrast to mere P.I.P.S., they were only for Series 60 phones.

## Naming

The name was the result of an internal competition in the Symbian Developer Marketing department, organised by Bruce Carney (Developer Marketing) and Erik Jacobson (Product Manager). The full-stops were inserted by Symbian's Legal department to ensure there were no trademark or copyright infringements.

