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() , если исходные и целевые файлы находятся в разных файловых системах. |
Распространены и некоторые другие коды возврата ошибок, которые относятся только к сетевым функциям. Более подробную информацию можно найти в главе 17.
9.3. Поиск заголовочных и библиотечных файлов
Заголовочные файлы в системе Linux хранятся в иерархии каталогов /usr/include
.