|author||Joel Sherrill <firstname.lastname@example.org>||2018-02-14 17:16:00 -0600|
|committer||Joel Sherrill <email@example.com>||2018-03-09 13:23:48 -0600|
posix-compliance: Add description of standards
Diffstat (limited to 'posix-compliance')
3 files changed, 84 insertions, 5 deletions
diff --git a/posix-compliance/index.rst b/posix-compliance/index.rst
index 2f03832..c7caee2 100644
@@ -43,6 +43,7 @@ to the Community Project hosted at http://www.rtems.org/.
diff --git a/posix-compliance/preface.rst b/posix-compliance/preface.rst
index 48505d3..31f0a28 100644
@@ -26,8 +26,18 @@ a sensible fashion for an embedded environment while not returning
``ENOSYS`` (for not implemented) makes it significantly easier to port
code from a UNIX environment without modifying it.
-Each chapter in this document presents the alignment of RTEMS with
-a specific standard version or defined profile. Each section with a
-chapter details the alignment of a specific header file relative to the
-chapter's standard or profile. The implementation status of the items
-required by the standard are listed.
+In general, adding missing methods is always an open project for a
+volunteer. If considering addressing missing methods, please discuss
+this on mailing list. Some are properly implemented in the Newlib
+C Standard Library used by RTEMS. Others may require target architecture
+specific implementations. Still others may be impossible to implement
+without multiple processes or can only be implemented in a restricted
+The next chapter in this document describes each of the standards
+with which the RTEMS alignment is tracked. Each subsequent chapter in
+this document presents the alignment of RTEMS with a specific standard
+version or defined profile. Each section with a chapter details the
+alignment of a specific header file relative to the chapter's standard
+or profile. The implementation status of the items required by the
+standard are listed.
diff --git a/posix-compliance/standards.rst b/posix-compliance/standards.rst
new file mode 100644
@@ -0,0 +1,68 @@
+.. comment SPDX-License-Identifier: CC-BY-SA-4.0
+.. COMMENT: COPYRIGHT (c) 2018.
+.. COMMENT: On-Line Applications Research Corporation (OAR).
+ | **COPYRIGHT (c) 20188.**
+.. **RTEMS Foundation, The RTEMS Documentation Project**
+This chapter describes each of the standards which RTEMS tracks
+API alignment with. As a general rules, these standards are related
+to the POSIX or C programming language standards. Many are the result
+of domain specific efforts to define subsets or profiles or the full
+POSIX standard which are suitable for a specific domain. Each
+API set is considered a "profile" against which the full capability
+set of RTEMS is evaluated.
+The RTEMS Complete Profile is the complete set of POSIX, BSD, and
+C programming language methods supported by RTEMS. This profile is
+independent of any standard and represents a union of multiple
+standards. For example, RTEMS supports BSD derived methods that
+are not in POSIX.
+The IEEE Std 1003.1-2008 API is the 2008 edition of the POSIX standard.
+It is an update from the 2003 edition. Each edition of the POSIX standard
+tends to add some methods, deprecate some methods, and obsolete
+(e.g. remove) other methods.
+PSE51 through PSE54 are Open Group defined profiles of the 2003 edition
+of the POSIX standard. These profiles are:
+* Profile 54 - Multipurpose
+ * 1003.1-2003 Base Multi-process, Threads and File System
+* Profile 53 - Dedicated
+ * Multi-process, Threads and File System
+* Profile 52 - Controller
+ * Single Process, Threads, and File System
+* Profile 51 - Minimal
+ * Single Process, Threads, with No File System
+The C99 Programming Language standard defines the Standard C Library. This
+library is largely included by reference in the POSIX standard.
+The Open Group FACE Consortium has defined four POSIX profiles targetting
+the avionics application domain. The FACE Technical Standard has been
+through multiple revisions and the POSIX API profiles are identical in
+Editions 1.0, 2.0, and 2.1. They are as follows:
+* Security - 163 APIs, single process, no FILE *
+* Safety Basic - 246 APIs, single process, some FILE *
+* Safety Extended - 335 APIs, multi-process, more FILE *
+* General Purpose - 812 APIs, multi-process, much more
+RTEMS provides all of the methods required by the FACE Safety BASE profile
+and all of the methods in the Safety Extended profile which do not require
+multiple processes. Similarly, RTEMS provides most of the methods in the
+General Purpose profile which do not require multiple processes.