THE MAGAZINE OF USENIX & SAGE August 2003 • volume 28 • number 4

inside: STANDARDS REPORTS Josey: What’s New in Technical Corrigendum Number 1 for IEEE Std 1003.1-2001 Josey: Austin Group Status Update Josey: LSB Certification News Josey: Standards Briefing: The Standard Base

& The Advanced Computing Systems Association & The System Administrators Guild Standards Reports

What’s New in Technical Corrigendum Number SYS/MMAN.H Technical Corrigendum Number 1 item XBD/TC1/D6/16 is applied, cor-

1 for IEEE Std 1003.1-2001 recting margin code and shading errors for the mlock() and munlock() EPORTS R functions.

by Andrew Josey SYS/STAT.H Andrew Josey is the director, Technical Corrigendum Number 1 item XBD/TC1/D6/17 is applied, adding TANDARDS

server platforms, for The text regarding the st_blocks members of the stat structure to the RATIO- S Group in Reading, England, and NALE. the chair of the Austin Group, Inc. [email protected] SYS/STATVFS.H Technical Corrigendum Number 1 item XBD/TC1/D6/18 is applied, chang- ing the description of ST_NOSUID from “Does not support setuid()/set- The IEEE-SA Standards Board approved Technical Corrigendum gid() semantics” to “Does not support the semantics of the ST_ISUID and Number 1 (TC1) on 10th December 2002. The governing board ST_ISGID file mode bits”. of The Open Group approved the document on 7 February TERMIOS.H 2003. Technical Corrigendum Number 1 item XBD/TC1/D6/19 is applied, chang- ing ECHOK to ECHOKE in the APPLICATION USAGE section. The following article presents an overview of what has been UNISTD.H changed by this corrigendum. Technical Corrigendum Number 1 item XBD/TC1/D6/2 is applied, chang- ing “Thread Stack Address Size” to “Thread Stack Size Attribute”. ISSUES RELATED TO THE BASE Technical Corrigendum Number 1 item XBD/TC1/D6/20 is applied, adding DEFINITIONS the _POSIX_IPV6, _SC_V6, and _SC_RAW_SOCKETS symbols. GLOB.H Technical Corrigendum Number 1 item XBD/TC1/D6/8 is applied, correct- Technical Corrigendum Number 1 item XBD/TC1/D6/21 is applied, cor- ing the glob() prototype definition by removing the restrict qualifier from recting the description in “Constants for Functions” for the the function pointer argument. _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, and LANGINFO.H _CS_POSIX_V6_LP64_OFF64_LIBS symbols. Technical Corrigendum Number 1 item XBD/TC1/D6/9 is applied, adding a sentence to the “Meaning” column entry for the CRNCYSTR constant. This Technical Corrigendum Number 1 item XBD/TC1/D6/22 is applied, remov- change is to accommodate historic practice. ing the shading for the _PC* and _SC* constants, since these are mandatory upon all implementations. LIMITS.H Technical Corrigendum Number 1 item XBD/TC1/D6/10 is applied, updat- Technical Corrigendum Number 1 item XBD/TC1/D6/23 is applied, adding ing the value of _POSIX_CHILD_MAX from 6 to 25. This corrects an edi- the _PC_SYMLINK_MAX and _SC_SYMLOOP_MAX constants. torial error and is for FIPS 151-2 alignment. Technical Corrigendum Number 1 item XBD/TC1/D6/24 is applied, cor- NETDB.H recting the shading and margin code for the fsync() function. Technical Corrigendum Number 1 item XBD/TC1/D6/11 is applied, adding Technical Corrigendum Number 1 item XBD/TC1/D6/25 is applied, adding a description of the NI_NUMERICSCOPE macro and correcting the get- the following text to APPLICATION USAGE: “New applications should not nameinfo() function prototype. These changes are for alignment with the use _XOPEN_SHM or _XOPEN_ENH_I18N”. IETF IPv6 specification. WCHAR.H NETINET/IN.H Technical Corrigendum Number 1 item XBD/TC1/D6/26 is applied, adding Technical Corrigendum Number 1 item XBD/TC1/D6/12 is applied, the APPLICATION USAGE section. adding “const” qualifiers to the in6addr_any and in6addr_loopback external variables. RATIONALE CHANGES RELATED TO THE BASE DEFINITIONS PTHREAD.H A.4.10 Technical Corrigendum Number 1 item XBD/TC1/D6/13 is applied, cor- Add to end of A.4.10, Memory Synchronization p37 l 1465. recting shading errors that were in contradiction with the System Interfaces Volume. Technical Corrigendum Number 1 item XBD/TC1/D6/4 is applied, adding a new paragraph beneath the table of functions: “The pthread_once() func- SIGNAL.H tion shall synchronize memory for the first call in each thread for a given Technical Corrigendum Number 1 item XBD/TC1/D6/14 is applied, chang- pthread_once_t object.” ing the descriptive text for members of struct sigaction. Technical Corrigen- dum Number 1 item XBD/TC1/D6/15 is applied, correcting the definition A.7.3.3 LC–MONETARY of the sa_sigaction member of struct sigaction. Line 1986, add after “Technical Corrigendum No. 1”,“item XBD/TC1/D6/6.” Add another paragraph at end of this section:

