std-unix@longway.TIC.COM (Moderator, John S. Quarterman) (09/01/89)
An Update on UNIX* and C Standards Activities
August 1989
Jeffrey S. Haemer, Report Editor
USENIX Standards Watchdog Committee
IEEE 1003.1: System services interface Update
Shane McCarron <ahby@bungia.mn.org> reports of the April, 1989 meeting:
"After thinking about it, I realized that 1003.1 did actually do some
stuff this quarter." [April -ed]
1003.1 is preparing two supplements, A and B, to 1003.1-88.
At the 1003.1 meeting in Minneapolis, the group reviewed draft 0.1 of
1003.1, supplement A. This supplement contains only clarifications
and editorial comments, and will be balloted in the Summer. It will
be provided to the ISO as the United States' comments on the
International Standard IS9945, which is the same as 1003.1-1988. Its
goal is to insure that the ISO standard and the the IEEE standard
(with supplement) are functionally identical.
Supplement B, to be balloted later, contains substantive changes: new
facilities absent in IEEE Std 1003.1-1988. Some were missing from
1003.1-88 because they weren't completely specified in time to be
included in the first release of the standard. Others are being
introduced due to requests from other standards committees or the user
community. For example, the ISO working group responsible for POSIX
has requested a new archive format. It argues both that the archive
formats in the first standard are insufficient for the future needs of
POSIX systems and that a dual solution is unacceptable. The new
format uses ANSI standard labeling, but extends it to permit POSIX
filenames, security information, etc.... Supplement B also includes
symbolic links, truncate(), ftruncate(), putenv(), clearenv(),
getpass(), seekdir(), telldir(), chroot(), fchmod(), fchown(), and
fsync().
Supplement B will also contain additional clarifications and edits to
the base standard. The ISO will probably designate this supplement an
addendum to IS 9945. All this maneuvering insures that the different
standards stay in sync, and prevents large delays in getting the ISO
__________
* UNIX is a registered trademark of AT&T in the U.S. and other
countries.
Jeffrey S. Haemer, Editor USENIX Standards Watchdog Committee
August 1989 Standards Update -IE2EE-1003.1: System services interface
standard approved.
Although 1003.1-88 is now official, the 1003.1 committee's work will
continue for some time yet. As other POSIX standards gel, their
committees uncover requirements for additional functionality or
semantics in the base standard, to support their work. As these
committees point out such cavities in the standard, P1003.1 works to
fill them. Everyone's hope is that no root canals will be necessary.
Jeffrey S. Haemer, Editor USENIX Standards Watchdog Committee
Volume-Number: Volume 17, Number 15gwyn@brl.arpa (Doug Gwyn) (09/01/89)
From: gwyn@brl.arpa (Doug Gwyn) In article <384@longway.TIC.COM> std-unix@uunet.uu.net writes: >.... Supplement B also includes symbolic links, truncate(), ftruncate(), >putenv(), clearenv(), getpass(), seekdir(), telldir(), chroot(), fchmod(), >fchown(), and fsync(). We deliberately left seekdir() and telldir() out of IEEE Std 1003.1, because they cannot be reliably implemented in all reasonable UNIX-based environments. I wish people would quite trying to second-guess the original work. Volume-Number: Volume 17, Number 17
rml@hpfcdc.hp.com (Bob Lenk) (09/07/89)
From: Bob Lenk <rml@hpfcdc.hp.com> In article <386@longway.TIC.COM> gwyn@brl.arpa (Doug Gwyn) writes: > In article <384@longway.TIC.COM> std-unix@uunet.uu.net writes: > >.... Supplement B also includes symbolic links, truncate(), ftruncate(), > >putenv(), clearenv(), getpass(), seekdir(), telldir(), chroot(), fchmod(), > >fchown(), and fsync(). > > We deliberately left seekdir() and telldir() out of IEEE Std 1003.1, > because they cannot be reliably implemented in all reasonable UNIX-based > environments. I wish people would quite trying to second-guess the > original work. The list of functions looks roughly like the list included in the draft (I believe numbered 0) that was brought into the April meeting as a basis for discussion. It included essentially the union of all functions people at the prior meeting had considered including. At the April meeting the working group actually decided to exclude several functions from the supplement, including seekdir() and telldir() (also getpass() and chroot()). While seekdir() and telldir() were certainly considered during the drafting of the original 1003.1 standard, good rationale for omitting them was never captured; Appendix B outlines a technique to use in place of these functions, but that technique is no more (perhaps even less) portable than seekdir()/telldir(). The topic was the subject of some significant discussion during balloting, and not resolved to everyone's satisfaction. At the April meeting the Working Group agreed that the real need was for a portable means to traverse file trees in processes with limited file descriptors, and is pursuing a solution based loosely on ftw(). The draft of revsion 1003.1a, currently being balloted, adds rationale for exclusion of these functions (as well as getpass() and chroot()). The two most recent proposals on file tree traversal are in the August P1003.1 mailing. The current direction seems to be based on the idea of ftopen(), ftread(), and ftclose() outlined at the end of the Fowler-Korn-Vo proposal (P1003.1/N172). I expect this to be discussed at length at the next meeting (October in Brussels), and possibly subsequent meetings. While the USENIX Standards Watchdog Committee and this forum are certainly useful, they are no substitute for direct participation in the committees themselves, either as a source of timely and accurate information or as a mechanism for providing input. In particular, the single sentence about functions in Supplement B is far from a complete account of the topic, and should not be expected to be one. Of course all of the above represents only my opinions and recollections. Bob Lenk rml@hpfcla.hp.com hplabs!hpfcla!rml Volume-Number: Volume 17, Number 24