Isn't struct dirent what the original UFS (Unix file system from like v3 or even earlier) had as contents of directory files? And yes, directories were files with a special bit set in permissions in UFS and BSD's FFS.<p>I'm virtually certain that exposing that on disk struct to users had so much legacy code that struct dirent was just not worth updating when the capability of using multiple file systems got added to various kernels. We're stuck with it, an accident of history, just like we're stuck with FAT filesystems for boot partitions and similar.