August 2003 ;login: WHAT’S NEW FOR IEEE STD 1003.1-2001 51 Technical Corrigendum Number 1 item XBD/TC1/D6/5 is applied, adding Technical Corrigendum Number 1 item XSH/TC1/D6/20 is applied, mak- the int_[np]_* values to the POSIX locale definition of LC_MONETARY. ing changes for alignment with the IETF IPv6 API specification. These include the following: adding AI_V4MAPPED, AI_ALL, and AI_ADDR- A.8.3 TZ CONFIG to the allowed values for the ai_flags field; adding a description of Add to the end of the TZ section (line 2339). AI_ADDRCONFIG; and adding a description of the consequences of Technical Corrigendum Number 1 item XBD/TC1/D6/7 is applied, adding ignoring the AI_PASSIVE flag. the ctime_r() and localtime_r() functions to the list of functions that use FSETPOS the TZ environment variable. Technical Corrigendum Number 1 item XSH/TC1/D6/21 is applied, delet- ing an erroneous EINVAL error case from the ERRORS section. ISSUES RELATED TO THE SYSTEM INTERFACES ABORT GAI_STRERROR Technical Corrigendum Number 1 item XSH/TC1/D6/10 is applied, chang- Technical Corrigendum Number 1 item XSH/TC1/D6/22 is applied, adding ing the DESCRIPTION of abnormal termination processing and adding to the EAI_OVERFLOW error code. the RATIONALE section. GETNAMEINFO

BSEARCH Technical Corrigendum Number 1 item XSH/TC1/D6/23 is applied, mak- Technical Corrigendum Number 1 item XSH/TC1/D6/11 is applied, adding ing various changes in the SYNOPSIS and DESCRIPTION for alignment to the last sentence at the end of the first non-shaded paragraph in the with the IETF IPv6 specification. DESCRIPTION and adding the three following paragraphs. The RATIO- Technical Corrigendum Number 1 item XSH/TC1/D6/24 is applied, adding NALE section is also updated. These changes are for alignment with the the EAI_OVERFLOW error to the ERRORS section. ISO C standard. GETRLIMIT CLOSE Technical Corrigendum Number 1 item XSH/TC1/D6/25 is applied, chang- Technical Corrigendum Number 1 item XSH/TC1/D6/12 is applied, cor- ing wording for RLIMIT_NOFILE in the DESCRIPTION related to func- recting the XSI shaded text relating to the master side of a pseudo-termi- tions that allocate a file descriptor failing with [EMFILE]. Text is added to nal. The reason for the change is that the behavior of pseudo-terminals and the APPLICATION USAGE section noting the consequences of a regular terminals should be as much alike as possible in this case; the attempting to set the hard or soft limit for RLIMIT_NOFILE less than the change achieves that and matches historical behavior. highest currently open file descriptor+1.

CLOSELOG GETSUBOPT Technical Corrigendum Number 1 item XSH/TC1/D6/13 is applied, cor- Technical Corrigendum Number 1 item XSH/TC1/D6/26 is applied, cor- recting the EXAMPLES. recting an editorial error in the SYNOPSIS.

DLSYM GMTIME Technical Corrigendum Number 1 item XSH/TC1/D6/14 is applied, cor- Technical Corrigendum Number 1 item XSH/TC1/D6/27 is applied, adding recting an example and adding text to the RATIONALE describing issues the EOVERFLOW error case. related to conversion of pointers to functions and back again. IF_INDEXTONAME EXEC Technical Corrigendum Number 1 item XSH/TC1/D6/28 is applied, chang- Technical Corrigendum Number 1 item XSH/TC1/D6/15 is applied, adding ing {IFNAMSIZ} to {IF_NAMESIZ} in the DESCRIPTION. a new paragraph to the DESCRIPTION and text to the end of the APPLI- CATION USAGE section. This change addresses a security concern, where INET_NTOP implementations may want to reopen file descriptors 0, 1, and 2 for pro- Technical Corrigendum Number 1 item XSH/TC1/D6/29 is applied, adding grams with the set-user-id or set-group-id file mode bits calling the exec “the address must be in network byte order” to the end of the fourth sen- family of functions. tence of the first paragraph in the DESCRIPTION.

EXIT INITSTATE Technical Corrigendum Number 1 item XSH/TC1/D6/16 is applied, cor- Technical Corrigendum Number 1 item XSH/TC1/D6/30 is applied, recting grammar in the description. removing rand_r() from the list of suggested functions in the APPLICA- TION USAGE section. FORK Technical Corrigendum Number 1 item XSH/TC1/D6/17 is applied, adding LOCALECONV text to the DESCRIPTION and RATIONALE relating to fork handlers reg- Technical Corrigendum Number 1 item XSH/TC1/D6/31 is applied, istered by the pthread_atfork() function and async-signal safety. removing references to “int_curr_symbol” and updating the descriptions of p_sep_by_space and n_sep_by_space. These changes are for alignment FPATHCONF with the ISO C standard. Technical Corrigendum Number 1 item XSH/TC1/D6/18 is applied, chang- ing the fourth paragraph of the DESCRIPTION and removing shading and LOCALTIME margin markers from the table. This change is needed since implementa- Technical Corrigendum Number 1 item XSH/TC1/D6/32 is applied, adding tions are required to support all these symbols. the EOVERFLOW error case.

FREEADDRINFO MAKECONTEXT Technical Corrigendum Number 1 item XSH/TC1/D6/19 is applied, adding Technical Corrigendum Number 1 item XSH/TC1/D6/33 is applied, clari- three notes to the DESCRIPTION and adding text to the APPLICATION fying that the arguments passed to func are of type int. USAGE related to the term canonical name. A reference to RFC 2181 is also added to the informative references front matter.

52 Vol. 28, No. 4 ;login: SETENV Technical Corrigendum Number 1 item XSH/TC1/D6/34 is applied, chang- Technical Corrigendum Number 1 item XSH/TC1/D6/55 is applied, adding ing the margin code in the SYNOPSIS from MF|SHM to MC3 (notation references to exec in the APPLICATION USAGE and SEE ALSO sections. for MF|SHM|TYM). SETPGID EPORTS

MODF Technical Corrigendum Number 1 item XSH/TC1/D6/56 is applied, chang- R Technical Corrigendum Number 1 item XSH/TC1/D6/35 is applied, cor- ing the wording in the DESCRIPTION from “the process group ID of the recting the code example in the APPLICATION USAGE. indicated process shall be used” to “the process ID of the indicated process shall be used.”This change reverts the wording to as in IEEE Std 1003.1-

MUNMAP 1996; it appeared to be an unintentional change. TANDARDS Technical Corrigendum Number 1 item XSH/TC1/D6/36 is applied, chang- S ing the margin code in the SYNOPSIS from MF|SHM to MC3 (notation SIGACTION for MF|SHM|TYM). Technical Corrigendum Number 1 item XSH/TC1/D6/57 is applied, chang- ing descriptive text in the table describing the sigaction structure. NANOSLEEP Technical Corrigendum Number 1 item XSH/TC1/D6/37 is applied, updat- SIGALTSTACK ing the SEE ALSO to include the clock_nanosleep() function. Technical Corrigendum Number 1 item XSH/TC1/D6/58 is applied, updat- ing the first sentence to include “for the current thread” at the POW end. Technical Corrigendum Number 1 item XSH/TC1/D6/42 is applied, cor- recting the third paragraph in the RETURN VALUE section. SIGINTERRUPT Technical Corrigendum Number 1 item XSH/TC1/D6/59 is applied, cor- PTHREAD_ATTR_GETSTACKSIZE recting the declaration in the sample implementation given in the DES- Technical Corrigendum Number 1 item XSH/TC1/D6/43 is applied, cor- CRIPTION section. recting the margin code in the SYNOPSIS from TSA to TSS and updating the CHANGE HISTORY from “Thread Stack Address Attribute option” to STRFTIME “Thread Stack Size Attribute option.” Technical Corrigendum Number 1 item XSH/TC1/D6/60 is applied.

PTHREAD_CREATE STRTOD Technical Corrigendum Number 1 item XSH/TC1/D6/44 is applied, adding Technical Corrigendum Number 1 item XSH/TC1/D6/61 is applied, cor- text that the alternate stack is not inherited. recting the second paragraph in the RETURN VALUE section. This change makes it clear the sign of the return value. PTHREAD_RWLOCK_DESTROY Technical Corrigendum Number 1 item XSH/TC1/D6/45 is applied, adding SYSCONF APPLICATION USAGE relating to priority inversion. Technical Corrigendum Number 1 item XSH/TC1/D6/62 is applied, updat- ing the DESCRIPTION to denote that the _PC* and _SC* symbols are now PUTENV required to be supported. A corresponding change has been made in the Technical Corrigendum Number 1 item XSH/TC1/D6/48 is applied, clari- Base Definitions volume. The deletion in the second paragraph removes fying wording in the DESCRIPTION and adding a new paragraph into some duplicated text. The additions add some symbols drawn from the APPLICATION USAGE referring readers to exec. standard that were accidentally omitted from this . QSORT Technical Corrigendum Number 1 item XSH/TC1/D6/63 is applied, mak- Technical Corrigendum Number 1 item XSH/TC1/D6/49 is applied, adding ing it clear in the RETURN VALUE that the value returned for to the last sentence to the end of the first non-shaded paragraph in the sysconf(_SC_OPEN_MAX) may change if a call to setrlimit() adjusts the DESCRIPTION and adding the two following paragraphs. The RATIO- RLIMIT_NOFILE soft limit. NALE section is also updated. These changes are for alignment with the ISO C standard. TAN Technical Corrigendum Number 1 item XSH/TC1/D6/64 is applied, cor- READDIR recting the last paragraph in the RETURN VALUE section. Technical Corrigendum Number 1 item XSH/TC1/D6/50 is applied, replac- ing the EXAMPLES section with a new example. TGAMMA Technical Corrigendum Number 1 item XSH/TC1/D6/65 is applied, cor- REALPATH recting the third paragraph in the RETURN VALUE section. Technical Corrigendum Number 1 item XSH/TC1/D6/51 is applied, adding new text to the DESCRIPTION for the case when resolved_name is a null WCSTOD pointer, changing the EINVAL error case text, adding RATIONALE text, Technical Corrigendum Number 1 item XSH/TC1/D6/66 is applied, cor- and the FUTURE DIRECTIONS text. recting the second paragraph in the RETURN VALUE section.

SCHED_GET_PRIORITY_MAX Technical Corrigendum Number 1 item XSH/TC1/D6/52 is applied, chang- RATIONALE CHANGES RELATED TO THE SYSTEM ing the PS margin code in the SYNOPSIS to PS|TPS. INTERFACES B.2.2.2 SCHED_RR_GET_INTERVAL Add to end of B.2.2.2 Technical Corrigendum Number 1 item XSH/TC1/D6/53 is applied, chang- ing the PS margin code in the SYNOPSIS to PS|TPS. Technical Corrigendum Number 1 item XSH/TC1/D6/2 is applied, deleting the entries POSIX_, _POSIX_, and posix_ from the column of allowed SEM_GETVALUE namespace prefixes for use by an implementation in the first table. The Technical Corrigendum Number 1 item XSH/TC1/D6/54 is applied. presence of these prefixes was contradicting later text that states “The pre-

August 2003 ;login: WHAT’S NEW FOR IEEE STD 1003.1-2001 53 fixes posix_, POSIX_, and _POSIX are reserved for use by IEEE Std 1003.1- SET 2001 and other POSIX standards. Implementations may add symbols to Technical Corrigendum Number 1 item XCU/TC1/D6/8 is applied, chang- the headers shown in the following table, provided the identifiers ...do ing the square brackets in the example in RATIONALE to be in bold which not use the reserved prefixes posix_, POSIX_, or _POSIX.” is the typeface used for optional items.

Technical Corrigendum Number 1 item XSH/TC1/D6/3 is applied, correct- TIMES ing the reserved macro prefix from “PRI[a-z],SCN[a-z]” to “PRI[Xa- Technical Corrigendum Number 1 item XCU/TC1/D6/9 is applied, z],SCN[Xa-z]” in the second table. The change was needed since the C Standard allows implementations to define macros of the form “PRI” or changing text in the DESCRIPTION from: “SCN” followed by any lowercase letter or “X” in (ISO/IEC “Write the accumulated user and system times for the shell and for 9899:1999 P400, Sub-clause 7.26.4.). all of its child processes . . .” Technical Corrigendum Number 1 item XSH/TC1/D6/4 is applied, adding to: a new section listing reserved names for the header. This change was for alignment with the C standard. “The times utility shall write the accumulated user and system times for the shell and for all of its child processes . . .” B.2.4.3 Add to the end of B2.4.3. AR Technical Corrigendum Number 1 item XCU/TC1/D6/10 is applied, mak- Technical Corrigendum Number 1 item XSH/TC1/D6/5 is applied, ing corrections to the SYNOPSIS. The change was needed since the -a, -b, reordering the RTS shaded text under the third and fourth paragraphs of and -i options are mutually exclusive, and posname is required if any of the SIG_DFL description. This corrects an earlier editorial error in this sec- these options is specified. tion. Technical Corrigendum Number 1 item XCU/TC1/D6/11 is applied, cor- Technical Corrigendum Number 1 item XSH/TC1/D6/6 is applied, adding recting the description of the two-byte trailer in RATIONALE that had the abort() function to the list of async-cancel-safe functions. missed out a back quote. The correct trailer is a back quote followed by a . B.2.8.3 Add new paragraph 2 before “Memory Locking” in 2.8.3. C99 Technical Corrigendum Number 1 item XSH/TC1/D6/7 is applied, correct- Technical Corrigendum Number 1 item XCU/TC1/D6/12 is applied, cor- ing the shading and margin markers in the introduction to section 2.8.3.1. recting the EXTENDED DESCRIPTION section of -l c and -l m. Previ- ously the text did not take into account the presence of the c99 math B.2.9.5 headers. Add to the end of B.2.9.5. Technical Corrigendum Number 1 item XCU/TC1/D6/13 is applied, Technical Corrigendum Number 1 item XSH/TC1/D6/8 is applied, adding changing the reference to the libxnet to libxnet.a. the pselect() function to the list of functions with Cancellation points. CD Technical Corrigendum Number 1 item XCU/TC1/D6/14 is applied, ISSUES RELATED TO SHELL AND UTILITIES changing the SYNOPSIS to make it clear that the -L and -P options are BREAK, COLON, CONTINUE, DOT, EVAL, EXEC, EXIT, EXPORT, READONLY, mutually exclusive. RETURN, SET, SHIFT, TRAP, UNSET Technical Corrigendum Number 1 item XCU/TC1/D6/5 is applied, so that CHGRP the manual page sections use terms as described in the Utility Description Technical Corrigendum Number 1 item XCU/TC1/D6/15 is applied, Defaults. No change in behavior is intended. changing the SYNOPSIS to make it clear that the -h and -R options are optional. EXPORT Technical Corrigendum Number 1 item XCU/TC1/D6/6 is applied, adding CHMOD the following text to the end of the first paragraph of the DESCRIPTION: Technical Corrigendum Number 1 item XCU/TC1/D6/16 is applied, changing XSI shaded text in the EXTENDED DESCRIPTION from: “If the name of a variable is followed by =word, then the value of that variable shall be set to word.” “The perm symbol t shall specify the S_ISVTX bit and shall apply to directories only. The effect when using it with any other file type The reason for this change was that the SYNOPSIS for export includes is unspecified. It can be used with the who symbols o, a, or with no export name[=word]...but the meaning of the optional “=word” is never who symbol. It shall not be an error to specify a who symbol of u or explained in the text. g in conjunction with the perm symbol t; it shall be ignored for u READONLY and g.” Technical Corrigendum Number 1 item XCU/TC1/D6/7 is applied, adding to: the following text to the end of the first paragraph of the DESCRIPTION: “The perm symbol t shall specify the S_ISVTX bit. When used with “If the name of a variable is followed by =word, then the value of a file of type directory, it can be used with the who symbol a, or that variable shall be set to word.” with no who symbol. It shall not be an error to specify a who sym- The reason for this change was that the SYNOPSIS for readonly includes bol of u, g, or o in conjunction with the perm symbol t, but the readonly name[=word]...but the meaning of the optional “=word” is meaning of these combinations is unspecified. The effect when never explained in the text. using the perm symbol t with any file type other than directory is unspecified.”

54 Vol. 28, No. 4 ;login: ing theEXAMPLES section. Technical replac- Number Corrigendum 1item XCU/TC1/D6/31 isapplied, M recting section. error aneditorial intheSTDOUT Technical cor- Number Corrigendum 1item XCU/TC1/D6/30 isapplied, LOCALE Interfaces Volume. changes to address inconsistencies theiconv() with intheSystem function Technical making Number Corrigendum 1item XCU/TC1/D6/29 isapplied, ICONV the-Foption. mative of description recting theexamples usingthegrep -Foptionthatdidnotmatch thenor- Technical cor- Number Corrigendum 1item XCU/TC1/D6/28 isapplied, GREP tion. path_varandsystem_var intheOPERANDS sec- of recting thedescriptions Technical cor- Number Corrigendum 1item XCU/TC1/D6/27 isapplied, GETCONF Syntax theutility Guidelines. Guidelinecomply with 11of and-Moptionsdonot -d, it clearintheOPTIONSsectionthat-m, Technical making Number Corrigendum 1item XCU/TC1/D6/26 isapplied, major changes to reports. address indefect ambiguitiesraised Technical making Number Corrigendum 1item XCU/TC1/D6/25 isapplied, FILE Defaults. Utility Description the with for alignment to ing theSTDERRsectionfrom “Not Used” “None” Technical chang- Number Corrigendum 1item XCU/TC1/D6/24 isapplied, FALSE recting aURL. Technical cor- Number Corrigendum 1item XCU/TC1/D6/23 isapplied, EX command inthe2001revision. Thischange corresponds to asimilarchange madeto theg G command. the text “Any to the linemodifiedby thecommand listshallbeunmarked.” Technical adding Number Corrigendum 1item XCU/TC1/D6/22 isapplied, ED canaccommodatethe echo utility BSDbehavior. historical Technical sothat Number Corrigendum 1item XCU/TC1/D6/21 isapplied, ECHO contexts existing when practice with agrees contain zero linesoroneline. soit -c” “diff Thischanges of thespecification section. ing theSTDOUT Technical chang- Number Corrigendum 1item XCU/TC1/D6/20 isapplied, DIFF recting theCHANGEHISTORY section. Technical cor- Number Corrigendum 1item XCU/TC1/D6/19 isapplied, DATE recting anerror intheSEE ALSO section. Technical cor- Number Corrigendum 1item XCU/TC1/D6/18 isapplied, CP ing theSYNOPSISto make itclearthatthe-hand-Roptionsare optional. Technical chang- Number Corrigendum 1item XCU/TC1/D6/17 isapplied, CHOWN This change behavior. historical isto permit August 2003 4 ;login: WHAT ’ E O EESTD IEEE FOR NEW S n - ”t - a”intheOPTIONSsection. to “-x pax” ing “-x B” Technical chang- Number Corrigendum 1item XCU/TC1/D6/36 isapplied, the extended associated headerinformation with “foo.” notcollide processing when will afilenamed paxextracting “/a/b/foo” of provides amethodfortheimplementationto ensure thatdifferent instances thepaxprocess into fields, certain which addstheprocess IDof change, Technical This Number Corrigendum 1item XCU/TC1/D6/35 isapplied. PAX forthe-Doption. selection ing theway ifdef thatthepatch performs utility Technical clarify- Number Corrigendum 1item XCU/TC1/D6/34 isapplied, should have been “-N.” option that which were usinganundefined “-n” recting theexamples, Technical cor- Number Corrigendum 1item XCU/TC1/D6/33 isapplied, OD which wasoverlooked intherevision. Interpretation 1003.2-1992#122, by raised IEEEPASC ing achange to theEXTENDED DESCRIPTION, Technical apply- Number Corrigendum 1item XCU/TC1/D6/32 isapplied, MAILX ing thetext inUtility Limitsfrom: Technical chang- Number Corrigendum 1item XCU/TC1/D6/3 isapplied, Value. for{POSIX2_VERSION}since itisnotaUtility LimitMinimum the entry Technical deleting Number Corrigendum 1item XCU/TC1/D6/2 isapplied, C.1.9. Add to theendof C SECTION XRAT U R to theSynopsis for “]].”“[count]” Technical adding Number Corrigendum 1item XCU/TC1/D6/42 isapplied, to theSynopsis for “[[.“ “[count]” Technical adding Number Corrigendum 1item XCU/TC1/D6/41 isapplied, VI intheOUTPUTFILESsection. “the applicationshallensure that” LC_COLLATE andchanging to theENVIRONMENT VARIABLES section, Technical adding Number Corrigendum 1item XCU/TC1/D6/40 isapplied, UNIQ Defaultssection. terms asdefinedintheUtility Description with section from theSTDERRandEXITSTATUS and “Default” ing theterms “None” Technical replac- Number Corrigendum 1item XCU/TC1/D6/39 isapplied, TRUE parentheses asargumentsto thetest utility. the useof to referring andshadingalineintheOPERANDS section marking margin Technical XSI Number Corrigendum 1item XCU/TC1/D6/38 isapplied, TEST “stty nl.”. of description fixinganerror inthe ing IEEEPASC Interpretation 1003.2-1992#133, Technical apply- Number Corrigendum 1item XCU/TC1/D6/37 isapplied, STTY 1003.1-2001 to the getconf utility; the high-level language binding describes the language bindingdescribes thehigh-level utility; to the getconf inTable Theliteral namesshown 1-3(onpage17)apply only 2001. IEEEStd 1003.1- tion definedintheSystem Interfaces volume of (on page481))andthrough the sysconf() func- “utility (seegetconf ATIONALE TILITIES C . 1.9 HANGES TLT LIMITS UTILITY R LTDT THE TO ELATED S ELAND HELL 55 STANDARDS REPORTS exact form of each name to be used by the interfaces in that bind- LSB Certification News 1Q2003 ing.” APRIL 15, 2003 to: “utility (see getconf (on page 481)).” by Andrew Josey

