------------------------------------------------------------------------------ -- -- -- POSIX ADA LANGUAGE INTERFACES COMPONENTS -- -- -- -- I M P L E M E N T A T I O N _ D E F I N E D -- -- -- -- S p e c -- -- -- -- $Revision: 1.1 $ -- -- -- -- -- -- This package specification is part of the Florida State -- -- University (FSU) prototype implementation of IEEE Draft Std -- -- 1003.5b, for use with the Gnu NYU Ada Translator (GNAT) and the -- -- FSU Gnu Ada Runtime Library (GNARL). -- -- -- -- This package specification contains some text extracted from IEEE -- -- Draft Std 1003.5b/D5 (August 1995), IEEE Draft Standard for -- -- Information Technology -- POSIX Ada Language Interfaces -- Part 1: -- -- Binding for System Application Program Interface, Amendment 1: -- -- Realtime Extensions, copyright 1995 by the Institute of Electrical -- -- and Electronics Engineers, Inc. -- -- -- -- This package specification differs from the package specifications -- -- in IEEE Draft Std 1003.5/D5 in several respects. For example, it -- -- includes additional with-clause dependences, comments, and -- -- complete definitions for certain types, ranges, and constants that -- -- are left implementation-defined in the draft standard. These -- -- differences appear to be within the scope of variation which the -- -- draft standard permits for implementations, but no warranty is -- -- made to that effect. -- -- -- -- These package specifications are distributed in the hope that they -- -- will be useful, but WITHOUT ANY WARRANTY; without even the implied -- -- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- -- -- -- The package specifications in IEEE Draft Std 1003.5b/D5 represent -- -- only a portion of the document and are not to be interpreteted -- -- outside the context of the document, nor is the draft document to -- -- be interpreted as an approved consensus standard. -- -- -- -- When IEEE Std 1003.5b is approved, it must be used in conjunction -- -- with the final version of the package specifications contained in -- -- that document in order to claim conformance. The IEEE takes no -- -- responsibility for and will assume no liability for damages -- -- resulting from the reader's misinterpretation of said information -- -- resulting from its out-of-context nature. To order copies of the -- -- IEEE Draft Std 1003.5/D5, please contact the IEEE Service Center -- -- at 445 Hoes Lane, PO Box 1331, Piscataway, NJ 08855-1331; via -- -- phone at 1-800-678-IEEE, 908-981-1393; or via fax at 908-981-9667. -- -- -- -- For bodies to these packages, and other free products of the FSU -- -- POSIX/Ada Real-Time project, see the ftp site "ftp.cs.fsu.edu", -- -- subdirectory "pub/PART", or send e-mail to "part@ada.cs.fsu.edu". -- -- -- ------------------------------------------------------------------------------ with Interfaces.C; with Implementation_Constants; package Implementation_Defined is use Interfaces.C; use Implementation_Constants; type utsname is array (1 .. Implementation_Constants.utsname_size) of unsigned; for utsname'Alignment use Alignment; type tm_t is array (1 .. Implementation_Constants.tm_size) of unsigned; for tm_t'Alignment use Alignment; type dir_t is array (1 .. Implementation_Constants.dir_size) of unsigned; for dir_t'Alignment use Alignment; -- Defining opaque types for Ada corresponding c-structures type aiocb_t is array (1 .. Implementation_Constants.aiocb_t_size) of unsigned; for aiocb_t'Alignment use Alignment; type sem_t is array (1 .. Implementation_Constants.sem_t_size) of unsigned; for sem_t'Alignment use Alignment; type mutexattr_t is array (1 .. Implementation_Constants.mutexattr_t_size) of unsigned; for mutexattr_t'Alignment use Alignment; type mutex_t is array (1 .. Implementation_Constants.mutex_t_size) of unsigned; for mutex_t'Alignment use Alignment; type condattr_t is array (1 .. Implementation_Constants.condattr_t_size) of unsigned; for condattr_t'Alignment use Alignment; type cond_t is array (1 .. Implementation_Constants.cond_t_size) of unsigned; for cond_t'Alignment use Alignment; type sched_param_t is array (1 .. Implementation_Constants.sched_param_t_size) of unsigned; for sched_param_t'Alignment use Alignment; type stat_t is array (1 .. Implementation_Constants.stat_size) of unsigned; for stat_t'Alignment use Alignment; type sigevent_t is array (1 .. Implementation_Constants.sigevent_t_size) of unsigned; for sigevent_t'Alignment use Alignment; type sigval_t is array (1 .. Implementation_Constants.sigval_t_size) of unsigned; for sigval_t'Alignment use Alignment; type siginfo_t is array (1 .. Implementation_Constants.siginfo_t_size) of unsigned; for siginfo_t'Alignment use Alignment; type mq_attr_t is array (1 .. Implementation_Constants.mq_attr_t_size) of unsigned; for mq_attr_t'Alignment use Alignment; mode_t_size : constant Integer := 4; type mode_t is new Interfaces.Unsigned_32; type ino_t is new Interfaces.C.int; type nlink_t is new Interfaces.C.int; type dev_t is new Interfaces.C.int; type off_t is new Interfaces.C.int; type pid_t is new Interfaces.C.int; type gid_t is new Interfaces.C.int; type uid_t is new Interfaces.C.int; type time_t is new Interfaces.C.int; type tcflag_t is new Interfaces.C.int; type cc_t is new Interfaces.C.unsigned_char; type clock_t is new Interfaces.C.long; end Implementation_Defined;