errno - выдает код последней ошибки
НАЗВАНИЕerrno - выдает код последней ошибки
СИНТАКСИС
extern int errno;
ОПИСАНИЕ
Целое число errno устанавливается системными вызовами (а
также некоторыми библиотечными функциями) для определения
вида ошибки. Его величина значима только тогда, когда
вызов возвратил ошибку (обычно -1), и библиотечные
функции, которые смогли обработать ситуацию, могут
изменить errno. Иногда, когда -1 является только одним из
возвращаемых значений функции, необходимо обнулять errno
перед вызовом (для определения возможных ошибок). errno
определено стандартом ISO C как изменяемое значение типа
int и не должно явно объявляться: errno может быть и
макросом. errno является локальным подпроцессом;
изменение его в одном подпроцессе не влияет на его
значение в другом процессе. Все правильные номера ошибок
являются ненулевыми значениями; Ни одна из библиотечных
функций не устанавливает значение errno равным нулю. Все
названия ошибок, определенные в стандарте POSIX.1, должны
иметь четко определенные значения. POSIX.1 (редакция
1996) определяет следующие символьные названия ошибок.
Среди них EDOM и ERANGE также принадлежат к стандарту ISO
C. Поправка #1 ISO C описывает дополнительную ошибку
EILSEQ для указания на проблемы при работе с
многобайтовыми или широкими символами.
E2BIG Слишком длинный список параметров
EACCES Доступ запрещен
EAGAIN Ресурс временно недоступен
EBADF Неправильный описатель файла
EBADMSG
Неправильное сообщение
EBUSY Ресурс занят
ECANCELED
Операция отменена
ECHILD Нет процессов-потомков
EDEADLK
Ресурс уже разблокирован
EDOM Ошибка домена
EEXIST Файл уже существует
EFAULT Неверный адрес
EFBIG Файл слишком велик
EINPROGRESS
Операция еще выполняется
EINTR Работа функции прервана
EINVAL Неверный аргумент
EIO Ошибка ввода/вывода
EISDIR Это каталог
EMFILE Слишком много открытых файлов
EMLINK Слишком много ссылок
EMSGSIZE
Hедостаточная длина буфера сообщений
ENAMETOOLONG
Имя файла слишко длинное
ENFILE Слишком много открытых файлов в системе
ENODEV Устройство отсутствует
ENOENT Отсутствует файл или каталог
ENOEXEC
Hеверный формат Exec
ENOLCK Hет доступных блокировок
ENOMEM Hедостаточно места
ENOSPC Hедостаточно свободного места на устройстве
ENOSYS Функция не реализована
ENOTDIR
Это не каталог
ENOTEMPTY
Каталог не пуст
ENOTSUP
Hе поддерживается
ENOTTY Hекорректная операция ввода/вывода
ENXIO Hеправильный адрес или устройство
EPERM Операция запрещена
EPIPE Разорванный канал
ERANGE Результат слишком велик
EROFS Файловая система открыта только для чтения
ESPIPE Hеверное позиционирование
ESRCH Hет процесса
ETIMEDOUT
Время работы операции истекло
EXDEV Hекорректная ссылка
Множество других ошибок возвращается различными
реализациями Unix. System V возвращает ошибку ETXTBSY
("текстовый файл занят"), если кто-нибудь пытается
исполнить файл exec(), который в данный момент открыт для
записи. Linux возвращает такую же ошибку, если кто-нибудь
попытается открыть файл для записи и одновременно
отобразить его в памяти с флагом VM_DENYWRITE.