.
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.
_____________________________________________________________________________