WG15 Defect Report Ref: 9945-1-14
Topic: format of directory entries, use of read/write


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

.

Last update: 1997-05-20


                                                                9945-1-90 #14
 _____________________________________________________________________________


	Topic:			format of directory entries, use of read/write
	Relevant Sections:	5.1.1
	Classification: No change required.


Defect Report:
-----------------------


Request (Paul Rabin #10)

    In 5.1.1 Format of Directory Entries, page 83, line 10:

	"The internal format of directories is unspecified."
 
    In 5.3.1.4 Errors [Open a File], page 90, lines 256-257:
 
	"[EISDIR]	The named file is a directory, and the oflag
			argument specifies write or read/write access."
 
    Traditional implementations permitted the use of the read()
    function on directory files, so no error condition is defined in
    POSIX.1 for this case.  May a conforming application open a 
    directory file and read it using the open() and read() functions?
 
WG15 response for ISO/IEC 9945-1:1990 (IEEE Std 1003.1-1990)
--------------------------------------------------



Yes, a conforming application can invoke read() on a directory,
however, the result of any such read() is unspecified, and may be
an error return, including [EISDIR].

Rationale for Interpretation:
-----------------------------

Nothing in the standard prevents an application from using the
open() and read() functions on a directory, but an
application which uses knowledge of a particular implementation's
format for directories is using a non-portable extension.

Implementations are free to return anything they want from a
read() to a directory.  For example, read() could always return
zero, or -1 with some appropriate errno.

 _____________________________________________________________________________