Jump to content

Ada Programming/Platform/POSIX

From Wikibooks, open books for an open world

POSIX.5 is an IEEE (IEEE Standard 1003.5b-1996) and ISO (ISO/IEC 14519:2001) standard defining an Ada interface to the POSIX system calls. The scope for the standard is the same as in POSIX.1 (C API) but defines a thick binding for the interface, thus benefiting from Ada features. Some functionality provided by POSIX.1, but already present in Ada, is skipped.

There exists an open-source implementation for GNAT called Florist (Florida State University/Forest), originally written by the Florida State University and eventually maintained by AdaCore.

The following compilers are known to provide an implementation of the standard: ObjectAda for Linux [1], GNAT [2], MAXAda [3] and PowerAda [4]. There is an implementation for GNAT over Windows called wPOSIX (formerly Win32POSIX).

[edit | edit source]
Author
Formerly Florida State University, now Adacore
Project Info
https://github.com/AdaCore/florist/
Download
https://github.com/AdaCore/florist/releases


[edit | edit source]
Author
Pascal Obry and AdaCore.
Project Info
https://github.com/AdaCore/wposix/
Download
https://github.com/AdaCore/wposix/releases


[edit | edit source]

Standards

[edit | edit source]

Tutorial

[edit | edit source]
  • POSIX in Ada — Appendix to “Understanding Unix/Linux Programming”. Includes complete examples.

ISO Working Group

[edit | edit source]
  • The ISO standard was considered for revision in 2006 [5]. A list of POSIX functions (including XSI functions, also known as SysV IPC) not currently supported by the Ada standard was identified as possible expansion [6].
  • In 2013, the working group states that the update effort has been cancelled [7] due to low adoption.

Historical and background information

[edit | edit source]