Document Number: AUSTIN/9r6
Title: Action item 9809-04
Revision Date: 2000-05-27
Original Date: 1998-09-11
Source: Andrew Josey, Chair
Action: for information
Long Description of the Proposed Common Standards Revision Project
SUMMARY
-------
This document describes the proposed project to produce a common
standard to revise ISO/IEC 9945-1, ISO/IEC 9945-2, IEEE Std 1003.1, IEEE
Std 1003.2, and the appropriate parts of The Open Group Single UNIX
Specification. It describes the Base Documents for consideration
in the revision, the criteria for inclusion and exclusion of material,
the expected deliverables and outline structure of the project and
requirements for the project.
The approach to specification development is "write once,
adopt everywhere", with the deliverables being a set of
specifications that will carry both the IEEE POSIX designation
and The Open Group's CAE Specification designation,
and if adopted an ISO/IEC designation.
BASE DOCUMENTS
--------------
The following are the base documents for the revision:
IEEE Std 1003.1, 1996 Edition (incorporating ANSI/IEEE Stds
1003.1-1990, 1003.1b-1993, 1003.1c-1995, and 1003.1i-1995)
ISBN 1-55937-573-6
The following amendments to IEEE Std 1003.1-1990:
P1003.1a (Additional System Services), |
IEEE Std 1003.1d-1999 (Additional Realtime Extensions), |
IEEE Std 1003.1g-2000 (Protocol Independent Interfaces), |
IEEE Std 1003.1j-2000 (Advanced Realtime Extensions), and |
P1003.1q (Tracing) |
IEEE Std 1003.2-1992 (includes IEEE Std 1003.2a-1992) ISBN
1-55937-255-9
The following amendments to IEEE Std 1003.2-1992:
IEEE Std 1003.2d-1994 (Batch Environment), P1003.2b |
(Additional Utilities) |
System Interface Definitions, Issue 5, (XBD5)
The Open Group
ISBN 1-85912-186-1 February 1997
System Interfaces and Headers, Issue 5 - Two Volumes, (XSH5)
The Open Group
ISBN 1-85912-181-0 February 1997
Commands and Utilities, Issue 5, (XCU5)
The Open Group
ISBN 1-85912-191-8 February 1997
Networking Services, Issue 5.2 , (XNS5.2) |
The Open Group |
ISBN 1-85912-241-8 January 2000 |
ISO/IEC 9899:1999 Programming Languages -- C. |
SCOPE
-----
The three "Base volumes" of the Single UNIX Specification, Version 2
(XBD5, XSH5, XCU5) are supersets of the functionality contained in the
existing published IEEE standards (1003.1-1996 and 1003.2-1992), this
project proposes to use them as the basis for the revision, to merge |
functionality from XNS5.2 and to add additional parts of the POSIX |
functionality to them. |
The additional functionality from the POSIX standards to be merged
with the Base volumes is as follows:
Normative text not included in the Base volumes.
The amendments to IEEE Stds 1003.1-1990 and 1003.2-1992
listed above except for parts of IEEE Std 1003.1g-2000.
Portability Considerations (Annex F of .1-1996, .2-1992)
Additional rationale and notes ( Annex B of 1003.1-1996,
Annex E of 1003.2-1992).
The following features, marked Legacy or obsolescent in the |
Base volumes or marked obsolescent in POSIX, will not be |
carried forward into the revision. Any other features from the |
Base volumes and POSIX that are marked Legacy or oblescent will |
be carried forward into the revision unless otherwise noted. |
From XSH this means the following Legacy Interfaces, Headers and
External Variables will not be carried forward:
advance() gamma() putw() sbrk() wait3()
brk() getdtablesize() re_comp() sigstack()
chroot() getpagesize() re_exec() step()
compile() getpass() regcmp() ttyslot()
cuserid() getw() regex() valloc()
loc1 __loc1 loc2 locs
From XCU thus means the following Legacy Utilities will not
be carried forward:
calendar cancel cc dis egrep fgrep mail pack pcat unpack uulog
col cpio cu dircmp line lint lpstat pg spell sum uuname uupick
tar uuto
In addition Legacy features within non-legacy manual pages (for example
headers) will not be carried forward.
POSIX.1-1996 obsolescent features to be removed are:
p 112 CLK_TCK
p 197 tcgetattr() - rate returned option
In POSIX.2 obsolescent features to be removed are:
p 75 zero-length prefix within PATH
p 156,159 set synopsis etc
p 178 awk - use of no argument and no parentheses with length
p 259 ed synopsis etc *
p 272 env synopsis etc
p 282 find -perm [-]onum
p 295-296 egrep synopsis etc
p 299-300 head synopsis etc
p 305-306 join synopsis etc
p 309-310 kill synopsis etc
p 431-433,435-436 sort synopsis etc
p 444-445 tail synopses etc
p 453,455-456 touch synopsis etc
p 464-465 tty synopsis etc
p 472 uniq synopsis section *
p 515-516 ex synopsis etc
p 542-543 expand synopsis etc
p 563-565 more synopsis etc
p 574-576 newgrp synopsis etc
p 578 nice synopsis etc
p 594-596 renice synopsis etc
p 597-598 split synopsis etc
p 600-601 strings synopsis etc
p 624-625 vi synopsis etc
p 693 lex synopsis etc
In XSH, text marked OH needs to be reviewed on a case by case basis.
The XCU text marked OF, OP, PI, and UN will need to be reviewed
on a case by case basis.
For the networking interfaces the base document will be XNS5.2. |
The following parts of XNS5.2 will be omitted |
Part 3: XTI (this is now marked as deprecated) |
Part 4: Appendices (these relate to use of XTI over various |
transports, and also ATM which is outside the scope |
of this project). |
Since there is much duplication between XNS5.2 and 1003.1g, material |
only from the following sections of 1003.1g will be considered for |
merging: |
General Terms related to sockets (clause 2.2.2) |
Socket concepts (clauses 5.1 through 5.3 inclusive) |
The pselect() function (clause 6.2.2.1, 6.2.3) |
The isfdtype() function (clause 5.4.8) |
The header (clause 6.2) |
Interpretations
Issues raised by IEEE or ISO/IEC Interpretations against IEEE Std 1003.1
and IEEE Std 1003.2 will be addressed in the revision.
Issues raised in corrigenda for the Base volumes and working
group resolutions from OGTGbase (the group responsible for
the Base volumes) will be addressed in the revision.
Corrigenda and resolutions passed by OGTGnet (the group responsible for XNS)
will be addressed in the revision.
Consistency |
Changes to the standard will be made to make it self-consistent with the |
material merged. |
Options.
The revision will consider the options within the standard, and whether
its possible to reduce the number of them. It will also include
an examination of the possibility of adding overriding options (feature
groups in the existing XSH) that combine a set of finer grained options
or related functionality.
Functional extensions from XSH/XCU over POSIX will be added
as one or more options, for example there could be a STREAMS option and
a System V IPC option. This allows standards building on the Common
Standard to mandate the options, one such example would be the
UNIX specification.
Terminology
The agreed terminology style is to use ISO/IEC style for the revision
("shall" rather than "will"). This will require some changes to the
Base volumes that are the basis for the revision, and The Open Group has
produced a discussion paper on proposed terminology style.
Slicing and Dicing as per 1003.13
A set of profiling option groups will be introduced to facilitate |
profiles such as in IEEE Std 1003.13 (based on PASC SEC N754). |
EXPECTED OUTPUT
---------------
The expected output of the project is four logical books:
Base Definitions |
System Interfaces
Shell & Utilities |
Rationale (Informative) |
* Base Definitions:
This book is organised in chapters as follows:
Introduction (including scope,normative references) |
Conformance |
Definitions |
General Concepts |
File Format Notation
Character Set
Locale
Environment Variables
Regular Expressions
Directory Structure and Devices
General Terminal Interface
Utility Conventions
Headers |
The Headers chapter is organized alphabetically. |
There is currently no POSIX book corresponding to this book. The
existing base document XBD5 contains major parts of POSIX.1 Section 2
(Terminology and General Requirements), POSIX.2 Section 2 (Terminology
and General Requirements), and extended definitions common to XCU5, and
XSH5. The presence of this book reduces duplication in the other
volumes and ensures consistency of use of terminology. Where
terminology and definitions common to both the System Interfaces and
Shell & Utilities books occurs then additions will be made to this |
book.
The definitions from XNS5.2/1003.1g will be merged into this book. |
* System Interfaces:
This book is similar to POSIX.1-1996 except that
after it is organised as follows:
Chapter 1 Introduction
Chapter 2 General Information
Chapter 3 System Interfaces
Chapter 3 is organized alphabetically.
The existing Base document contains all the normative part of POSIX.1-1996
except for:
-1. major chunks of Section 2 (Terminology and General Requirements)
[which are included in the Base Definitions],
-2. Section 10 (Data Interchange Format) archive format header block
descriptions associated with the pax utility. |
[which is included in Shell & Utilities],
-3. Annex B (Rationale and Notes) [although some of this is included in
Examples and Application Usage sections],
-4. Annex D (Profiles),
-5. Annex E (Sample National Profile),
-6. Annex F (Portability Considerations),
-7. Annex G (Performance Metrics), and
-8. Annex H (Realtime Files).
This project proposes to move 3 and 6 to the resulting Rationale document. |
The system interfaces from XNS5.2/1003.1g will be merged into this book. |
* Shell & Utilities:
This book is similar to POSIX.2 combined with POSIX.2a, except
that it is organized as follows:
Chapter 1 Introduction
Chapter 2 Shell Command Language
Chapter 3 Batch Environment Services |
Chapter 4 Utilities
Chapter 4 is organized alphabetically.
The existing Base document contains all of POSIX.2 and POSIX.2a except:
-1. major chunks of Section 2 (Terminology and General Requirements)
[which are included in the Base definitions],
-2. Section 7 (Language Independent System Services) and Annex B
(C-Language Bindings Option) [which are included in the System
Interfaces book],
-3. Annex E (Rationale and Notes) [although some of of this is included
in Application Usage and Examples sections],
-4. Annex F (Portability Considerations),
-5. Annex G (Sample National Profile), and
-6. Annex H (Proposals for Future Revisions).
This project proposes to move 3 and 4 to the resulting Rationale document. |
The existing Base document also contains:
+1. POSIX.1 Section 10 (Data Interchange Format) cpio and tar archive
format header block descriptions associated with the pax |
utility,
+2. full alignment with ISO C, and
+3. several extensions (additional utilities and additional options to
POSIX utilities).
IEEE Std 1003.2d-1994 (Batch Environment) will be merged into this book. |
The c89 utility (which specified a compiler for the C Language |
specified by ISO/IEC 9899:1990) will be replaced by a c99 |
utility (which will specify a compiler for the C Language |
specified by ISO/IEC 9899:1999). |
REQUIREMENTS
------------
The following are requirements on the revision.
Backward compatibility.
It has been agreed that there should be no breakage
of functionality in the existing base documents. This requirement
will have to be tempered by any breakage introduced in
the ISO/IEC 9899:1999 C Language standard.
Architecture and n-bit neutral.
The common standard should not make any implicit assumptions
about the system architecture or size of data types, for example
previously some 32-bit implicit assumptions had crept into the standards.
Extensibility.
It should be possible to extend the common standard without
breaking backward compatibility. For example, the name space
should be reserved and structured to avoid duplication of names
between the standard and extensions to it.