POSIX

This website contains an overview on POSIX support for various operating systems.

On this moment, you can only see the constants which are available. However, those also tell a lot about the availability of POSIX functions. The knowledge about these functions themselves may be presented in a later stage.

It is certainly work in progress, in its early stages.

results

Why?

While developing on a certain platform, you can easily find which POSIX features are supported on the system and how they are to be used: read the manual pages. When you need to port that code to an other platform, you will certainly discover incompatibilities. The fact that it is intended not to work can be found in the manual pages on that target platform. Who reads all manual pages beforehand? Incompatibility detection comes inconveniently late in the process.

You can find websites which collect manual-pages... but they do not easily tell you which feature is available where: the reverse mapping of the content of these manuals. This website tries to fill that gap.

Approach

To collect POSIX details, we use two external components:

  1. Perl's POSIX::1003 module, which (tries to) autodetects information about the platform where the module gets installed.
  2. cpantesters, a marvelous infrastructure: a network of many systems with a wide variety of hardware and operating systems. Cpantester systems test all modules which get released to CPAN (Perl's famous module archive)

Cpantesters produce test reports, which are collected in a central store. Module authors get automatically informed about test failures. Reports about POSIX::1003 are used to derive the POSIX features supported by any particular platform. Composed from the installation feedback.

About POSIX::1003

Perl module POSIX::1003 attempts to replace the POSIX.pm module as included in Perl's distribution.

POSIX::1003 contains lists with thousands of constants which may be available on some platform. It also provides access to many system functions. The basic function list of the POSIX standard is stable for quite a long time, but platforms did add many flags (constants) over time.