Document Number: AUSTIN/285 Title: Long Scope (unapproved draft subject to change) Revision Date: 2006-02-28 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:2003 Parts 1 through 4, IEEE Std 1003.1, 2004 Edition, and the appropriate parts of The Open Group Single UNIX Specification Version 3. 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 the IEEE POSIX designation, The Open Group's CAE Specification designation, and the ISO/IEC designation. BASE DOCUMENTS -------------- The following are the base documents for the revision: IEEE Std 1003.1, 2004 Edition (Includes IEEE Std 1003.1-2001, IEEE Std 1003.1-2001/Cor 1-2002 and IEEE Std 1003.1-2001/Cor 2-2004 ) which is technically identical to The Open Group Technical Standard Base Specifications, Issue 6, 2004 Edition and technically identical to ISO/IEC 9945:2003 Parts 1 to 4, with ISO/IEC 9945:2003/Cor.1:2004(E) Parts 1 to 4 ISO/IEC 9899:1999 Programming Languages -- C. The Open Group Extended API Sets Parts 1 through 4 (plus other submitted materials accepted by 2006 July 31) SCOPE ----- The revision will add new functionality from The Open Group Extended API Sets Parts 1 through 4 The revision will address issues arising from ISO TR 24715:200x, "Conflicts between POSIX and the LSB". The revision will include new work items for additions to the specification, to reflect current practice and knowledge, as proposed by the IEEE, The Open Group or ISO SC22 by July 31st 2006 The revision will review the use of fixed path filenames within the standard, for example the at, batch and crontab utilities that presently have a requirement for use of the directory /usr/lib/cron The following features, marked Legacy or obsolescent in the Base documents, will be considered for withdrawal in the revision. From XSH this means that selected Legacy Interfaces, Headers and External Variables will be considered for withdrawal: Selected interfaces from the XSI Legacy option group bcmp bcopy bzero ecvt, fcvt, gcvt fcvt ftime gcvt getwd index mktemp rindex wcswcs [# note that: utimes - set file access and modification times (LEGACY) has been omitted intentionally, it is recommended that be considered to move from legacy to XSI] Selected Obsolescent features from the following list will be considered for withdrawal: functions: bsd_signal() getcontext( ), gethostbyaddr() gethostbyname() makecontext( ), pthread_attr_getstackaddr() pthread_attr_setstackaddr() scalb() setcontext( ), swapcontext( ) ualarm() usleep() vfork() headers: fnmatch.h FNM_NOSYS glob.h GLOB_NOSYS netdb.h h_errno regex.h REG_ENOSYS wordexp.h WRDE_NOSYS utilities: cp -r option * Changes to existing options and functionality are noted here: The following features will be marked Legacy or obsolescent in the Base documents, to denote a status of future withdrawal: From XCU: The Batch Environment Services and Utilities option. Specifically XCU Chapter 3 and the following utilities from XCU chapter 4: qalter qdel qhold qmove qmsg qrerun qrls qselect qsig qstat From XSH The POSIX tracing option, specifically functionality denoted by the options: _POSIX_TRACE _POSIX_TRACE_EVENT_FILTER _POSIX_TRACE_INHERIT _POSIX_TRACE_LOG Functionality denoted by the Process Sporadic Scheduler and Thread Sporadic Scheduler options. Interpretations and Defect Reports Issues raised by Austin Group Interpretations against IEEE Std 1003.1 will be addressed in the revision. Issues raised by Defect Reports as recorded in the Aardvark reports and SD/5 by 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. (THR -> Base ? BAR -> THR -> Base? SPI -> THR -> Base? ) TSA TSS -> Base ? TMO -> Base ? IPv6 -> Base?) A move of functionality from an option into the Base would include an an update to the subprofiling considerations appendix to record the grouping by name and the list of associated functions. Functional extensions from new documents over the Base document may be added, possibly as one or more options. Terminology The agreed terminology style is to continue to use the existing ISO/IEC style as in the current Base document ("shall" rather than "will"). EXPECTED OUTPUT --------------- The expected output of the project is four logical books (to be treated as a single specification for conformance purposes) as per the existing Base documents: Base Definitions System Interface Shell & Utilities Rationale (Informative) REQUIREMENTS ------------ The following are requirements on the revision. Backward compatibility. For interfaces carried forward it is agreed that there should be no breakage of functionality in the existing base documents. All strictly conforming applications will be conforming but not necessarily strictly conforming to the revised standard. The goal is for system implementations to be able to support the existing and revised standards simultaneously. Architecture and n-bit neutral. The common standard should not make any implicit assumptions about the system architecture or size of data types. Extensibility. The intent is to be able 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.