Scroll to navigation

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 для погрішностей у програмуванні багатобайтових або широких знаків.


Список аргументів занадто великий.


Доступ заборонено.


Адреса вже використовується.


Адреса недосяжна.


Непідтримуване сімейство адрес.


Ресурс тимчасово недоступний.


З'єднання вже в прогресі.


Поганий дескриптор файлу.


Погане повідомлення.


Ресурс зайнятий.


Операцію скасовано.


Немає дочірнього процесу.


З'єднання припинено.


Відмова у з'єднанні.


З'єднання перезаладовано.


Уникнуто зависання ресурсу.


Необхідна адреса пункту призначення.


Помилка домену (області).


Резервовано.


Файл існує.


Погана адреса.


Файл занадто великий.


Хост недосяжний.


Ідентифікатор вилучено.


Недопустима послідовність байтів.


Операція у прогресі.


Перерваний виклик функції.


Нечинний аргумент.


Помилка вводу/виводу.


Сокет вже сполучено.


Це директорія.


Забагато рівнів символічних посилань.


Забагато відкритих файлів.


Забагато посилань.


Непридатна довжина буферу повідомлення.


Резервовано.


Занадто довга назва файлу.


Мережа неробоча.


З'єднання припинено мережею.


Мережа недоступна.


Забагато відкритих файлів в системі.


Немає вільного буферного простору.


Немає повідомлення для запиту прочитання заголовку STREAM.


Такий прилад відсутній.


Немає такого файлу чи каталогу.


Помилка формату виконання.


Немає в наявності замків.


Резервовано.


Недостатньо місця/простору.


Немає повідомлення бажаного типу.


Немає в наявності такого протоколу.


Не залишилось місця на пристрої.


Немає ресурсів STREAM (потоку).


Не є STREAM (потоком).


Функцію не реалізовано.


Сокет не під'єднано.


Не є каталогом.


Каталог не є порожнім.


Не є сокетом.


Не підтримується.


Непридатна операція вводу/виводу.


Не існує такого пристрою чи адреси.


Операція не підтримується для сокету.


Значення завелике, щоб бути збереженим у цьому типу даних.


Заборонена операція.


Перерваний конвеєр.


Протокольна помилка.


Протокол не підтримується.


Помилковий тип протоколу для сокету.


Результат занадто великий.


Файлова система тільки для читання.


Нечинний пошук.


Процес відсутній.


Резервовано.


Ліміт часу STREAM (потокового) ioctl().


Вийшов ліміт часу операції.


Тестовий файл зайнятий.


Операція буде блокувати (може мати таке саме значення, що й EAGAIN).


Невластиве посилання.

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

perror(3), strerror(3)

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL