From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7934c01d4f0440ac X-Google-Attributes: gid103376,public From: Markus Kuhn Subject: Re: What are POSIX Ada Bindings? Date: 1998/06/20 Message-ID: <358BE76B.2BE24710@cl.cam.ac.uk>#1/1 X-Deja-AN: 364506127 Content-Transfer-Encoding: 7bit References: <6mgb5r$ukh$1@eskinews.eskimo.com> Content-Type: text/plain; charset=us-ascii Organization: Cambridge University, Computer Laboratory Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1998-06-20T00:00:00+00:00 List-Id: Rick Morneau wrote: > I recently obtained the package florist980427.tar.gz from Florida State > University. The documentation says that the package provides "POSIX Ada > Bindings". Can anyone explain what this means? What is the function of > these bindings, and who would need to use them? The POSIX.1 standard specifies large parts of the C application programming interface available on Unix systems. It describes functions for handling processes, threads, files, signals, terminals, IPC, and much more that goes far beyond the standard C library defined in the C standard. Similarly, POSIX.5 provides the functionality of the Unix application programming interface for Ada programs. POSIX.5 is not a "thin" binding in which there exists exactly a one-to-one mapping between C functions and Ada functions, but it is a "thick" binding that presents the POSIX.1 functionality structured in a way that is customary for Ada programmers. For instance, most of the pthread POSIX.1 system calls for controlling threads are missing in POSIX.5, because the same functionality is already provided by the Ada language in the form of tasks. Also the way signals are handeled under POSIX.5 is quite different from POSIX.1. If you do not want to have to mess around with writing your own Ada/C Interfacing functions each time in order to access Unix system calls but prefer a portable predefined library, then you need Florist or a similar POSIX.5 implementation. It would be nice if Florist would soon become a part of the GNAT run-time system on all GNAT versions for Unix. Unfortunately, the current prerelease seems to be only tested under Solaris. Markus -- Markus G. Kuhn, Security Group, Computer Lab, Cambridge University, UK email: mkuhn at acm.org, home page: