1. Opening & Introductions

Welcome to the 2nd Joint PASC/TOG/WG15 Revision Group meeting. Andrew Josey called the meeting to order at 9.20am Tuesday March 2, at Sun's facility in Menlo Park, CA.

1.1 Introductions

1.1.1 Attendance list

Name

Position

Email

Andrew Josey

Chair, TOG/PASC

ajosey@opengroup.org

Jim Zepeda

HP, TOG

jzepeda@cup.hp.com

Frank Prindle

DoD, TOG/PASC

prindle@voicenet.com

Lee Damico

Sun, TOG

lee.damico@eng.sun.com

Andrew Roach

Sun, TOG

andrew.roach@eng.sun.com

Don Cragun

Sun, TOG/PASC

don.cragun@eng.sun.com

Finnbarr Murphy

Compaq, TOG

fpm@zk3.dec.com

Nick Stoughton

Usenix , PASC/WG15/TOG

nick@usenix.org

Andrew Gollan

Sun, TOG (XNET)

adjg@eng.sun.com

Josee Auber

HP, TOG (XNET)

josee_aubur@grenoble.hp.com

Peter Anvin

Transmeta, Linux Community

hpa@transmeta.com

Note: Andrew Gollan, Josee Auber from XNET attended only part-time on Day 1 to discuss networking issues. Andrew Roach attended part time on Day 3. Peter Anvin attended on Day 3 only.

1.2 Approve Agenda

Andrew outlined the overall purpose of the meeting, giving some of the choices that we need to address.

Nick Stoughton agreed to act as secretary (reluctantly). The position of secretary will be discussed later on the agenda.

1.3 Scope

Andrew presented AUSTIN/10, an overview of the project's goals and scope for those who are new. There is a mailing list (austin-group@opengroup.org) , which currently has 64 members. See http://www.opengroup.org/austin/ for further details.

1.4 Minutes of Previous meeting (AUSTIN/7)

The previous minutes were approved as distributed.

1.4.1 Matters Arising - Action Item Review

A9809-01 AJ to prepare web-site and mailing list for common materials, and publicize both to the group.

CLOSED, web-site is www.opengroup.org/austin

A9809-02 CR to check if there are projects using 1003.2d (Batch) within DoD.

CLOSED - .2d is in use.

A9809-03 AJ to produce some formal strawman requirements for further discussion

CLOSED, see AUSTIN/5

A9809-04 AJ to produce a long version of the scope to attach to the PAR

CLOSED - see AUSTIN/9

A9809-05 AJ to email AUSTIN/3 and AUSTIN/4 to the people who will be attending Thursday's teleconference

CLOSED

A9809-06 KS to prepare a liaison statement to ISO-C for our approval ahead of their October 1998 meeting

CLOSED, SEE AUSTIN/8

A9809-07 AJ to go away and examine scalability and come back with concrete proposals.

CLOSED, see A9809-08

A9809-08 AJ to compile a problem statement in conjunction with the proposals in A9809-07 for the scalability and extensibility issues.

CLOSED, see email austin-59

A9809-09 MB to add columns to AUSTIN/6 for what .13, FIPS, & SUS require to be able to control.

OPEN

A9809-10 AJ to request a PDF version of .13 to add to the group reference CD

CLOSED, on the reference CD.

A9809-11 TOG to talk to IEEE re IPR issues and report back by next meeting

CLOSED, see agenda item on status reports.

2. Procedures

Several attempts were made to contact Keld Simonsen in order to obtain his input on the procedures, but his number was busy. (+45 3322 6543). Roger Martin used his pager to send email to Keld to get him to call in.

Roger Martin presented AUSTIN/14. This document has been produced by the JPC, The most contentious phrase was felt to be that regarding copyright. The proposal is to drop this phrase, and have any document copyrighted by whichever organization is appropriate.

Keld finally reached at 10:42. The only example of a joint copyright is with regard to the NP&L guide; Bob Pritchard and Lowell Johnson are investigating this. AGREED that this should not be an impediment to immediate progress.

