Post on 07-Dec-2021
Reference numberISO/IEC 14519:2001(E)
IEEEStd 1003.5, 1999 edition
INTERNATIONALSTANDARD
ISO/IEC14519
IEEEStd 1003.5
Second edition2001-12-15
Information technology — POSIX® AdaLanguage Interfaces — Binding for SystemApplication Program Interface (API)
Technologies de l'information — Interfaces de langage POSIX® Ada —Boucle pour interface de programme d'application système (API)
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
ISO/IEC 14519:2001(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall notbe edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading thisfile, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in thisarea.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameterswere optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely eventthat a problem relating to it is found, please inform the Central Secretariat at the address given below.
ISOCase postale 56 � CH-1211 Geneva 20Tel. + 41 22 749 01 11Fax + 41 22 749 09 47E-mail copyright@iso.chWeb www.iso.ch
ii
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
International Standard ISO/IEC 14519:2001(E)
IEEE Std 1003.5, 1999 Edition
(Incorporates IEEE Std 1003.5-1992,IEEE Std 1003.5b-1996, and
IEEE Std 1003.5c-1998)
Information te chnology— POSIX® AdaLanguage Interfaces— Binding for SystemApplication Program Interface (API)
Sponsor
Portable Applications Standards Committeeof theIEEE Computer Society
Approved 17 March 2001
IEEE-SA Standards Board
Approved 2001
International Organization for Standardizationand by theInternational Electrotechnical Commission
Published by The Institute of Electrical
and Electroncis Engineeris, Inc.
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
Abstract:
This standard is part of the POSIX ® series of standards for applications and user inter-faces toopen systems. It defines the Ada language bindings as package specifications and accompanying textualdescriptions of the application program interface (API). This standard supports application portability at thesource code level through the binding between ISO 8652:1995 (Ada) and ISO/IEC 9945-1:1996 (IEEE Std1003.1-1996) (POSIX) as amended by IEEE P1003.1g/D6.6. Terminology and general requirements, processprimitives, the process environment, files and directories, input and output primaries, device- and class-specific functions, language-specific services for Ada, system databases, synchronization, memorymanagement, execution scheduling, clocks and timers, message passing, task management, the XTI andsocket detailed network inter-faces, event management, network support functions, and protocol-specificmappings are covered. It also specifies behavior to support the binding that must be provided by the Ada.
Keywords:
Ada, API, application portability, computer language bindings, information exchange,interprocess communication, networks, open systems, operating systems, portable application, POSIX,POSIX language bindings, protocol-specific, protocol-independent, real-time, sockets, thread, XTI
The Institute of Electrical and Electronics Engineers, Inc.3 Park Avenue, New York, NY 10016-5997, USA
Copyright © 2001 by the Institute of Electrical and Electronics Engineers, Inc.All rights reserved. Published 2001. This printing is by the International Organization for Standardization with special
Print: ISBN 0-7381-2921-6 SH94937PDF: ISBN 0-7381-2922-4 SS94937
No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior written permission of the publisher.
POSIX is a registered trademark of the Institute of Electrical and Electronics Engineers, Inc.
permission of the Institute of Electrical and Electronics Engineers, Inc. Published in Switzerland
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
ISO/IEC 14519:2001(E)
International Organization for Standardization/International Electrotechnical CommissionCase postale 56 � CH-1211 Genève 20 � Switzerland
iii
International Standard ISO/IEC 14519:2001(E)
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)form the specialized system for worldwide standardization. National bodies that are members of ISO or IECparticipate in the development of International Standards through technical committees established by therespective organization to deal with particular fields of technical activity. ISO and IEC technical committeescollaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, inliaison with ISO and IEC, also take part in the work.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 3.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting.Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this International Standard may be the subject ofpatent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
International Standard ISO/IEC 14519 was prepared by Joint Technical Committee ISO/IEC JTC 1, Informationtechnology, Subcommittee SC 22, Programming languages, their environments and system software interfaces.
This second edition cancels and replaces the first edition (ISO/IEC 14519:1999), which has been technicallyrevised.
Annex D forms a normative part of this International Standard. Annexes A, B and C are for information only.
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
IEEE Standards
documents are developed within the IEEE Societies and the Standards Coordinating Com-mittees of the IEEE Standards Association (IEEE-SA) Standards Board. Members of the committees servevoluntarily and without compensation. They are not necessarily members of the Institute. The standardsdeveloped within IEEE represent a consensus of the broad expertise on the subject within the Institute aswell as those activities outside of IEEE that have expressed an interest in participating in the development ofthe standard.
Use of an IEEE Standard is wholly voluntary. The existence of an IEEE Standard does not imply that thereare no other ways to produce, test, measure, purchase, market, or provide other goods and services related tothe scope of the IEEE Standard. Furthermore, the viewpoint expressed at the time a standard is approved andissued is subject to change brought about through developments in the state of the art and commentsreceived from users of the standard. Every IEEE Standard is subjected to review at least every five years forrevision or reaffirmation. When a document is more than five years old and has not been reaffirmed, it is rea-sonable to conclude that its contents, although still of some value, do not wholly reflect the present state ofthe art. Users are cautioned to check to determine that they have the latest edition of any IEEE Standard.
Comments for revision of IEEE Standards are welcome from any interested party, regardless of membershipaffiliation with IEEE. Suggestions for changes in documents should be in the form of a proposed change oftext, together with appropriate supporting comments.
Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as theyrelate to specific applications. When the need for interpretations is brought to the attention of IEEE, theInstitute will initiate action to prepare appropriate responses. Since IEEE Standards represent a consensus ofall concerned interests, it is important to ensure that any interpretation has also received the concurrence of abalance of interests. For this reason, IEEE and the members of its societies and Standards CoordinatingCommittees are not able to provide an instant response to interpretation requests except in those cases wherethe matter has previously received formal consideration.
Comments on standards and requests for interpretations should be addressed to:
Secretary, IEEE-SA Standards Board445 Hoes LaneP.O. Box 1331Piscataway, NJ 08855-1331USA
Authorization to photocopy portions of any individual standard for internal or personal use is granted by theInstitute of Electrical and Electronics Engineers, Inc., provided that the appropriate fee is paid to CopyrightClearance Center. To arrange for payment of licensing fee, please contact Copyright Clearance Center, Cus-tomer Service, 222 Rosewood Drive, Danvers, MA 01923 USA; (978) 750-8400. Permission to photocopyportions of any individual standard for educational classroom use can also be obtained through the Copy-right Clearance Center.
Note: Attention is called to the possibility that implementation of this standard mayrequire use of subject matter covered by patent rights. By publication of this standard,no position is taken with respect to the existence or validity of any patent rights inconnection therewith. The IEEE shall not be responsible for identifying patents forwhich a license may be required by an IEEE standard or for conducting inquiries intothe legal validity or scope of those patents that are brought to its attention.
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
Contents
PAGE
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Section 1: General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Normative References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Section 2: Terminology and General Requirements . . . . . . . . . . . . . . . . 92.1 Editorial Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 General Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.4 Package POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.5 Package POSIX_Options . . . . . . . . . . . . . . . . . . . . . . . . . . 762.6 Package POSIX_Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . 822.7 Package Ada_Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872.8 Package System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882.9 Package System_Storage_Elements . . . . . . . . . . . . . . . . . . . 892.10 Package POSIX_Page_Alignment . . . . . . . . . . . . . . . . . . . . . 902.11 Environment Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Section 3: Process Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.1 Package POSIX_Process_Primitives . . . . . . . . . . . . . . . . . . 953.2 Package POSIX_Unsafe_Process_Primitives . . . . . . . . . . . . . 1083.3 Package POSIX_Signals . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Section 4: Process Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 1494.1 Package POSIX_Process_Identification . . . . . . . . . . . . . . . 1494.2 Package POSIX_Process_Times . . . . . . . . . . . . . . . . . . . . . . 1564.3 Package POSIX_Process_Environment . . . . . . . . . . . . . . . . . 1574.4 Package POSIX_Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . 1644.5 Package POSIX_Configurable_System_Limits . . . . . . . . . . . . 167
Section 5: Files and Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1755.1 Package POSIX_Permissions . . . . . . . . . . . . . . . . . . . . . . . 1755.2 Package POSIX_Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1785.3 Package POSIX_File_Status . . . . . . . . . . . . . . . . . . . . . . . 1905.4 Package POSIX_Configurable_File_Limits . . . . . . . . . . . . . 194
Section 6: I/O Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2056.1 Package POSIX_IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
ii
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
6.2 Package POSIX_File_Locking . . . . . . . . . . . . . . . . . . . . . . . 2326.3 Package POSIX_Asynchronous_IO . . . . . . . . . . . . . . . . . . . . 234
Section 7: Device- and Class-Specific Functions . . . . . . . . . . . . . . . . . . 2537.1 General Terminal Interface . . . . . . . . . . . . . . . . . . . . . . . . . 2537.2 Package POSIX_Terminal_Functions . . . . . . . . . . . . . . . . . . 260
Section 8: Language-Specific Services for Ada . . . . . . . . . . . . . . . . . . . 2798.1 Interoperable Ada I/O Services . . . . . . . . . . . . . . . . . . . . . . . 2798.2 Package POSIX_Supplement_to_Ada_IO . . . . . . . . . . . . . . . . . 283
Section 9: System Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2879.1 Package POSIX_User_Database . . . . . . . . . . . . . . . . . . . . . . 2879.2 Package POSIX_Group_Database . . . . . . . . . . . . . . . . . . . . . 289
Section 10: Data Interchange Format . . . . . . . . . . . . . . . . . . . . . . . . 293
Section 11: Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29511.1 Package POSIX_Semaphores . . . . . . . . . . . . . . . . . . . . . . . . 29511.2 Package POSIX_Mutexes . . . . . . . . . . . . . . . . . . . . . . . . . . 30411.3 Package POSIX_Condition_Variables . . . . . . . . . . . . . . . . . 314
Section 12: Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . 32312.1 Package POSIX_Memory_Locking . . . . . . . . . . . . . . . . . . . . . 32412.2 Package POSIX_Memory_Range_Locking . . . . . . . . . . . . . . . . . 32612.3 Package POSIX_Memory_Mapping . . . . . . . . . . . . . . . . . . . . . 32812.4 Package POSIX_Shared_Memory_Objects . . . . . . . . . . . . . . . . 33712.5 Package POSIX_Generic_Shared_Memory . . . . . . . . . . . . . . . . 341
Section 13: Execution Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 34913.1 Scheduling Concepts and Terminology . . . . . . . . . . . . . . . . . . . 34913.2 Package POSIX_Process_Scheduling . . . . . . . . . . . . . . . . . . 34913.3 Task Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35413.4 Synchronization Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . 356
Section 14: Clocks and Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35714.1 Package POSIX_Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . 35714.2 High Resolution Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Section 15: Message Passing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36715.1 Package POSIX_Message_Queues . . . . . . . . . . . . . . . . . . . . . 367
Section 16: Task Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38316.1 Package Ada_Task_Identification . . . . . . . . . . . . . . . . . . . 383
Section 17: Detailed Network Interface - XTI . . . . . . . . . . . . . . . . . . . . 38517.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38517.2 States and Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39117.3 The Use of Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39917.4 Package POSIX_XTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
iii
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
Section 18: Detailed Network Interface - Socket . . . . . . . . . . . . . . . . . . 48718.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48718.2 Events and States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48918.3 Use of Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49818.4 Package POSIX_Sockets . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Section 19: Event Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53519.1 Package POSIX_Event_Management . . . . . . . . . . . . . . . . . . . . 535
Annex A (informative) Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . 547
Annex B (informative) Rationale and Notes . . . . . . . . . . . . . . . . . . . . . 549B.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549B.2 Terminology and General Requirements . . . . . . . . . . . . . . . . . . 563B.3 Process Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575B.4 Process Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592B.5 Files and Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598B.6 Input and Output Primitives . . . . . . . . . . . . . . . . . . . . . . . . 602B.7 Device- and Class-Specific Functions . . . . . . . . . . . . . . . . . . . . 610B.8 Language-Specific Services for Ada . . . . . . . . . . . . . . . . . . . . . 610B.9 System Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621B.10 Data Interchange Format . . . . . . . . . . . . . . . . . . . . . . . . . . 623B.11 Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623B.12 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629B.13 Execution Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634B.14 Clocks and Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639B.15 Message Passing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642B.16 Task Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643B.17 Thread-Specific Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643B.18 Detailed Network Interface - XTI . . . . . . . . . . . . . . . . . . . . . . 643B.19 Detailed Network Interface - Socket . . . . . . . . . . . . . . . . . . . . 646B.20 Network Support Functions . . . . . . . . . . . . . . . . . . . . . . . . . 647B.21 Protocol Mappings Annex . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Annex C (informative) Ada/C Cross-References . . . . . . . . . . . . . . . . . . . 651C.1 Ada-to-C Cross-Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 651C.2 C-to-Ada Cross-Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Annex D (normative) Protocol Mappings . . . . . . . . . . . . . . . . . . . . . . . 713D.1 Sockets Protocol Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . 713D.2 XTI Protocol Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Alphabetic Topical Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
TABLES
Table1.1 – Sockets and XTI Package Renaming . . . . . . . . . . . . . . . . . . . 5Table2.1 – Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . 9
iv
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
Table2.2 – Constant and Subtype Correspondences . . . . . . . . . . . . . . . . 52Table2.3 – Option Set Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . 60Table2.4 – Static Subtypes and Options . . . . . . . . . . . . . . . . . . . . . . . 81Table2.5 – Portable Constants and Limits . . . . . . . . . . . . . . . . . . . . . . 86Table2.6 – Static Subtypes and Limits . . . . . . . . . . . . . . . . . . . . . . . . 88Table3.1 – Default Actions for Job Control Signals . . . . . . . . . . . . . . . . . 127Table4.1 – Functions for System-Wide Options . . . . . . . . . . . . . . . . . . . 172Table4.2 – Configurable System Limits . . . . . . . . . . . . . . . . . . . . . . . 174Table6.1 – Standard File Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . 209Table6.2 – Error Codes and AIO Status Values . . . . . . . . . . . . . . . . . . . 247Table7.1 – Terminal_Characteristics Components . . . . . . . . . . . . . . 263Table7.2 – Terminal_Modes Values for Input Control . . . . . . . . . . . . . . 265Table7.3 – Terminal_Modes Values for Output Control . . . . . . . . . . . . . 267Table7.4 – Terminal_Modes Values for Hardware Control . . . . . . . . . . . . 267Table7.5 – Terminal_Modes Values for Local Control Modes . . . . . . . . . . 269Table7.6 – Special Control Character Usage . . . . . . . . . . . . . . . . . . . . . 272Table17.1 – Events and Look . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389Table17.2 – Classification of the XTI Functions . . . . . . . . . . . . . . . . . . . 392Table17.3 – Communication Interface States . . . . . . . . . . . . . . . . . . . . 394Table17.4 – Initialization/De-initialization State Table . . . . . . . . . . . . . . 396Table17.5 – Data Transfer State Table for Connectionless-Mode Service . . . . 396Table17.6 – Connection/Release/Data Transfer State Table for Connection-
Mode Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397Table17.7 – Event_Requires_Attention Error Indications . . . . . . . . . . 399Table18.1 – Socket Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490Table18.2 – Socket States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491TableB.1 – Correspondence of File Creation Flags . . . . . . . . . . . . . . . . . 615TableD.1 – Port Number Re-Use . . . . . . . . . . . . . . . . . . . . . . . . . . . 744TableD.2 – Communications_Provider_Info Returned by Get_Info and
Open, mOSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774TableD.3 – XTI and ACSE/Presentation Services . . . . . . . . . . . . . . . . . . 777TableD.4 – XTI mOSI Connection-Mode Data Transfer Services . . . . . . . . . 779TableD.5 – XTI and Association Release Services . . . . . . . . . . . . . . . . . . 779TableD.6 – XTI Connectionless-Mode ACSE Services . . . . . . . . . . . . . . . 780TableD.7 – Communications_Provider_Info Returned by Get_Info and
Open, ISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801TableD.8 – Communications_Provider_Info Returned by Get_Info and
Open, Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
v
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
IEEE Std 1003.5c-1998
Introduction
(This introduction is not a part of IEEE Std 1003.5c-1998, IEEE Standard for Information Technology– POSIX
RAda Language Interfaces – Part 1: Binding for System Application Program Interface (API)
– Amendment 2: Protocol-Independent Interfaces, cbut is included for information only.)
This standard is an amended version of IEEE Std 1003.5b-1996. cThe basic goal ofthis standard is to provide an Ada application program interface for the language-independent services made accessible to C-language applications programs by theinterfaces defined in ISO/IEC 9945-1:1996 (IEEE Std 1003.1-1996) f2g as amendedby IEEE P1003.1g fB14g c.
The intent is to support portability of Ada applications via a standard binding tothe services provided by a POSIX-conforming operating system. POSIX is definedby the standard C-language interfaces cited above. Therefore, much of the work inproducing this standard was deciding what features of those C-language interfacesrepresented POSIX functionality, as opposed to C-language-specific features.
This standard provides package specifications and accompanying textual descriptionfor a set of Ada packages that represent the POSIX system. This standard also spec-ifies behavior to support the binding that must be provided by the Ada compilationsystem, and further defines behavior specified as implementation defined in the Adalanguage standard (particularly in the area of Text_IO ) for use in a POSIX environ-ment.
The emphasis in POSIX is on application program portability, so the interfaces in thisstandard are not intended to be sufficient to implement an Ada compilation systemor a POSIX shell as defined in IEEE Standard 1003.2 fB16g. For an application,the intent is that a Strictly Conforming POSIX.5 Application (one that uses onlythe facilities in this standard and that does not depend on implementation-definedbehavior) can be ported to any Conforming Implementation of these interfaces andthat the binding makes it easy to identify where a program is not strictly conformingand makes such programs easier to port.
Organization of This Standard
The standard is divided into three parts:
— Statement of scope, list of normative references, and conformance information(Section 1)
— Definitions and global concepts (Section 2)
— The various interface facilities (Sections 3 through 19)
The content of the sections parallels that of the correspondingly numbered sectionsof ISO/IEC 9945-1:1996 and IEEE P1003.1g/D6.6, with a few changes required toaccomodate differences between the Ada and C-language interfaces. cThis standard
vi Introduction
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
PART 1: BINDING FOR SYSTEM APPLICATION PROGRAM INTERFACE (API) IEEE Std 1003.5c-1998
has no Section 10, since there is no Ada binding for that Section 10 (Data InterchangeFormats) of ISO/IEC 9945-1:1996.
This introduction, any footnotes, notes accompanying the text, and the informativeannexes are not considered part of this standard.
Related Standards Activities
Activities to extend this standard to address additional requirements can be antici-pated in the future1).
Extensions are approved as amendments or revisions to this standard, followingIEEE and ISO/IEC procedures.
Anyone interested in participating in the PASC working groups addressing theseissues should send his or her name, address, and phone number to the Secretary,IEEE Standards Board, Institute of Electrical and Electronics Engineers, Inc., P.O.Box 1331, 445 Hoes Lane, Piscataway, NJ 08855-1331, USA, and ask to have thisinformation forwarded to the chair of the appropriate PASC working group. A per-son who is interested in participating in this work at the international level shouldcontact his or her ISO/IEC national body c.
1) A Standards Status Report that lists all current IEEE Computer Society standards projects is avail-able from the IEEE Computer Society, 1730 Massachusetts Avenue NW, Washington, DC 20036-1903, USA; Telephone: +1 202 371-0101; FAX: +1 202 728-9614.
Introduction vii
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
IEEE Std 1003.5c-1998 IEEE STANDARD FOR INFORMATION TECHNOLOGY – POSIX ADA INTERFACES
IEEE Std 1003.5-1992 was prepared by the 1003.5 Working Group, sponsored bythe Technical Committee on Operating Systems and Applications Environments ofthe IEEE Computer Society. At the time IEEE Std 1003.5-1992 was approved themembership of the IEEE P1003.5 working group was as follows:
Technical Committee on Operating Systemsand Application Environments (TCOS)
Chair: Jehan-Francois Paris
TCOS Standards Subcommittee
Chair: Jim IsaakVice Chairs: Ralph Barker
Hal JespersonLorraine KevraPete MeierAndrew Twigger
Treasurer: Peter SmithSecretary: Shane McCarron
P1003.5 Working Group Officials
Chair: James P. LonjersSteven Deller (1989-1991)Major Terrence Fong (1988-1989)
Vice Chairs: James P. Lonjers (1990-1991)Major Terrence Fong (1989-1990)Stowe Boyd (1988-1989)
Editors: David EmeryHal JespersonSteven Deller (1988-1989)
Rationale Editor: Mitch GartSecretary: C. Jayne Baker
David Emery (1988-1989)
Technical Reviewers
Ted BakerSteven DellerDennis Doubleday
David EmeryMitch Gart
Jim LonjersJim MooreStephen Schwarm
Working Group
Ted BakerStowe BoydBevin BrettCharles BrownRobert BrownBhavesh DamaniaSteven DellerDennis DoubledayDavid EmeryTerry FongMitchell Gart
Michael GillamAl GlobusMars GraliaJayne GuyseKen HarveyRuth HirtJeff HooleyMichael KjolsrudPeter KruppJames Leathrum
Sue LeGrandJames LonjersJames MooreMark RuddockStephen SchwarmMichael ShapiroBrian SullivanDel SwansonRobert VoigtOlle WikstromJohn Zenor
viii Introduction
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
PART 1: BINDING FOR SYSTEM APPLICATION PROGRAM INTERFACE (API) IEEE Std 1003.5c-1998
The following persons where members of the balloting group for IEEE Std 1003.5-1992.
Harold C. AdamsJohn S. AdamsOmar AhmedDavid AllenCharles J. AntonelliB. ArdaryDavid AthersychRandall AtkinsonRandal J. AugustKenneth A. AustinCarolyn J. BakerRobert L. BakerTed BakerJames BaldoBrad BalfourGary E. BarnesMitchell C. BarnhartRandall BarronSteven BarryteBarbara K. BeauchampGary BeermanE. Jerome BellDonald BennettPeter A. BerggrenMark BiggarRobert BismuthAlex BlakemoreStephen Blanchette, Jr.Pieter BotmanStowe BoydCarl BrandonPhilip BrashearJoseph P. BrazyMark S. BreckenridgeRonald F. BrenderJim BriggsThomas C. BrookeJerry R. BrookshireCharles O. BrownElizabeth B. BrownJane C. BryanGary L. BurtChristopher ByrnesDavid CallowayNicholas A. CamilloneKenneth W. CampbellRick CarleDavid J. CarlsonDana CarsonJeffrey R. CarterJerry CashinH. L. CatalaLarry ChandlerAndy CheeseJames Chelini
Andrew ChungBrad ClarkLori A. ClarkeNorman H. CohenEdward ColbertPhillippe CollardRobert A. ContiWilliam M. CorwinMike CosseyJohn CourtneyDonald CragunRichard A. CrawfordJim CreeganPhyllis CrillJohn J. CupakCharles DanaWilliam H. DashiellDavid DavisRich DeBernardoDavid DeFantiMike DeanDave DecotSteven DellerJorge Diaz-HerreraMichael B. DillencourtJames H. DobbinsAudrey DorofeeTerence DowlingDiptendu DuttaEugene EdelsteinTheodore F. ElbertRichard W. ElwoodDavid EmeryArny EngelsonPhilip H. EnslowWilliam EventoffGary FalacaraJohn H. FauerbyCharles A. FinnellJeffery FischerShayne FlintTerence FongEdward J. Forbes, Jr.Roy S. FreedmanRandal S. FreierDale J. GaumerLarry GearhartK. M. GeorgeGregory A. GiccaRobert T. GoettgePhillip GoldsteinRoger GolliverWilliam N. GoolsbyWilliam J. GouletMars J. Gralia
Allen L. GrauCharles R. GraulingDaniel GreenTom GriestF. GrizeErnesto GuerrieriLawrence M. GuntherR. N. HagenCharles HammonsPeter A. HansenSam HarbaughSamuel HarbisonDavid S. HardinCharles HarkeyLoren L. HartThomas S. HawkerClark M. HayRalph HaywardJohn Craig HeberleWilliam HefleyA. Marlow HenneDonald C. HillNorman HinesC. Michael HollowayJeffrey HooleyJoseph P. HoolihanTom HousmanRichard HowardNorman R. HowesLynne M. HubbsDavid K. HughesRichard G. HullJeremy JamesHal JespersenDarryl N. JohnsonBruce JohnstonAlain JouchouxJuern JuergensSteven KahnFumimiko KamijoAlan KaminskyLing KanKarl KelleyRobert H. C. KempJudy S. KernerJames J. KeysPaul J. KingHans R. KlayKenneth KlossRobert KnightenJoseph B. KolbJohn C. KrasnowskiLak Ming LamRudolf C. LandwehrCharles F. Lanman
Introduction ix
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
IEEE Std 1003.5c-1998 IEEE STANDARD FOR INFORMATION TECHNOLOGY – POSIX ADA INTERFACES
Gary LautherPatricia K. LawlisScott A. LeschkeM. LevitzStephen H. LevyF. C. LimTimothy E. LindquistJ. J. LoganJames P. LonjersWarren E. LoperMark LovelandGeorge A. LudgateSonny LundahlWesley MackeyAustin J. MaherJames MaloneyRoger MartinRobert MathisFred Maymir-DucharmeCatherine McDonaldRobert L. McGarveyDaniel L. McNameeRobert McWhirterNancy R. MeadGeoff MendalJay MichaelGary W. MillerRobert E. MillerJudah MogilenskyAl MokCharles S. MooneyJames D. MooneyFreeman MooreJames W. MooreJerry A. MooreJohn I. Moore, Jr.Duncan MorrillM. W. MorronGary MrenakDavid G. MullensRichard E. NeseeSai Lun NgDaniel NissenKarl NybergJames O’DayEvelyn ObaidPatricia OberndorfKurt M. OlenderS. Ron Oliver
James K. ParrishThomas ParrishOffer PazyWalt PenneyGuido PerschFlavio PetersenThomas A. PetersonGeorge W. PetznickHane W. PolzerJ. PottmyerCharles PowEileen QuannPaul RabinJohn ReddanW. Scott RedmonGregg ReedCarl ReinertJudith RichardsonRichard A. RinkClyde RobyC. Allan RoferHyman RosenJerome D. RosenFrederick M. RyszAgnes M. SardiRobert J. SatnikAllen SaxtonLorne H. SchachterF. P. SchauerAlfred H. ScholldorfRon SchroederMike SchultzW. L. SchultzFritz SchulzLeonard SeagrenRichard SeibelLawrence H. ShaferMichael D. ShapiroJohn G. SheaNagy M. ShehadDan ShiaThomas E. ShieldsKeith ShillingtonDavid ShochatStephen SchwarmRobert Charles ShockJerome L. Sibol, Jr.Lee Silverthorn
Ronald SkoogThomas J. SmithCharles SnyderJon S. SquireJeff StevensonBrian SullivanDel SwansonS. Tucker TaftRavi TavakleyDonn S. TerryJohn A. ThalhamerWilliam J. ThomasPeter L. ThompsonJames L. TroyRoger TubbyMark-Rene UchidaL. David UmbaughRobert B. UrlingEvelyn M. UzzleFrances Van ScoyLeonard VanekMichael W. VannierUwe WackerRobert N. WagonerMary WallStephen R. WalliNeal WaltersKenneth WasmundtWilliam WebsterJ. Richard WegerBrian WeisRobert WeissenseeMichael K. WelterStephen WersanThomas WheelerWilliam WhitakerBruce WieandDavid WillcoxDavid C. WilletDavid WilliamsonPaul A. WillisDavid H. WinfieldDavid C. WolfePaul A. WolfgangMichal YoungOren YuanJanusz ZalewskiK. M. ZemrowskiJohn Zolnowsky
x Introduction
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
PART 1: BINDING FOR SYSTEM APPLICATION PROGRAM INTERFACE (API) IEEE Std 1003.5c-1998
When the IEEE Standards Board approved IEEE Std 1003.5-1992 on 18 June 1992,it had the following membership:
Marco W. Migliaro, Chair Donald C. Loughry, Vice Chair
Andrew G. Salem, Secretary
Dennis BodsonPaul L. Borrill Clyde R.CampDonald C. FleckensteinJay Forster �
David F. FranklinRamiro GarciaThomas L. Hannan
Donald N. HeirmanBen C. JohnsonWalter J. KarplusIvor N. KnightJoseph L. Koepfinger�
Irving KolodnyD.N. “Jim” LogothetisLawrence V. McCall
T. Don Michael�
John L. RankinsWallace S. ReadRonald H. ReimerGary S. RobinsonMartin V. SchneiderTerrance R. WhittemoreDonald W. Zipse
�Member Emeritus
Also included are the following nonvoting IEEE Standards Board liaisons:
Satish K. AggarwalJames BeallRichard B.EnglemanDavid E. SoffrinStanley Warshaw
Mary Lynne NielsenIEEE Standards Project Editor
Introduction xi
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
IEEE Std 1003.5c-1998 IEEE STANDARD FOR INFORMATION TECHNOLOGY – POSIX ADA INTERFACES
IEEE Std 1003.5b-1996 was prepared by the P1003.5 working group, sponsored bythe Portable Applications Standards Committee of the IEEE Computer Society. Atthe time IEEE Std 1003.5b-1996 was approved the membership of the P1003.5 work-ing group was as follows:
Portable Applications Standards Committee (PASC)
Chair: Jehan-Francois Paris
PASC Standards Subcommittee
Chair: Lowell JohnsonVice Chair: Charles SeveranceFunctional Chairs: Barry Needham
John SpencerJay AshfordAndrew Josey
Treasurer: Peter SmithSecretary: Charles Severance
IEEE P1003.5 Working Group Officials
Chair: James P. Lonjers (1991-1994)Stephen Schwarm (1995-1996)Ted Baker (1996-1997)
Vice Chairs: Stephen Schwarm (1991-1995)Randy Greene (1995-1996)David Emery (1003.5 Interpretations)
Editor: Ted Baker (P1003.5b)Rationale Editor: Lee LucasSecretary: C. Jayne Guyse (1991-1993)
Peter Obermayer (1994-1996)
Technical Reviewers
Ted BakerMark FaulkTed GieringRandy Greene
Lee LucasPeter ObermayerOffer PazyRuth A. PeekEd Posnak
Henry H. RobbinsStephen SchwarmDel SwansonLaurent Visconti
Working Group
Theodore P. (Ted) BakerBevin BrettSteven DellerDavid EmeryMark FaulkRandy GreeneC. Jayne Guyse
David K. HughesJames LonjersLee LucasPeter ObermayerJames T. OblingerOffer PazyRuth A. Peek
Ray RiccoHenry H. RobbinsStephen SchwarmJim SmithDel SwansonLaurent ViscontiJohn Zenor
xii Introduction
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453
PART 1: BINDING FOR SYSTEM APPLICATION PROGRAM INTERFACE (API) IEEE Std 1003.5c-1998
The following persons were members of the balloting group for IEEE Std 1003.5b-1996:
Alejandro A. AlonsoTheodore P. BakerRobert BarnedAndy BihainWilliam M. CorwinSteven DellerDavid EmeryPhilip H. EnslowMichael GonzalezC. Jayne GuyseJoe GwinnPatrick HebertSteven Howell
Norman R. HowesDavid K. HughesJudy KernerPhilippe KruchtenThomas M. KuriharaArthur LichtC. Douglass LockeJames P. LonjersLee W. LucasRoland McGrathPaul MurdockJames T. OblingerOffer Pazy
Dave PlaugerArlan PoolHenry H. RobbinsStephen SchwarmLeonard W. SeagrenRobert Alan SiegelDennis C. StewartAlfred StrohmeierDel SwansonMark-Rene UchidaUSENIXVictor Fay-WolfeJohn Zenor
When the IEEE Standards Board approved IEEE Std 1003.5b-1996 on 20 June 1996,it had the following membership:
Donald C. Loughry, Chair Richard J. Holleman, Vice Chair
Andrew G. Salem, Secretary
Gilles A. BarilClyde R. CampJoseph A. CannatelliStephen L. DiamondHarold E. EpsteinDonald C. FleckensteinJay Forster �
Donald N. HeirmanBen C. Johnson
E. G. “Al” KienerJoseph L. Koepfinger�
Stephen R. LambertLawrence V. McCallBruce McClungMarco W. MigliaroMary Lou PadgettJohn W. Pope
Jose R. RamosArthur K. ReillyRonald H. ReimerGary S. RobinsonIngo RuschJohn S. RyanChee Kiow TanLeonard L. TrippHoward L. Wolfman
�Member Emeritus
Also included are the following nonvoting IEEE Standards Board liaisons:
Satish K. AggarwalAlan H. CooksonChester C. Taylor
Lisa S. YoungIEEE Standards Project Editor
Introduction xiii
This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-899453