summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-03-02 03:43:50 -0500
committerIan Moffett <ian@osmora.org>2025-03-02 03:43:50 -0500
commitffc00cc614cd10e106389fba21a952b5c5fe7c62 (patch)
tree5cfd48a3fc254f6485e1286d7725eff52a422093
parentf70085028976dc73aa701583f2f7b827db6eec04 (diff)
OAP: Add OAP-0002-DRAFT (OUSI)
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r--kd/oap-0002.md73
1 files changed, 73 insertions, 0 deletions
diff --git a/kd/oap-0002.md b/kd/oap-0002.md
new file mode 100644
index 0000000..e8b8fef
--- /dev/null
+++ b/kd/oap-0002.md
@@ -0,0 +1,73 @@
+---
+stand_alone: true
+ipr: none
+cat: info
+area: Systems Engineering
+wg: OSMORA Standards Group
+
+docname: OAP-0002-DRAFT
+
+title: OSMORA Uniform System Interface
+abbrev: OUSI
+lang: en
+kw:
+ - oap
+ - amelioration
+author:
+- role: editor
+ name: Ian M. Moffett
+ org: OSMORA
+ city: Washington, DC
+ region: Southeast
+ code: 20020
+ email: ian@osmora.org
+
+--- abstract
+
+OSMORA Uniform System Interface is a POSIX replacement for modern computing.
+
+--- middle
+
+# Introduction
+
+POSIX is a foundational standard and has evolved alongside the rapidly changing world of
+computing. However as things increasingly advance, it is becoming growingly reasonable to
+consider POSIX outdated. Despite its inherent challenges and limitations, the POSIX standard
+is still an essential component within many operating systems today. The OUSI standard aims to
+replace POSIX while still mantaining compatibility with legacy POSIX applications.
+
+## Purpose
+
+The goal of OUSI is to replace POSIX by being more flexible, intuitive and simplified while
+still supporting legacy POSIX applications through compatibility mechanisms such as _POSIXSHIM.
+
+
+# Requirements Language
+
+{::boilerplate bcp14-tagged}
+
+# Compatability
+
+OUSI maintains compatibility through its _POSIXSHIM layer. In order for legacy
+POSIX applications to work with OUSI, they must link with the necessary compatibility
+libraries and expose legacy POSIX mechanisms by defining "_POSIXSHIM" globally.
+
+# Standard C library headers
+
+Standard C library headers should be written with OUSI in mind while exposing
+legacy POSIX mechanisms if requested.
+
+## Example of stdio.h
+
+~~~~~~~~~~~
+#ifndef _STDIO_BRIDGE_H_
+#define _STDIO_BRIDGE_H_ 1
+
+#if !defined(_POSIXSHIM)
+#include <ousi/stdio.h>
+#else
+#include <posixshim/stdio.h>
+#endif
+...
+#endif /* !_STDIO_BRIDGE_H_ */
+~~~~~~~~~~~