What about balloting? If each organization conducts its own ballot process in parallel with the JWG developing the draft, who is responsible for ballot resolution? How does ballot resolution work? Nick stated that if the ballot comments received were technically valid comments, then it was the JWG's problem to reword the draft accordingly. Roger agreed, and added that procedural ballots are not our responsibility, and should be addressed by the individual groups.

3. Identification of ORs and Chair Election

PASC - Don Cragun. WG15 - Nick Stoughton. TOG - Jim Zepeda.

Andrew Josey resigned as chair, and was promptly re-elected (meeting was jointly chaired by the ORs as vice-chairs for 5 seconds).

4. Status Reports

4.1 IEEE

AJ has met once, in November, with Denise Pribula, Mary Shepherd, and Judy Gorman at the IEEE. This was a briefing on what the Austin Group is, what are the ramifications, etc. The key to success is to establish a business relationship between IEEE and TOG. IEEE need to derive revenue from sale of the standards. Since TOG also sells, and gives away for free, there must be an agreement on how to prevent loss of revenue to IEEE.

The negotiations to date propose that there are different packagings from IEEE and TOG: a UNIX standard from TOG, a POSIX standard from IEEE. If we want an IEEE standard it must go through an IEEE process. A PAR has been submitted to this end. IEEE do not believe that there is any need for ISO copyright. The documents must follow IEEE style rules.

A draft memo of understanding from the IEEE is due very soon. This is likely to need substantial modification before this group can agree to it.

4.2 PASC

.1a ballot closed yesterday. .2b is ready to go into ballot very soon. .1d is close. .1j is the most likely to fail of the realtime standards. .1h is unlikely to make the deadline. A draft of .1n has now been produced. ACTION AJ to obtain a copy of .1n (corrigenda) for reference CD.

The PAR (or PARs) will be presented. Finnbarr pointed out that the 4 projects are locked together so closely that we want to regard it as a single entity, hence one PAR. If the project is split into 4, then there should be wording to the effect that "this standard may not be approved unless the others are". Also that it is a single group that is responsible for the production of these 4 documents.

ACTION NS and AJ to prepare the other three PARs in case they are required.

There is a strong opinion that there should be only one ballot group. Sign up for one, sign up for all.

4.3 JPC

Procedures draft discussed above.

5. Old Business

5.1 Networking Scope

Networking interfaces. It was previously agreed that XNS and 1003.1g would only be considered in scope if 1003.1g had passed RevCom by 12/31/99. The most recent recirculation achieved 79%. It is going to RevCom in June. There may be some procedural objections, again. Should we consider networking interfaces anyway? A new version of XNS is being released, which will include IPv6 interfaces. This is expected this year. AGREED network interfaces should be in scope.

How do we deal with things that are in .1g as mandatory (XTI and raw sockets for example), but are felt by the WG as needing to be optional (or omitted altogether)? The "loophole" we could use is that if .1g had been published before .13 slice and dice, then .13 would have made these things optional, so we should make this extension anyway. The XNET group was encouraged to mark XTI interfaces as obsolescent/legacy in this new version, thus removing these interfaces from our scope.

AGREED: Raw Sockets, XTI and advanced API to IPv6 should be optional (at best).

Thread awareness for networking interfaces should be considered. However, this does not need to be in the scope explicitly, since this would fall under the general harmonization principles of the entire document.

ACTION AJ to ensure that all networking bodies (e.g. XoTGNET and PASC-Distributed Systems) realize that they are explicitly invited to these meetings.

5.2 Inclusion of C Standard Interfaces

How do we handle the duplicate interface definitions between ISO C and the Single UNIX Specification (see email seq 44, 46, 47); for a view of the scope of the issue look at the fseek() specification in ISO C, POSIX and SUS.

Keld was again called to obtain his input, but the number was again busy.

Issues are in:

1. New interfaces from C9x, not in XSH or POSIX

2. Interfaces derived from SVID, now in XSH but not in POSIX, which have been adopted by C

3. Interfaces in POSIX that have extensions over C

4. Interfaces in POSIX that reference 9899.

Most believed it useful for a programmer to have a single complete reference place. This standard (the revised POSIX std) should describe how the C functions behave in a POSIX environment, which may often include extensions to the C requirements. Where POSIX or XSH make additional requirements, there is general agreement that such a function should be documented, at least as well as it is now in POSIX. Should it be completely documented (as in XSH) or extensions only (as in POSIX)?

Keld reached. C9x is going out this month for final DIS. It is expected to make IS this year (so will be called c99).

ISSUE: how to handle these overlapping functions. Proposal: document all functions but clearly identify which words give way to C standard.

ACTION: AJ to provide KS with some examples of how a function (e.g. fseek) might look in time for the next WG14 meeting in London, WB 21 June.

ACTION: Keld to supply a list of overlapping functions between XSH and ISO-C that may have problems.

6. New Business

6.1 What to do if POSIX.2b Fails.

We should back the efforts being made within PASC to complete this work before the deadline, and address the issue of what to do if it fails only when we are sure that it will.

6.2 What to do if Other POSIX Projects Fail

We have a commitment to address any of these projects should they fail. As soon as it becomes clear that a project has not got the time remaining to make the deadline, the PASC WG should make a representation to us on whether or not to take this work on.

ACTION: AJ (as PASC study group chair) to pass this invitation to PASC at their next meeting.

6.3 Cross Book References

AGREED: We should not revise any of the four parts without considering the whole.

6.4 Name Space Reservation

Can we reserve namespace for anticipated work? E.g. Distributed realtime? Use of the posix_ prefix should be sufficient. The current .1a draft has tried to end the reservation of namespaces for all time, but may not have done the job adequately. Whatever happens, we will need to address this area again in the revision process.

7. Breakout Groups

Two small groups; System Interfaces (Nick, Frank, Lee), Commands and Utils (Don, Finnbarr, Jim).

Substantial issues around style; how do we mark optional parts; how do we mark extensions from ISO-C; how do we present functions/utilities (e.g. standard TOG style, some derivation of POSIX style, etc)

DWC would like to retain the TOG style of shading. The name section should call out the unit(s) of functionality that require this function/utility. Any optional behavior is then shaded, with a two character code describing the option.

Rationale is interesting!

Subgroup consent list (items 1-7 are based on a draft document proposed by Andrew Josey overnight later to become Austin/16):

1. POSIX_VDISABLE, POSIX_SAVED_IDS and POSIX_JOB_CONTROL should be removed as options, the functionality that they specified should become mandatory, but sysconf() with these names should be valid, and should return 1 (and the names have to be defined in <unistd.h>).

2. There should be a new unit of functionality _POSIX_PII

3. The proposed names POSIX_CHAR_HANDLING, POSIX_MATHS, POSIX_JUMPS, POSIX_GENERAL, POSIX_STRING_HANDLING, and POSIX_DATE_ should be replaced by a single unit of functionality, _POSIX_C_LANG_SUPPORT

4. The units of functionality should all be option names (i.e. start with _)

5. POSIX_ASYNC_IO, POSIX_CHOWN_RESTRICTED, POSIX_NO_TRUNC, POSIX_PRIO_IO, and POSIX_SYNC_IO are not options, but file system properties, and require no shading.

6. Add option groups for POSIX_RAW_SOCKETS, POSIX_XTI, POSIX_IPV6, [[and POSIX_IPV6_EXT??]].

7. Margin markers are AIO (async IO), FSC (Fsync), MF (Mapped Files), ML (Memlock), MLR (Memlock Range), MPR (Memory Protection), MSG (Message Passing), PIO (Pri IO), PS (Priority Scheduling), RTS (Realtime Signals), SEM (Semaphores), SHM (Shared memory), SIO (Sync IO), TMR (Timers), THR (Threads), TSF (Thread Safe Functions), TSA (Thread Attr Stack Addr), TSS (Thread Attr StackSize), TSH (Thread Process Shared), TPI (Thread PRIO Inherit), TPS (Thread Priority Sched), TPP (Thread PRIO Protect), XTI (XTI), RS (Raw Sockets), IP6 (Ipv6), IPE (Ipv6 Advanced API)

8. On-line version, the margin characters are hyperlinks back to definition.

9. The change history must include the differences from the 1996 version of POSIX, and not just from previous X/Open specs.

10. OH markings: All <sys/types.h> where marked as OH in a synopsis, this entire line should be removed, and the change history needs to note that although sys/types.h was required for conforming implementations of previous POSIX systems, it was not required for UNIX applications. Implementations are now required to make any types used visible through whatever header is required in the synopsis. This is typically achieved via inclusion of sys/types.h in that header.

11. EX markings by default disappear (i.e. the shading and margin markings go, but the text remains), and the change history is updated to state that "This new requirement derives from alignment with the Single Unix Specification".

12. FIPS markings, in general, should revert to the POSIX wording.

13. .1a/.2b merge will not happen until those specs are finalized.

14. SEE ALSO section should reference the rationale where appropriate

· ACTION: AJ to check SUD to see if there are good examples that could be pulled in to the "Examples" sections.

8. Discussion and approval of structure plans for each volume.

NOTE: Lowell Johnson (via telephone) suggested that IEEE will require SGML for electronic publishing. There was a general feeling that this was the editor's choice. ISSUE if SGML is used as a starting point, this may mean that the SUD rather SUS is used as a base doc, which is less familiar to most people in the WG.

We should try and end up with SGML, even if this is generated from troff.

AGREED: We should extend our scope to allow us to correct UN, PI, OF, OP marked sections of XCU, and these sections should become either mandatory or removed (or possibly moved into an option/feature group).

The Application Usage, Examples, Future Directions, and Rationale sections of an interface description are not normative (they are informative), and should have POSIX style rationale bars to show this.

AGREED XSH Draft 1 should contain section 1 from POSIX.1, and similarly for .2 and XCU.

9. Consideration of what can be merged into D1

AGREED that POSIX_VERSION will not be changed at draft 1 (use XSH value), but will be set to a new value at publication time.

Must do a pass through for D1 looking for material in POSIX not in SUS - introductory material in particular. Usually this will go into the page on the relevant header file (e.g. signal concepts into signal.h).

9.1 Scalability Issues

What to do about large files in pax/tar/cpio? POSIX does not tar or cpio, but supports those formats through pax. The pax utility will support a new, extensible, format (in .2b). The ar utility is worse, but the format of the archive file itself is not specified. It is not intended that this be changed.

AGREED we will adopt the new pax format from .2b when that document is complete. We will not update the tar or cpio formats. The current standards do not specify the format of ar archives, and we will not add a specification of the ar format.

9.2 Document Review Procedures

Either use aardvark or use the TOG web based paragraph comment procedure.

AGREED we will use PDF or PostScript documents, comments submitted via aardvark, submitted either via email or a web-based form.

ACTION AJ to produce aardvark generator form for web based submission.

9.3 Additional UNIX Units of Functionality

Andrew discussed a proposal for AUSTIN/18 ( a document breaking down the XSH/XCU additions over POSIX, with the aim of creating a set of options). At least

· System V Signals

· System V IPC (or maybe Sys V SHMEM, SV MSG, SV SEM)

· VFS Filesystem

· STREAMS

· User accounting

· User context

· Pseudo TTY

· Historical date & time

· Additional process waiting

should be added as options or removed.

Others should be added as options, possibly with a suggestion (editorial) that this becomes a mandatory function.

The group did a pass thru the whole document and noted the following to produce AUSTIN/18.

System V IPC: three new options POSIX_SYSV_SHM, POSIX_SYSV_SEM, POSIX_SYSV_MSG. All three options include ftok() and ipcs utility.

Symlinks all become mandatory, except lchown(), with editorial note that they are coming from .1a

POSIX_TIMERS2 option, recommendation that it become a part of POSIX_TIMER option. Select() moves from this list to join poll in _POSIX_POLL and _POSIX_SELECT options.

Priority scheduling and resource limits; new options POSIX_RLIMITS [getrlimit, getrusage, and setrlimit]and POSIX_SCHEDULING [getpriority and setpriority].

[Lowell joined by telephone to discuss procedural things; ACTION AJ to update Lowell on current negotiations with IEEE]

Additional directory: new option POSIX_SEEKDIR (seekdir, telldir).

Setjmp; POSIX_SETJMP (_setjmp and _longjmp) recommendation that these become mandatory

Syslog; POSIX_LOGGING_BASIC (as from SRASS, or POSIX_SYSLOG).

User and Group access: POSIX_USERDB recommended mandatory

Historical pattern matching (basename/dirname). Temporary option POSIX_PATHNAME with editorial note that these are recommended to become mandatory.

BSD String ops; POSIX_STRINGS ffs, strcasecmp and strncasecmp are generally useful. The remainder are obsolescent (bcmp, bcopy, bzero, index and rusage).

NDBM: POSIX_NDBM

User Accounting? POSIX_UTMPX (ttyslot is legacy and should go)

User Context? POSIX_CONTEXT

VFS Access? POSIX_VFS

Additional Math library; POSIX_MATHLIB significant portion is in c99 and needs checking and marking appropriately

Sys V Signals? Remove legacy (sigstack). Temporary option POSIX_SYSV_SIGNALS with editorial note to make them mandatory later.

Additional System Interfaces; remove legacy functions (chroot, cuserid, getpass, swab); new temporary option POSIX_STD_FUNCS, recommend all become mandatory except gethostid, and getwd, add fchmod. Mknod should also be here, but optional.

Additional stat interfaces; all rolled into POSIX_STD_FUNCS

Additional wait interfaces; POSIX_WAITID with just waitid in it.

Additional termio interfaces; POSIX_TCGETSID, will probably become mandatory

Additional Search Functions; POSIX_SEARCH option.

Additional Standard Library interfaces; initstate, setstate, random and srandom all go to POSIX_RANDOM. Ecvt, fcvt, gcvt all go to POSIX_MATHLIB. The remainder (a64l, l64a, realpath and getsubopt) all go to POSIX_STD_FUNCS, and should become mandatory.

Valloc - legacy, so gone

Tempfile; POSIX_TEMPFILE

String; move strdup and memccpy to POSIX_STD_FUNCS, and recommend mandatory.

Pseudo TTY; new option POSIX_PTY

Vector IO; POSIX_VECTOR_IO, recommend mandatory.

Stderr; new option POSIX_FMTMSG.

Ftime; option POSIX_DATETIME, recommend legacy.

Ctype: move to POSIX_STD_FUNCS recommend mandatory.

Hash table: move these to POSIX_SEARCH

Random numbers: new option POSIX_RANDOM.

Environment: POSIX_PUTENV recommend legacy when 1a merge is done

Ulimit: POSIX_RLIMITS, possibly legacy

File Tree walking; POSIX_FTW.

Dynamic libraries: POSIX_DYNAMIC_LINK option.

Threads extensions: POSIX_THREADS_EXT, with recommendation to become part of POSIX_THREADS.

Large File Support; POSIX_LFS, recommend mandatory.

Data size neutrality; mark as POSIX_INTEGRAL_TYPES, and note that this will be overtaken by c99.

Misc functions: move to POSIX_STD_FUNCS, recommend mandatory.

I18n: most in MSE already; statement up front that notes that any requirement of c99 is a requirement for the new standard. New option POSIX_I18N for strfmon and strptime recommend mandatory.

Message catalogue functions; POSIX_MSG_CATALOG.

Character set conversions: POSIX_ICONV, suggest mandatory.

AGREED any place that there is existing application usage suggesting a better alternative should become legacy.

Encryption functions: POSIX_CRYPT, must be optional by US law.

XCU options:

POSIX_SYSV_SHM, POSIX_SYSV_SEM and POSIX_SYSV_MSG; any/all of these options control ipcs and ipcrm.

POSIX_LINK for link and unlink.

POSIX_SCCS option for all sccs commands.

POSIX_DEVTOOLS for cflow and cxref.

AGREED any other area of XCU marked as EX, this should become mandatory.

9.4 Report of the Study Group

ACTION: AJ to request a special plenary of SSWG on Wednesday evening at Charlotte in order to bring in all the other .1 amendments.

Formal report required, but it only needs to say "Met, considered, and prepared a PAR". PAR will be promoted by DWC to the PMC. Arguing for a single PAR, but there will be three cloned PARs in Don's back pocket in case.

9.5 Extensibility

How do we extend this standard in the future? How does an independent standard (e.g. 1003.21) relate to this work? Do we need to do anything to allow for this (e.g. namespace reservation)?

AGREED there will be no additional namespace reservation beyond that brought in by .1a.

The group considered extensibility and recommends that other standards define their own extensions using their own Feature Test macro (or macros) and following the namespace rules. The conformance section for the standard should call out the relevant parts of the referenced base document are required.

9.6 Secretary

Should the group have a single secretary or a rotating one? No, Nick should be stuck with it.

10. Closing

10.1 Review of Action Items

A9809-09 MB to add columns to AUSTIN/6 for what .13, FIPS, & SUS require to be able to control.

A9903-01 AJ to obtain a copy of .1n (corrigenda) for reference CD.

A9903-02 NS and AJ to prepare the other three PARs for the PASC-PMC in case they are required.

A9903-03 AJ to ensure that all networking bodies (e.g. XoTGNET and PASC-Distributed Systems) realize that they are explicitly invited to Austin Group meetings.

A9903-04 AJ to provide KS with some examples of how a function (e.g. fseek) might look in time for the next WG14 meeting in London, WB 21 June.

A9903-05 Keld Simonsen to supply a list of overlapping functions between XSH and ISO-C that may have problems if specified in the new Standard.

A9903-06 AJ (as PASC study group chair) to ensure that all projects that are within the scope (or possible scope; e.g. projects that may fail to reach the deadline) realize that they should be involved in the Austin Group work, and are appropriately invited to attend.

A9903-07 AJ to check SUD to see if there are good examples that could be pulled in to the "Examples" sections.

A9903-08 AJ to add Peter Anvin to the Austin group reflector

A9903-09 FP to obtain a draft of 1003.1n for editorial information (not draft 1 inclusion) ASAP

A9903-10 AJ to update Lowell on current negotiations with IEE

A9903-11 AJ to request a special plenary of SSWG on Wednesday evening at Charlotte

A9903-12 AJ to alter scope to correct UN, PI, OF, OP marked sections of XCU, and OH sections of XSH.

A9903-13 AJ to circulate documents from this meeting ASAP

A9903-14 AJ to provide DWC with updated PAR (PARs) in time for the PMC meeting.

A9903-15 AJ to discuss with Lowell meeting fees for the Montreal meeting

10.2 Document Register

AUSTIN/15

Andrew Josey

Agenda for March 1999 Meeting

AUSTIN/16r1

Andrew Josey

POSIX.13 Slice and Dice Units of Functionality

AUSTIN/17r1

Andrew Josey

Option Margin Markers

AUSTIN/18

Andrew Josey

Options for XSH/XCU additions

AUSTIN/19

Nick Stoughton

Issues arising from March 1999 Meeting

AUSTIN/20

Nick Stoughton

Consent items from March 1999 Meeting

AUSTIN/21

Nick Stoughton

Minutes of the March 1999 Meeting

10.3 Next Meeting(s)

The next meeting will be in Montreal, July 20-22. 0900-1800 each day. December 6-10 for draft 2 review. Location for December to be decided, but Copenhagen, Reading and Cupertino are all possibilities (at least tentative invitations exist to all three).