P.I.P.S.
Stable release |
1.7
/ 10 April 2010 |
---|---|
Written in | C, C++ |
Operating system | Symbian OS |
Type | Application programming interface |
License | ? |
P.I.P.S. is a term (recursive acronym) for Symbian software libraries that 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. [1] [2]
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 signals. This lack of support for signals means that IPC with signals is also not supported. Under P.I.P.S., I/O must be carried out in a synchronous manner.
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. [3]
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.
See also
References
- ↑ Symbian introduces POSIX libraries on Symbian OS
- ↑ "Symbian OS to gain POSIX libraries". Archived from the original on 2012-09-05.
- ↑ Wilcox, Mark and others, Porting to the Symbian Platform', pages 106-107, 2009, Wiley
External links
- P.I.P.S. - Nokia Developer Wiki - page does not exist
- A Guide To P.I.P.S. - Nokia Developer Wiki - page does not exist