C. [email protected]

Add to the end of C.2.6.3 The Open Group has certified the following products to the LSB Technical Corrigendum Number 1 item XCU/TC1/D6/4 is applied, chang- Specifications during 1Q 2003: ing the text from: “If a command substitution occurs inside double-quotes, it shall not Date Company Product be performed on the results of the substitution.” 06-Jan-03 Red Hat, Inc, Red Hat Linux Advanced to: Server 2.1 with updates “If a command substitution occurs inside double-quotes, field split- 07-Jan-03 Sun Wah Linux Ltd Sun Wah Linux Desktop 3.0 ting and pathname expansion shall not be performed on the results of the substitution.” 07-Jan-03 Turbo Linux Inc Turbolinux Enterprise The replacement text taken from POSIX.2-1992 is clearer about the items Server 8 powered by that are not performed. UnitedLinux 15-Jan-03 Conectiva Inc. Conectiva Linux Enterprise Austin Group Status Update Edition Powered by APRIL 15, 2003 UnitedLinux v1.0

by Andrew Josey 24-Mar-03 SuSE Linux AG UnitedLinux 1.0

[email protected] 24-Mar-03 SuSE Linux AG SuSE Linux 8.2 28-Mar-03 SuSE Linux AG SuSE Linux Enterprise Since the last status update, we are pleased to report Technical Server 8 for IPF powered by Corrigendum 1 to the Austin Group Specifications has been UnitedLinux approved by all the sponsoring bodies – the IEEE-SA, The Open 01-Apr-03 Red Hat, Inc. Red Hat Linux 9 Group, and ISO/IEC. As of April 15, 2003, there are nineteen LSB certified products. The Austin Group has recently published the 2003 edition of its specifications incorporating Technical Corrigendum 1. The des- The full register of certified products is available at http://www. ignation for this edition is IEEE Std 1003.1, 2003 Edition, opengroup.org/lsb/cert/register.html. ISO/IEC 9945:2003 and form the core of the 2003 edition of the For more information LSB Certification, please see http://www. Single UNIX Specification Version 3. opengroup.org/lsb/cert/. HTML copies of the specification can be freely downloaded or read online at http://www.unix-systems.org/version3/. USENIX Standards Briefing: The members who would like a PDF copy should send an email (LSB) request to Andrew Josey. APRIL 15, 2003 Text of Technical Corrigendum 1 (the list of changes to the 2001 edition of the Austin Group specification) is freely available by Andrew Josey from http://www.opengroup.org/corrigenda/. [email protected]

