summaryrefslogtreecommitdiffstats
path: root/posix-compliance
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2018-02-14 17:16:00 -0600
committerJoel Sherrill <joel@rtems.org>2018-03-09 13:23:48 -0600
commit9c9ba8f8bce5ad05bc0affbca74e73bc7e8fe20d (patch)
tree25de474c4f17c8fe5f6fa540ce09bd2eb98ef1d5 /posix-compliance
parent5b76390b499c828c512f867766c7624b12de1885 (diff)
downloadrtems-docs-9c9ba8f8bce5ad05bc0affbca74e73bc7e8fe20d.tar.bz2
posix-compliance: Add description of standards
Diffstat (limited to 'posix-compliance')
-rw-r--r--posix-compliance/index.rst1
-rw-r--r--posix-compliance/preface.rst20
-rw-r--r--posix-compliance/standards.rst68
3 files changed, 84 insertions, 5 deletions
diff --git a/posix-compliance/index.rst b/posix-compliance/index.rst
index 2f03832..c7caee2 100644
--- a/posix-compliance/index.rst
+++ b/posix-compliance/index.rst
@@ -43,6 +43,7 @@ to the Community Project hosted at http://www.rtems.org/.
:numbered:
preface
+ standards
posix-compliance
glossary
zreferences
diff --git a/posix-compliance/preface.rst b/posix-compliance/preface.rst
index 48505d3..31f0a28 100644
--- a/posix-compliance/preface.rst
+++ b/posix-compliance/preface.rst
@@ -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
+fashion.
+
+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
index 0000000..46c636c
--- /dev/null
+++ b/posix-compliance/standards.rst
@@ -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**
+
+Standards
+=========
+
+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.