Standards Reports

(and possibly final) meeting. I would End of an Era expect maintenance of 1003.1-2001 will Our standards report editor, then be largely delegated to The Open David Blackwood, welcomes dialogue by Dave Blackwood between this column and you, the read- Group. ISO/IEC JTC1/SC22/WG15 should also be able to wind up its affairs ers. Please send your comments to [email protected] at its next meeting, leaving little more I first got involved in standards in 1989 than a project editor and a convenor in when the Canadian POSIX Working place to mind the shop. Group (CPWG) was formed. Our first Unfortunately, standards cannot remain task was to review IEEE Std 1003.1- static and stable for very long without 1998, which had been submitted to also quickly losing their relevance. The ISO/IEC JTC1 for adoption as an Inter- danger in winding down the face-to- national Standard. At that time we face contacts is that participation will always had 20 to 30 of us at each quar- decline further and the resources will terly meeting, and we closely followed simply not be available for the next revi- the progress of the JTC1 and IEEE sion. At ISO and at the IEEE, standards PASC working groups and sent repre- must be reaffirmed every five years or sentatives to as many meetings as fund- face automatic withdrawal. Will there ing permitted. still be anyone in the working groups in Today, CPWG consists of four people five years who knows or cares enough to who communicate very infrequently make this happen? and then only by email. This decline in Time, of course, will tell. A lot can hap- participation reflects similar declines in pen in five years. People change jobs, other countries and in the working retire, or otherwise move on. POSIX groups themselves. To some extent the standards are no longer of relevance in decline can be attributed to a decline in my own job as it has evolved over the the tech sector overall, and a feeling that years. This has certainly affected my standards are part of overhead. But participation since my employer no there has also been a general perception longer picks up the tab, and I now have for several years that these standards to do this on my own time. I’m sure I’m were complete and no further work not alone. needed to be done. I think, then, that this may very well be With the recent adoption by The Open the end of an era, one that started when Group of the Single Specifica- /usr/group (later UniForum) published tion, Version 3 and by the IEEE of Std the /usr/group standard based on Sys- 1003.1-2001, perhaps the work really is tem III in 1984. AT&T introduced the done. Oh sure, there is some continuing System V Interface Definition (SVID) in work in the areas of realtime, embedded 1986. Though it was publicly available, systems, and profiles, but these aren’t of it was not open. In 1987 X/Open (now universal interest and cater primarily to The Open Group) produced the first niche markets. The only remaining release of the X/Open Portability Guide work is a final ballot at the ISO/IEC (XPG). And, of course, everyone JTC1 level to adopt the new release as remembers AT&T and Sun entering into an International Standard (IS 9945- the agreement to produce System V, 1:2002) and the winding up of the vari- Release 4, the first major integration of ous working groups. System V and BSD. Other vendors react- IEEE PASC expects to move to an all- ed by forming the Open Software Foun- electronic format following its next dation (OSF) and producing OSF/1.