In this article we introduce the Linux Standard Base, the specifi- cation, and certification programs.

THE LSB SPECIFICATION The Linux Standard Base (LSB) Specification is an application binary interface standard for shrink-wrapped applications. The LSB draws on the source standards of IEEE POSIX 1003.1-1990 and The Open Group Single UNIX Specification Version 2 for

56 Vol. 28, No. 4 ;login: 2003. *Note on waswithdrawn April that LSB1.2certification 18 currently coversLSB certification specifications:* thefollowing being certified. LSBCertification mance requirements applicableto theclassof andrepresentwarrant that the product meetsall the confor- products, certified Suppliers of license agreement. trademark It process isaformal builtaround apolicydocumentand glibc. toward useof requiring itdoeslean inpractice although or Linux-based applications, It isnotrestricted to Linux-based systems mance requirements. open to any product meetingtheconfor- , the of program isavoluntary program The LSBcertification LSB C LSBsystems.certified AllthemajorLinux vendors today have environments. runtime reference of applicationsare LSBcertification usedforformal thetest suites and versions of Binary conforming applications. reference andasetof includingtest suites, development tools, theLSBincludesanumber of To thespecification, support 2004. for January LSB2.0isplanned andmaybe Hammer. S390X, S390, PPC64, andsoon PPC32, plusIA64, bug fixes, static C++linking, packaging, PAM, addsinternationalization, 2003, in January introduced LSB1.3, isevolving quiteThe specification rapidly. tecture. (“archLSB”) by processor thedetailsthatvary archi- describing each processor architecture anarchitecture-specific specification andfor gLSB), (or asthe known “generic LSB” sor architectures, common to alltheproces- There specification, isageneric IA64. and PPC32, includingIA32, processor architectures, number of a supporting specifications The LSBisavailable asafamilyof pled to Linux andtheGNUCcompiler. cou- definitionsare tightly thebinary inpractice ating system, theLSBisnottiedto theGNU/Linux oper- intheory Although ahigh-volume applicationplatform. totion fileformats support execu- detailssuch asthebinary ics) andincludesthenecessary also extends thesource standards inotherareas (such asgraph- It to documentany preferring differences where exist. they them, deferto itdoesnotformally although itsinterfaces, many of August 2003 Globalization Specification Version 1.0with Amendment 4) theLi18nuxThe OpenI18NSpecification (formally 2000 The Linux Standard BaseSpecification for IA641.3 The Linux Standard BaseSpecificationforPPC321.3 The Linux Standard BaseSpecificationforIA321.3 The Linux Standard BaseSpecification1.3 ERTIFICATION ;login: H IU TNADBASE STANDARD LINUX THE opengroup.org/lsb/cert/register.html. Register at canbeviewed The LSBCertification opengroup.org/lsb/cert/docs/LSB_Certification_Guide.html. The Guide isavailable to at LSBCertification opengroup.org/lsb/cert/. able fromAuthority theLSBCertification at Program isavail- ontheLSBCertification Detailed information linuxbase.org. ontheLSBisavailableDetailed information from M dors. there are environments nineteen runtime from nineven- ing, writ- At thetimeof forPPC32andIA64. 2003 andaddssupport wasintroduced LSB1.3certification inJanuary to theIA32 ABI. islimited which commenced inJuly 2002, LSB 1.2certification, specification to have anequivalent program. LSBcertification the wasthefirstversion of introduced 2002, inJanuary LSB 1.2, ORE I NFORMATION http://www. http://www. http://www. http://www. 57 STANDARDS REPORTS