Почему ENOENT означает "Нет такого файла или каталога"?

Что означает ENT в ENOENT?

Не должно ли ошибка:

Нет такого файла или каталога

просто быть названным ENOFILE?

Есть какая-то история или причина?

Ответ 1

Это аббревиатура Error NO ENTry (или Error NO ENTity), и фактически может использоваться не только для файлов/каталогов.

Это сокращенно, потому что компиляторы C на заре времени не поддерживали более 8 символов в символах.

Ответ 2

Это просто "Нет такой записи в каталоге". Поскольку записи каталога могут быть каталогами или файлами (или символическими ссылками, или сокетами, или каналами или устройствами), имя ENOFILE было бы слишком узким по своему значению.