table of contents
errno(3) | 2007-10-27-16:31 | errno(3) |
НАЗВА ¶
errno - змінна збереження коду останньої помилки
СТИСЛИЙ ОГЛЯД ¶
<b>#include <errno.h></b>
<b>extern int </b><i>errno</i><b>;</b>
ОПИС ¶
Ціле число errno встановлюється системними викликами (і деякими функціями бібліотеки), щоб вказати у чому причина похибки. Її значення має зміст тільки тоді, коли виклик повернув помилку (як правило -1) і бібліотечній функції, що змогла справитися з цим, дозволено змінити errno .
Іноді, коли -1, це також чинний код повернення, вам необхідно обнулити errno перед викликом для того, щоб бути в змозі виявити можливі помилки.
errno описано у стандарті ISO C, як змінне ліве значення (lvalue) типу int і не повинна бути явно оголошеною; errno може бути також макросом. errno є локальною для програмного каналу, тому встановлення її до одного каналу не впливатиме на її зміст у інших.
Чинні значення errno повинні бути ненульовим; errno ніколи не встановлюється до нуля, жодною функцією бібліотеки. Всі назви помилок, описані POSIX.1, повинні мати окремі значення.
POSIX.1 (випущений 2001 року) перечислює наступні символічні назви помилок. Серед них EDOM і ERANGE належать також стандартові ISO C. ISO C Amendment 1 (першої редакції) описує також додатковий код помилки EILSEQ для погрішностей у програмуванні багатобайтових або широких знаків.
- E2BIG
-
Список аргументів занадто великий. - EACCES
-
Доступ заборонено. - EADDRINUSE
-
Адреса вже використовується. - EADDRNOTAVAIL
-
Адреса недосяжна. - EAFNOSUPPORT
-
Непідтримуване сімейство адрес. - EAGAIN
-
Ресурс тимчасово недоступний. - EALREADY
-
З'єднання вже в прогресі. - EBADF
-
Поганий дескриптор файлу. - EBADMSG
-
Погане повідомлення. - EBUSY
-
Ресурс зайнятий. - ECANCELED
-
Операцію скасовано. - ECHILD
-
Немає дочірнього процесу. - ECONNABORTED
-
З'єднання припинено. - ECONNREFUSED
-
Відмова у з'єднанні. - ECONNRESET
-
З'єднання перезаладовано. - EDEADLK
-
Уникнуто зависання ресурсу. - EDESTADDRREQ
-
Необхідна адреса пункту призначення. - EDOM
-
Помилка домену (області). - EDQUOT
-
Резервовано. - EEXIST
-
Файл існує. - EFAULT
-
Погана адреса. - EFBIG
-
Файл занадто великий. - EHOSTUNREACH
-
Хост недосяжний. - EIDRM
-
Ідентифікатор вилучено. - EILSEQ
-
Недопустима послідовність байтів. - EINPROGRESS
-
Операція у прогресі. - EINTR
-
Перерваний виклик функції. - EINVAL
-
Нечинний аргумент. - EIO
-
Помилка вводу/виводу. - EISCONN
-
Сокет вже сполучено. - EISDIR
-
Це директорія. - ELOOP
-
Забагато рівнів символічних посилань. - EMFILE
-
Забагато відкритих файлів. - EMLINK
-
Забагато посилань. - EMSGSIZE
-
Непридатна довжина буферу повідомлення. - EMULTIHOP
-
Резервовано. - ENAMETOOLONG
-
Занадто довга назва файлу. - ENETDOWN
-
Мережа неробоча. - ENETRESET
-
З'єднання припинено мережею. - ENETUNREACH
-
Мережа недоступна. - ENFILE
-
Забагато відкритих файлів в системі. - ENOBUFS
-
Немає вільного буферного простору. - ENODATA
-
Немає повідомлення для запиту прочитання заголовку STREAM. - ENODEV
-
Такий прилад відсутній. - ENOENT
-
Немає такого файлу чи каталогу. - ENOEXEC
-
Помилка формату виконання. - ENOLCK
-
Немає в наявності замків. - ENOLINK
-
Резервовано. - ENOMEM
-
Недостатньо місця/простору. - ENOMSG
-
Немає повідомлення бажаного типу. - ENOPROTOOPT
-
Немає в наявності такого протоколу. - ENOSPC
-
Не залишилось місця на пристрої. - ENOSR
-
Немає ресурсів STREAM (потоку). - ENOSTR
-
Не є STREAM (потоком). - ENOSYS
-
Функцію не реалізовано. - ENOTCON
-
Сокет не під'єднано. - ENOTDIR
-
Не є каталогом. - ENOTEMPTY
-
Каталог не є порожнім. - ENOTSOCK
-
Не є сокетом. - ENOTSUP
-
Не підтримується. - ENOTTY
-
Непридатна операція вводу/виводу. - ENXIO
-
Не існує такого пристрою чи адреси. - EOPNOTSUPP
-
Операція не підтримується для сокету. - EOVERFLOW
-
Значення завелике, щоб бути збереженим у цьому типу даних. - EPERM
-
Заборонена операція. - EPIPE
-
Перерваний конвеєр. - EPROTO
-
Протокольна помилка. - EPROTONOSUPPORT
-
Протокол не підтримується. - EPROTOTYPE
-
Помилковий тип протоколу для сокету. - ERANGE
-
Результат занадто великий. - EROFS
-
Файлова система тільки для читання. - ESPIPE
-
Нечинний пошук. - ESRCH
-
Процес відсутній. - ESTALE
-
Резервовано. - ETIME
-
Ліміт часу STREAM (потокового) ioctl(). - ETIMEDOUT
-
Вийшов ліміт часу операції. - ETXTBSY
-
Тестовий файл зайнятий. - EWOULDBLOCK
-
Операція буде блокувати (може мати таке саме значення, що й EAGAIN). - EXDEV
-
Невластиве посилання.
ДИВІТЬСЯ ТАКОЖ ¶
2007-10-27-16:31 | © 2005-2007 DLOU, GNU FDL |