WG15 Defect report Ref: 9945-1-43
Topic: creat() "as if" l.193-198

This is an approved interpretation of 9945-1:1990.


Last update: 1997-05-20

                                                                9945-1-90 #43

	Topic:			creat() "as if" l.193-198
	Relevant Sections:	8.2
	Classification:		No Change required.

Defect Report:

Chapter 8 of POSIX.1 lists the functions required from the C
Standard, required as part of POSIX.1 with the C Language
Binding.  Section 8.1 lines 25-29 specify the particular
input/output functions required.  Section 8.2 lines 193-198
state that functions from the C standard which "creat[e] a
file shall do so as if they called the creat() function"
with specified flags.  Section 8.2.3 lines 341-345 describe
that each function operating on a stream has "underlying
functions" which "share certain traits with the underlying
functions, but [do] not require that there be any relation
between the implementations of the stream function and its
underlying functions."

        In lines 193-198, what does "as if" mean from a
	standards perspective?  Does it mean that it must
	behave EXACTLY in the same manner as the specified
	creat() call?  Specifically, if an additional standard
	(such as POSIX.6) imposes additional restrictions on
	open(), are they automatically imposed on the file
	creation functions, by virtue of this requirement?

(Jeremy Epstein)

WG15 response for ISO/IEC 9945-1:1990 (IEEE Std 1003.1-1990)
If an additional standard (such as POSIX.6)
means to specify that the basic semantics of file
access are to be different depending on which interface
is used, the additional standard must specify the
intended differences.

Rationale for Interpretation: