Chapter 13. The P.I.P.S. Architecture

Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it.

Alan Perlis

This chapter describes the architecture of P.I.P.S. An insight into the design and implementation of this framework will provide you with a better understanding of what the framework is capable of and what its limitations are. While you can generally rely on the architectural information presented in the chapter, implementation details of the various individual components may change as P.I.P.S. evolves.

The P.I.P.S. framework is composed of the following components: the backend, the core libraries, the addons, the stdcpp library, the emulator's writeable static data (WSD) library, the locale/stdio subsystems and the glue code. These components are shown in Figure 13.1.

The core libraries are those mandated by the POSIX standard on any compliant operating system: libc, libm, libpthread and libdl. The bulk of the code in libc and libm was ported from the FreeBSD libraries.[212] On the other hand, libpthread and libdl were written from scratch around native thread and DLL management interfaces.

The addons are utility libraries that were ported or written using the P.I.P.S. framework and made available on Symbian OS. These are included in the Symbian platform from the first release onward[213] but are also available as part of the Open C plug-in for earlier versions of Symbian OS with S60 3rd Edition. These include libcrypto, libcrypt, libssl, libz and ...

Get Porting to the Symbian Platform: Open Mobile Development in C/C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.