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,3cfb384718eb4f7a X-Google-Attributes: gid103376,public From: Markus Kuhn Subject: Linux/POSIX packages for GNAT Date: 1998/02/22 Message-ID: <34F007C5.7D9F2D7@cl.cam.ac.uk>#1/1 X-Deja-AN: 327486040 Content-Transfer-Encoding: 7bit References: <34EEFF9C.1D01FA5D@stellar1.com> <1998Feb21.194544.1@eisner> <34ef8225.83906260@enews.newsguy.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Organization: Cambridge University, Computer Laboratory Newsgroups: comp.lang.ada Date: 1998-02-22T00:00:00+00:00 List-Id: frc@stellar1.com wrote: > Agreed. What I am after is a means - more than a C transliteration - > of accessing I/O hardware which requires this kind of read/write > functionality. My only basis of description is the C functions that I > have used to do this. inp and outp are Intel assembler instructions and you can include assembler code directly into your Ada program (check the GNAT docs for details). Under Linux, normal user processes are not allowed to access the IO ports. Root processes are only allowed to access the IO ports after they have requested this right from the kernel with a special system call (for instance the XFree86 X11 server under Linux does this to set the video modes directly via hardware IO register access). What would be nice to have is a Linux Ada package that implements all those low-level accesses to the operating system and processor (such as directly making a system call, inp/outp, access to sockets, MMX functions, etc.), such that not every user of those facilities has to learn Intel/Alpha/SPARC assembler but can use nice documented Ada procedures. It seems the standard packages that come with GNAT only cover what is defined in the Ada95 RM plus a few GNAT specific extentions. What is urgently missing for real Linux system development is Linux low-level access as well as an implementation of the full POSIX.5 Ada API. Has this already been done somewhere or is any work on this in progress? How widely implemented is the POSIX.5 API (standardized Ada versions of the common Unix system calls) anyway? Markus -- Markus G. Kuhn, Security Group, Computer Lab, Cambridge University, UK email: mkuhn at acm.org, home page: