Ada POSIX 绑定和 IPC 的几套 POSIX 接口

Ada POSIX binding and several set of POSIX interfaces for IPC

我正在查看 GNAT 的标准 Ada POSIX binding, and the Florist 实施。目的是评估遗留应用程序是否可以从其自身使用 C POSIX 函数的 pragma Import 移植到使用标准绑定。最后 objective 是为了能够在 Solaris 和 Linux 中重新编译应用程序而无需更改源代码。我怀疑在 UNIX 传统中用于进程间通信功能的几组接口,如信号量、消息队列等。Florist 正在导入这些 C 函数:

当应用程序正在导入这些其他集合时: - 信号量:semget semop semctl - 消息队列:msgctl msgrcv msgsnd

一些sources defines the set used by the application as System V and not POSIX, while in others they are declared as standardized by IEEE Std 1003.1-2001,显然是POSIX。

我的问题是:

在 ASE 集合中,有两个 POSIX 绑定。 Posix1, Posix2 如链接;然而,值得注意的是,ASE 系列是在 2000 年之前推出的,因此不会有这些修订。

我做了一些研究,从 ISO working group dedicated to Ada. In document Initial Work Scope Summary for updating Ada POSIX Bindings IS 14519:2001 to POSIX Draft IS 9945:2008 and Ada 2005 中找到了两个相关文档,其中有一个 POSIX 函数列表,目前 Ada 标准不支持作为可能的扩展。那里提到了 XSI 功能(又名 SysV IPC)。所以目前不支持它们。

但它们不会在不久的将来出现,因为文档 Draft Minutes, Meeting #64 声明更新工作已被取消。所以我想用户应该继续为那些 POSIX C 函数制作我们自己的接口。

西班牙坎塔布里亚大学已经与 Ada 和 POSIX 合作了 20 多年:也许看看他们的工作会有回报;例如: https://ocw.unican.es/pluginfile.php/1398/course/section/1781/Tema%2007%20-%20Ada.pdf