56 Vol. 27, No. 2 ;login: e 98 Thisrepresented aseachange ber 1998. thegroup in Septem- of and formation leadingto aninitialmeeting early 1998, in thatstarted sions amongtheparties discus- The Austin Group arose outof Group. working group asthe isknown Austin Thisjoint Joint Technical Committee 1. theISO/IEC and of The OpenGroup, of cations Standards Committee (PASC), theIEEEPortable Appli- membersof of by ajointworking group is maintained, and wasdeveloped, Base Specifications, collectively asthe known Version 3, tion, UNIXSpecifica- theSingle The core of Version 3. UNIXSpecification, Single Work commenced inlate 1998onthe Specification, Version 3 The SingleUNIX repeat it. areremember condemned history to whocannot Those on somethingmore. standardsconsortia-defined andinsists when itcomes to competing vendor- isenough group decidesthatenough likely decline...untilsomefuture user will too, approval, ISO orIEEEstampof that But thevalueof recognition. formal which may achieve of some standards,” developing “industry leading theway, consortia Expect to seemore industry standards hascome circle full too. open In somerespects thefuture of me backto where Istarted. Thisbrings an International Standard. submitted itto ISO/IECforadoptionas Interfacegram (API) [CLanguage]and defining theSystem Application Pro- IEEEproduced Std 1003.1-1988, finally, And, inresponse. andothersthenformed Sun, AT&T, April 2002 April of the Austin Group. Inc. Group. Austin the of chair the and England, Reading, in Group Open The for platforms, er director,the is serv- Josey Andrew Josey Andrew by [email protected] 1 ;login: H IGEUI SPECIFICATION UNIX SINGLE THE of the following technical thefollowing standards: of Issue 6consist The BaseSpecifications, Version 3. Specification, UNIX theSingle thecoretions forms of specifica- Thissetof ISO/IEC approval. gaining tions are inthefinalstageof thespecifica- writing, At thetimeof 6. Issue Open Group BaseSpecifications, Std 1003.1-2001(POSIX)andThe specifications beingapproved asIEEE theresulting setof with everywhere,” adopt once, “write ment wasoneof The approach to specificationdevelop- open source communities. andthe government, academia, tor, including peoplefrom theprivate sec- participants, of spectrum rated awide andhasincorpo- initiative, into asingle standardizationthe formal activities and efforts bined boththeindustry-led This uniquedevelopment hascom- secretariat forthe Austin Group. Open Group has provided thechair and The theresulting work. of copyright Group andIEEEagreed to share joint TheOpen Under thisagreement, time. tions beingmadeavailable atthesame specifica- therevised of the firstdraft with (IEEE) to theproject, formalize andElectronics Engineers Electrical The OpenGroup andtheInstitute of inJulyment wassigned 1999between anagree- After two initialmeetings, ification. TheOpenGroup UNIXSpec- Single of andtheBaseSpecifications Std 1003.2, IEEE IEEEStd 1003.1, ISO/IEC 9945-2, ISO/IEC9945-1, standards: following andupdate the combine, been to revise, the Austin Group has of The purpose developers. often involving thesamestandards ly, that timehadbeendeveloped separate- which to development organizations, two related specificationsby three in attituderegarding development of , VERSION 3 pcfctos Issue 6environment. Specifications, gendum to allow itto exist inaBase aCorri- been limited to production of Version 2have Issue 4, X/Open Curses, Updates to Version 2specification. Issue 4, 3 includestheX/OpenCurses, Version UNIXSpecification, the Single In additionto theBaseSpecifications, portability. affectapplications’made which will unavoidable changes thathave been there are anumber of standard, theISOC ences the1999version of now since therevision refer- However, pieces together.the various which becameapparent whenbringing or conflicts revisions, foundinprior resolving asaconsequencemarily of pri- implementations were unavoidable, Some changes conforming to prior in practice to beamore effective way. presenting itinwhathadbeenproven and documents, across anumber of documentwhat hadbeenspread gle instead focusedoncollecting into asin- work but excluded doingany “new” thiswork thescope of Specifically, conformance thecurrent standard. with theapproved standards into sions of tions thatconform to theearlierver- changes required implementa- to bring to minimize thenumberhas tried of theBaseSpecifications of The revision smd po theBaseSpecifications, 3 ismadeupof Version UNIXSpecification, The Single Version 3andhow are they organized. UNIXSpecification, theSingle of parts documents thatcomprise thedifferent the This sectiongives of anoverview TION T HE Rationale (Informative) Issue 6(XSH) System Interfaces, Issue 6(XCU) Shell andUtilities, Issue 6(XBD) Base Definitions, , V S INGLE ERSION UNIX S 3 –C ONTENTS PECIFICA - 57 STANDARDS REPORTS Issue 6 and X/Open Curses, Issue 4, Ver- Chapter 7 describes the syntax for document. The XCU document is sion 2. defining internationalization locales as structured as follows: well as the POSIX locale provided on all Chapter 1 explains the status of this BASE DEFINITIONS (XBD) systems. document and its relationship to other The XBD document is part of the Base Chapter 8 describes the use of environ- formal standards, including the ISO C Specifications, Issue 6. XBD provides ment variables for internationalization standard and the XSH document. It common definitions for the Base Speci- and other purposes. also describes the utility limits, gram- fications of the Single UNIX Specifica- mar conventions, defaults used by the tion; therefore, readers should be famil- Chapter 9 describes the syntax of pat- utility descriptions, considerations for iar with it before using the other parts tern matching using regular expressions utilities in support of large files, and the of the Single UNIX Specification. The employed by many utilities and list of required built-in utilities. The presence of this document reduces matched by the regcomp() and regex- scope, conformance, and definitions duplication in the other related parts of ec() functions. Both Basic Regular sections are pointers to the XBD docu- the Single UNIX Specification and Expressions (BREs) and Extended Reg- ment; the sections are here to meet ensures consistent use of terminology. ular Expressions (EREs) are described ISO/IEC rules regarding required sec- This document is structured as follows: in this chapter. tions. The terminology and portability Chapter 1 is an introduction, which Chapter 10 describes files and devices codes are identical to the section in includes the scope of the Base Specifica- found on all systems and their seman- XBD and repeated here for ease of ref- tions, and the scope of the changes tics. For example, the device /dev/null erence. made in this revision. Normative refer- is an infinite data source and data sink. Chapter 2 describes the command lan- ences, terminology, and portability Chapter 11 describes the asynchronous guage – that is, the shell command lan- codes used throughout the Base Specifi- terminal interface for many of the func- guage interpreter – used in systems that cations are included in this chapter. tions in XSH and the stty utility in conform to the Single UNIX Specifica- Chapter 2 defines the conformance XCU. tion. requirements, both for implementation Chapter 12 describes the policies for Chapter 3 describes a set of services and application conformance. For command line argument construction and utilities that are implemented on implementation conformance, this and parsing. It contains the utility argu- systems supporting the Batch Environ- includes documentation requirements, ment syntax used throughout XCU and ment option. conformance definitions for the core the utility syntax guidelines for naming POSIX subset, conformance definitions Chapter 4 consists of reference pages utilities and specifying their arguments for systems conforming to the Single for all utilities available on systems con- and option-arguments and operands. UNIX Specification (denoted as the XSI forming to the Single UNIX Specifica- extension), and option groups (previ- Chapter 13 defines the contents of tion. These are in the form of reference ously known as feature groups). headers that declare constants, macros, pages and are organized alphabetically. and data structures that are needed by Chapter 3 contains the general terms programs using the services provided SYSTEM INTERFACES (XSH) and definitions that apply throughout by the system interfaces defined in The XSH document is part of the Base the Base Specifications. XSH. These are in the form of reference Specifications, Issue 6. XSH describes a Chapter 4 describes general concepts pages and are organized alphabetically. set of system interfaces offered to appli- that apply throughout the Base Specifi- cation programs by systems conform- cations. SHELL AND UTILITIES (XCU) ing to this part of the Single UNIX The XCU2 document is part of the Base Specification. Readers are expected to Chapter 5 describes the notation used to Specifications, Issue 6. XCU describes be experienced C language program- specify file input and output formats in the shell and utilities that are available mers and to be familiar with the XBD XBD and XCU. to application programs on systems document. The XSH document is Chapter 6 describes the portable charac- conforming to this part of the Single structured as follows: ter set and the process of character set UNIX Specification. Readers are Chapter 1 explains the status of this definition. expected to be familiar with the XBD document and its relationship to other

58 Vol. 27, No. 2 ;login: those requirements, together with guid- together with those requirements, and how thefacilities provided satisfy requirements fortheBaseSpecifications ontheperceivedincludes areport user The Portability Considerations section and Part ESubprofiling Considerations. Part DPortability Considerations ed: are two includ- otherparts In addition, thethree normative documents. each of andC) for B, (Partsseparate part A, a with theBaseSpecification, ments of toized inparallel thenormative docu- Thisdocumentisorgan- ately apparent. some aspectsthatmay notbeimmedi- emphasizingtheconsequences of tices, on recommended prac- programming interest to applicationprogrammers of It alsocontains notes dard developers. were includedordiscarded by thestan- Issue 6andwhy features Specifications, the Base concerning thecontents of It contains information historical text. andunderstandingthemain reviewing ment hasbeenpublishedto assistin The XRAT docu- Issue 6. Specifications, theBase The XRAT of documentispart RATIONALE(XRAT) are organized alphabetically. reference pagesand are of intheform These UNIXSpecification. theSingle of faces to systems conformant to thispart Chapter 3definesthefunctionalinter- anddatatypes. tracing, sockets, threads, realtime, XSIIPC, STREAMS, streams, standard I/O concepts, signal numbers, error definitions of the namespace, tion onthecompilation environment, Thisincludesinforma- this document. andcaveats relating to the rest of terms, Chapter concepts, 2contains important reference. here foreaseof cal to thesectioninXBDandrepeated codes are identi- andportability nology Thetermi- regarding required sections. tions are here to meetISO/IECrules thesec- pointers to theXBDdocument; are anddefinitionssections mance, confor- Thescope, standards. formal April 2002 April ;login: H IGEUI SPECIFICATION UNIX SINGLE THE xlistesse fnamingthe explains thesystem of Thechapter definitions inChapter 4. implicitly referenced by theinterface is Thisinformation modes. operating the common Curses and operations It for contains rules general properties. andwindow renditions, characters, common conceptsimportant such as for andgives rules general data types thekey someof It discussestheuseof Curses. Chapter 3gives of an overview thattheinterfaces use. major datatypes space foridentifiersandintroduces the theinterface onthename- the effectof It alsodefines ing system requirements. X/Open System Interface (XSI)operat- andthe compilation environment, the between Curses andtheClanguage, Chapter therelationship 2describes Chapter 4. mat followed by interface definitionsin document andshows for- thegeneric requirements forconformance to this Thischapter alsodefinesthe DRAWN. cific interfaces marked TO BE WITH- andlistsspe- been madeto thisversion, enhancements thathave of overview gives an Chapter 1introduces Curses, ment isstructuredasfollows: Thisdocu- Group U056. Corrigendum read inconjunction TheOpen with Thisdocumentshouldbe Specification. UNIX theSingle of ing to thispart onsystemscation programs conform- acter screens thatare available to appli- updatingchar- independent methodof interfaces providing aterminal- set of a describes rather, Issue 6but, fications, theBaseSpeci- XCURSES of isnotpart (XCURSES) CURSES X/OPEN e fsubprofiling options. set of sectioncontainserations anexample theSubprofiling Consid- subprofiling, requirement thatthedocumentaddress Written to meetthe optional behavior. and limits, use theconfigurable options, profiles onhow to of ance to writers , VERSION 3 terms usedinthedocument. which contains normative definitionsof The chapters are followed by aglossary, the terminal inuse. of thecharacteristics to describe entry aterminfo of capabilities by thewriter these Appendix A discussestheuseof lar form. capabilitiesare presentedstring intabu- and numeric, Boolean, and anexample. discussion, aninformal mal grammar, usingafor- aterminfo entry of format Thechapter specifiesthesource minals. which Curses ter- usesto describe base, Chapter 6discusses theterminfo data- Chapter 4. provided by usingtheservices grams thataredata structures neededby pro- and macros, ers thatdeclare constants, head- Chapter 5defines thecontents of interfaces. Chapter 4definestheCurses functional nals. onblock-modetermi- and restrictions macros contains notes regarding useof thechapter Finally, function families. Curses functionsandpresents atableof ad or nDcme ,2001. dards Board onDecember 6, cially approved by theIEEE-SAStan- by theIEEE ballotgroup andwasoffi- achievedThe finaldraft 98%approval front cover having bothdesignations. the are they thesamedocument, 6; Issue Specifications, Base Open Group, It istechnically identicalto The sion 2. Ver- UNIXSpecification, theSingle of thecore combined with volumes ments, anditssubsequentamend- (POSIX.2), andIEEEStd 1003.2-1992 ments, anditssubsequentamend- (POSIX.1), incorporates IEEEStd 1003.1-1990 and 1003.1-2001 isamajorrevision IEEEStd is alsoIEEEStd 1003.1-2001. Version 3(theBaseSpecifications) tion, UNIXSpecifica- theSingle The core of 1003.1-2001 STD IEEE 59 STANDARDS REPORTS More information on Version 3 of the publication was completed by the edi- Single UNIX Specification can be found torial team upon IEEE approval on at http://www.UNIX-systems.org/ December 6, 2001, and can be obtained version3/; http://www.UNIXsystems. in various media formats from both org/version3/; or register to read the The Open Group and the IEEE (note specification online at http://www.unix- that the IEEE and The Open Group systems.org/version3/online.html; documents are identical). http://www.unix-systems.org/version3/ The IEEE has the standard available for online.html. online delivery in PDF and -ROM; Notes to order a copy from the IEEE go to 1. The Austin Group is named after the http://shop.ieee.org and search on location of the inaugural meeting held 1003.1-2001. at the IBM facility in Austin, Texas, in The Open Group has the standard September 1998. available for online delivery in PDF and 2. The acronym “XCU” derives from the CD-ROM as part of its set for the Sin- previous version of the specification, gle UNIX Specification, Version 3. To which was called “Commands and Utili- order a copy from The Open Group go ties.” to http://www.opengroup.org/pubs/ catalog/un.htm (look for documents, T950X, C950, C951, C952, C953). I am Austin Group Status Update also pleased to report that The Open Group and the IEEE have reached an agreement to produce a freely available by Andrew Josey HTML version of the standard on the Andrew Josey is the director, serv- er platforms, for The Open Group Web. Publication of the Web version in Reading, England, and the chair will follow in a few weeks. of the Austin Group. Inc. For the moment, the technical focus of [email protected] the Austin Group is on Technical Corri- The Austin Common Standards Revi- gendum 1. The scope of this item is sion Group (CSRG) is a joint technical limited to bug fixing. The aardvark bug working group established to consider reporting system is again available and the matter of a common revision of ready to receive defect reports at the ISO/IEC 9945-1, ISO/IEC 9945-2, IEEE Austin Group home page: Std 1003.1, IEEE Std 1003.2, and the http://www.opengroup.org/austin/ appropriate parts of the Single UNIX defectform.html. Specification. As of January 2002, the final draft of the specification has been approved by two of the three sponsoring organizations (The Open Group and the IEEE) and is now in the final approvals process at ISO, which is a final up/down ballot with no changes allowed to the docu- ment. Given that there can be no further changes to the text, we have now moved to initial publication. The final text for

60 Vol. 27, No. 2 ;login: