EINTR |
Системный вызов был прерван. Прерываемые системные вызовы рассматриваются в главе 12. |
EINVAL |
Возвращается, если системный вызов получил недопустимый аргумент. |
EIO |
Ошибка ввода-вывода. Обычно генерируется драйвером устройства для обозначения ошибки в оборудовании или неисправимой ошибку взаимодействия с устройством. |
EISDIR |
Возвращается системными вызовами, требующими имя файла, например unlink(), если последний компонент в имени пути является каталогом, а не файлом, а данная операция не может быть применена к каталогу. |
ELOOP |
Возвращается системными вызовами, которые принимают путь, если при разборе пути встречается слишком много символических ссылок в строке (то есть символические ссылки, указывающие на символические ссылки, которые, в свою очередь, указывают на символические ссылки и так далее). Текущее ограничение — 16 символических ссылок на строку. |
EMFILE |
Возвращается, если для вызываемого процесса нельзя открыть больше файлов. |
EMLINK |
Возвращается link(), если в компонуемом файле уже содержится максимальное количество ссылок для файловой системы (в стандартной файловой системе Linux этот максимум составляет 32 000). |
ENAMETOOLONG |
Имя пути слишком длинное либо для системы, либо для файловой системы, к которой вы пытаетесь получить доступ. |
ENFILE |
Возвращается, если ни один процесс системы не может открыть больше ни одного файла. |
ENODEV |
Возвращается mount(), если запрошенный тип файловой системы не доступен. Возвращается open() при попытке открыть специальный файл для устройства, для которого нет ассоциированного драйвера в ядре. |
ENOENT |
Файл или каталог не существует. Возвращается при попытке получить доступ к несуществующему файлу или каталогу. |
ENOEXEC |
Ошибка исполняемого формата. Может появиться при попытке запустить (устаревший) а.out в системе, в которой отсутствует поддержка бинарных файлов а.out. Может также встречаться при попытке запуска бинарного файла формата ELF, собранного для другой архитектуры центрального процессора. |
ENOMEM |
Не хватает памяти. Возвращается функциями brk() и mmap() при неудачной попытке распределения памяти. |
ENOSPC |
Возвращается write() при попытке записать файл длиннее, чем объем свободного пространства в файловой системе. |
NOSYS |
Системный вызов не реализован. Обычно происходит при запуске нового исполняемого файла на старом ядре, которое не поддерживает системный вызов. |
ENOTBLK |
Системный вызов mount() возвращает эту ошибку при попытке смонтировать в качестве файловой системы файл, не являющийся специальным файлом блочного устройства. |
ENOTDIR |
Промежуточный компонент пути существует, но не является каталогом. Возвращается любым системным вызовом, принимающим имя файла. |
ENOTEMPTY |
Возвращается rmdir(), если удаляемый каталог не пуст. |
ENOTTY |
Обычно встречается, когда приложение, которое пытается обратиться к терминалу, запущено с перенаправлением ввода или вывода в канал. Но также может встречаться при попытке совершить операцию ввода-вывода на неправильном типе устройства. Стандартное сообщение об ошибке в этом случае, "not a typewriter", может сбить с толку. |
ENXIO |
Нет такого устройства или адреса. Обычно генерируется при попытке открыть специальный файл устройства, который ассоциируется с частью не установленного или не настроенного оборудования. |
EPERM |
У процесса недостаточно полномочий для завершения операции. Эта ошибка обычно встречается в файловых операциях. См. главу 11. |
EPIPE |
Возвращается write(), если читающая сторона канала или сокета закрыта и захвачен или проигнорирован сигнал SIGPIPE. См. главу 12. |
ERANGE |
Не являясь ошибкой системного вызова, ERANGE устанавливается математическими функциями, если результат невозможно представить возвращаемым типом. Эта ошибка может также возникать в других функциях, если им передается слишком короткий буфер для возвращаемой строки. (Для диапазона этой ошибке соответствует EINVAL.) |
EROFS |
Возвращается write() при попытке записать в файловую систему, доступную только для чтения. |
ESPIPE |
Возвращается lseek() при навигации по файлу, дескриптор которого не поддерживает навигацию (включая файловые дескрипторы для каналов, именованных каналов и сокетов). См. главы 11 и 17. |
ESRCH |
Нет такого процесса. См. главу 10. |
ETXTBSY |
Возвращается open() при попытке открыть на запись запущенный исполняемый файл или совместно используемую библиотеку или любой другой файл, отображенный на память с установленным флажком MAP_DENYWRITE (см. главу 13). Чтобы избежать такого поведения, необходимо переименовать файл, сделать новую копию с таким же именем, как у старого файла, и работать с этой новой копией. См. главу 11 с обсуждением того, почему так происходит. |
EXDEV |
Возвращается link(), если исходные и целевые файлы находятся в разных файловых системах. |