errno

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
               Невластиве посилання.




        ДИВІТЬСЯ ТАКОЖ

       perror(3), strerror(3)




© 2005-2007 DLOU, GNU FDL       2007-10-27-16:31                        errno(3)