<!DOCTYPE html>
<html class="client-nojs" lang="ru" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Errno.h</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://ru.wikipedia.org/wiki/Errno.h"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.legacy.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    <link href="./_mw_/ext.gadget.common-site.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.gadget.logo.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector.css">
  </head>

  <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Errno_h rootpage-Errno_h skin-vector action-view">
    <div id="content" class="mw-body" role="main">
      <a id="top"></a>
      <h1 id="firstHeading" class="firstHeading mw-first-heading">errno.h</h1>
      <div id="bodyContent" class="vector-body">
        <div id="contentSub">
          <div id="mw-content-subtitle"></div>
        </div>
        <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="ru" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="ru" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r138740689">
/* start https://ru.wikipedia.org/ */


.mw-parser-output .ts-Боковая_навигационная_таблица-body{float:right;clear:right;width:23em;margin:0 0 1.0em 1.0em;background:var(--background-color-interactive-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);color:inherit;padding:0.4em;border-spacing:0.2em;text-align:center;line-height:1.4em;font-size:90%}.mw-parser-output .ts-Боковая_навигационная_таблица-outerTitle{padding-bottom:0.2em;font-size:125%;line-height:1.15em;font-weight:bold}.mw-parser-output .ts-Боковая_навигационная_таблица-topImage{padding:0 0 0.4em}.mw-parser-output .ts-Боковая_навигационная_таблица-topImage-caption,.mw-parser-output .ts-Боковая_навигационная_таблица-image-caption{padding-top:0.2em;line-height:1.2em}.mw-parser-output .ts-Боковая_навигационная_таблица-preTitle{padding-top:0.4em}.mw-parser-output .ts-Боковая_навигационная_таблица-topImage-row+tr>.ts-Боковая_навигационная_таблица-preTitle{padding-top:0}.mw-parser-output .ts-Боковая_навигационная_таблица-image{padding:0.4em 0 0.4em}.mw-parser-output .ts-Боковая_навигационная_таблица-title{padding:0.2em 0.4em 0.2em;font-size:125%;line-height:1.15em;font-weight:bold;background:var(--ruwiki-background-color-blue200,#cfe3ff);color:inherit}.mw-parser-output .ts-Боковая_навигационная_таблица-above{padding:0.2em 0.4em 0.2em;font-weight:bold}.mw-parser-output .ts-Боковая_навигационная_таблица-below{padding:0.2em 0.4em 0.2em;font-weight:bold;background:var(--background-color-progressive-subtle,#eaf3ff);color:inherit}.mw-parser-output .ts-Боковая_навигационная_таблица-heading{padding:0.2em 0;font-weight:bold;background:var(--background-color-progressive-subtle,#eaf3ff);color:inherit}.mw-parser-output .ts-Боковая_навигационная_таблица-list{padding:0.2em 0}


/* end   https://ru.wikipedia.org/ */
</style>
<p><b>errno.h</b>&nbsp;— <a href="%D0%97%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%84%D0%B0%D0%B9%D0%BB" title="Заголовочный файл">заголовочный файл</a> <a href="%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0" title="Стандартная библиотека">стандартной библиотеки</a> <a href="C_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" class="mw-redirect" title="C (язык программирования)">языка программирования С</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>, содержащий объявление макроса для идентификации ошибок через их код. <a href="POSIX" title="POSIX">POSIX</a>-совместимые операционные системы, наподобие <a href="Unix" title="Unix">Unix</a> и <a href="Linux" title="Linux">Linux</a>, могут включать другие макросы для определения ошибок через собственные коды <code>errno</code>. Значение <code>errno</code> имеет смысл только тогда, когда системный вызов или функция возвращает признак ошибки.
</p>

<div class="mw-heading mw-heading2"><h2 id="Макросы_и_типы"><span id=".D0.9C.D0.B0.D0.BA.D1.80.D0.BE.D1.81.D1.8B_.D0.B8_.D1.82.D0.B8.D0.BF.D1.8B"></span>Макросы и типы</h2></div>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;errno.h&gt;</span>
<span class="cp">#define EDOM</span>
<span class="cp">#define EILSEQ</span>
<span class="cp">#define ERANGE</span>
<span class="k">extern</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">errno</span><span class="p">;</span>
</pre></div>
<p>Заголовочный файл определяет следующие макросы: <code>EDOM</code>, <code>EILSEQ</code>, <code>ERANGE</code>. Они имеют тип <code>int</code>, имеют положительное значение и могут использоваться в <a href="%D0%9F%D1%80%D0%B5%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80_%D0%A1%D0%B8" title="Препроцессор Си">препроцессорных</a> директивах <code>#if</code>. При запуске программы значение <code>errno</code> равно нулю.
</p>
<table class="wikitable">

<tbody><tr>
<th>Макрос</th>
<th>Расшифровка</th>
<th>Смысловое значение
</th></tr>
<tr>
<td>EDOM</td>
<td><b>E</b>rror <b>dom</b>ain</td>
<td>Ошибка области определения
</td></tr>
<tr>
<td>EILSEQ</td>
<td><b>E</b>rror <b>i</b>nva<b>l</b>id <b>seq</b>uence</td>
<td>Ошибочная последовательность байтов
</td></tr>
<tr>
<td>ERANGE</td>
<td><b>E</b>rror <b>range</b></td>
<td>Результат слишком велик
</td></tr></tbody></table>
<p>Заголовочный файл определяет <code>errno</code> как изменяемое <a href="Lvalue" class="mw-redirect" title="Lvalue">lvalue</a>, которое может быть макросом или идентификатором с внешним связыванием.
</p><p>В случае ошибки некоторые библиотечные функции заносят в <code>errno</code> положительное значение, но никогда не обнуляют его. Стандарт не специфицирует какие-либо иные коды ошибок.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="POSIX">POSIX</h2></div>
<p>Сообщение об ошибке может быть получено с помощью потокобезопасной функции <code>strerror_r()</code> (<code><a href="Strerror" title="Strerror">strerror()</a></code> для однопоточных программ) или выведено в поток ошибок с помощью <code><a href="Perror" class="mw-redirect" title="Perror">perror</a>()</code>.
</p><p>Стандарт POSIX определяет следующие символьные имена ошибок<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>:
</p>
<table class="wikitable">

<tbody><tr>
<th>Макрос</th>
<th>Сообщение
</th></tr>
<tr>
<td>E2BIG</td>
<td>Список аргументов слишком длинный
</td></tr>
<tr>
<td>EACCES</td>
<td>Отказ в доступе
</td></tr>
<tr>
<td>EADDRINUSE</td>
<td>Адрес используется
</td></tr>
<tr>
<td>EADDRNOTAVAIL</td>
<td>Адрес недоступен
</td></tr>
<tr>
<td>EAFNOSUPPORT</td>
<td>Семейство адресов не поддерживается
</td></tr>
<tr>
<td>EAGAIN</td>
<td>Ресурс временно недоступен
</td></tr>
<tr>
<td>EALREADY</td>
<td>Соединение уже устанавливается
</td></tr>
<tr>
<td>EBADF</td>
<td>Неправильный дескриптор файла
</td></tr>
<tr>
<td>EBADMSG</td>
<td>Неправильное сообщение
</td></tr>
<tr>
<td>EBUSY</td>
<td>Ресурс занят
</td></tr>
<tr>
<td>ECANCELED</td>
<td>Операция отменена
</td></tr>
<tr>
<td>ECHILD</td>
<td>Нет дочернего процесса
</td></tr>
<tr>
<td>ECONNABORTED</td>
<td>Соединение прервано
</td></tr>
<tr>
<td>ECONNREFUSED</td>
<td>Соединение отклонено
</td></tr>
<tr>
<td>EDEADLK</td>
<td>Обход тупика ресурсов
</td></tr>
<tr>
<td>EDESTADDRREQ</td>
<td>Требуется адрес назначения
</td></tr>
<tr>
<td><b>EDOM</b></td>
<td>Ошибка области определения
</td></tr>
<tr>
<td>EDQUOT</td>
<td>Зарезервировано
</td></tr>
<tr>
<td>EEXIST</td>
<td>Файл существует
</td></tr>
<tr>
<td>EFAULT</td>
<td>Неправильный адрес
</td></tr>
<tr>
<td>EFBIG</td>
<td>Файл слишком велик
</td></tr>
<tr>
<td>EHOSTUNREACH</td>
<td>Хост недоступен
</td></tr>
<tr>
<td>EIDRM</td>
<td>Идентификатор удален
</td></tr>
<tr>
<td><b>EILSEQ</b></td>
<td>Ошибочная последовательность байтов
</td></tr>
<tr>
<td>EINPROGRESS</td>
<td>Операция в процессе выполнения
</td></tr>
<tr>
<td>EINTR</td>
<td>Прерванный вызов функции
</td></tr>
<tr>
<td>EINVAL</td>
<td>Неправильный аргумент
</td></tr>
<tr>
<td>EIO</td>
<td>Ошибка ввода-вывода
</td></tr>
<tr>
<td>EISCONN</td>
<td>Сокет (уже) соединен
</td></tr>
<tr>
<td>EISDIR</td>
<td>Это каталог
</td></tr>
<tr>
<td>ELOOP</td>
<td>Слишком много уровней символических ссылок
</td></tr>
<tr>
<td>EMFILE</td>
<td>Слишком много открытых файлов
</td></tr>
<tr>
<td>EMLINK</td>
<td>Слишком много связей
</td></tr>
<tr>
<td>EMSGSIZE</td>
<td>Неопределённая длина буфера сообщения
</td></tr>
<tr>
<td>EMULTIHOP</td>
<td>Зарезервировано
</td></tr>
<tr>
<td>ENAMETOOLONG</td>
<td>Имя файла слишком длинное
</td></tr>
<tr>
<td>ENETDOWN</td>
<td>Сеть не работает
</td></tr>
<tr>
<td>ENETRESET</td>
<td>Соединение прервано сетью
</td></tr>
<tr>
<td>ENETUNREACH</td>
<td>Сеть недоступна
</td></tr>
<tr>
<td>ENFILE</td>
<td>Слишком много открытых файлов в системе
</td></tr>
<tr>
<td>ENOBUFS</td>
<td>Буферное пространство недоступно
</td></tr>
<tr>
<td>ENODEV</td>
<td>Нет такого устройства
</td></tr>
<tr>
<td>ENOENT</td>
<td>Нет такого файла или каталога
</td></tr>
<tr>
<td>ENOEXEC</td>
<td>Ошибка формата исполняемого файла
</td></tr>
<tr>
<td>ENOLCK</td>
<td>Блокировка недоступна
</td></tr>
<tr>
<td>ENOLINK</td>
<td>Зарезервировано
</td></tr>
<tr>
<td>ENOMEM</td>
<td>Недостаточно памяти
</td></tr>
<tr>
<td>ENOMSG</td>
<td>Сообщение нужного типа отсутствует
</td></tr>
<tr>
<td>ENOPROTOOPT</td>
<td>Протокол недоступен
</td></tr>
<tr>
<td>ENOSPC</td>
<td>Памяти на устройстве не осталось
</td></tr>
<tr>
<td>ENOSYS</td>
<td>Функция не реализована
</td></tr>
<tr>
<td>ENOTCONN</td>
<td>Сокет не соединен
</td></tr>
<tr>
<td>ENOTDIR</td>
<td>Это не каталог
</td></tr>
<tr>
<td>ENOTEMPTY</td>
<td>Каталог непустой
</td></tr>
<tr>
<td>ENOTSOCK</td>
<td>Это не сокет
</td></tr>
<tr>
<td>ENOTSUP</td>
<td>Не поддерживается
</td></tr>
<tr>
<td>ENOTTY</td>
<td>Неопределённая операция управления вводом-выводом
</td></tr>
<tr>
<td>ENXIO</td>
<td>Нет такого устройства или адреса
</td></tr>
<tr>
<td>EOPNOTSUPP</td>
<td>Операция сокета не поддерживается
</td></tr>
<tr>
<td>EOVERFLOW</td>
<td>Слишком большое значение для типа данных
</td></tr>
<tr>
<td>EPERM</td>
<td>Операция не разрешена
</td></tr>
<tr>
<td>EPIPE</td>
<td>Разрушенный канал
</td></tr>
<tr>
<td>EPROTO</td>
<td>Ошибка протокола
</td></tr>
<tr>
<td>EPROTONOSUPPORT</td>
<td>Протокол не поддерживается
</td></tr>
<tr>
<td>EPROTOTYPE</td>
<td>Ошибочный тип протокола для сокета
</td></tr>
<tr>
<td><b>ERANGE</b></td>
<td>Результат слишком велик
</td></tr>
<tr>
<td>EROFS</td>
<td>Файловая система только на чтение
</td></tr>
<tr>
<td>ESPIPE</td>
<td>Неправильное позиционирование
</td></tr>
<tr>
<td>ESRCH</td>
<td>Нет такого процесса
</td></tr>
<tr>
<td>ESTALE</td>
<td>Зарезервировано
</td></tr>
<tr>
<td>ETIMEDOUT</td>
<td>Операция задержана
</td></tr>
<tr>
<td>ETXTBSY</td>
<td>Текстовый файл занят
</td></tr>
<tr>
<td>EWOULDBLOCK</td>
<td>Блокирующая операция
</td></tr>
<tr>
<td>EXDEV</td>
<td>Неопределённая связь
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Ссылки"><span id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"></span>Ссылки</h2></div>
<ul><li><code><a rel="nofollow" class="external text" href="http://www.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html">errno.h</a></code>&nbsp;—&nbsp;основные определения, <a href="Single_Unix_Specification" class="mw-redirect" title="Single Unix Specification">The Single UNIX® Specification</a>, выпуск 7 от <a href="The_Open_Group" title="The Open Group">The Open Group</a> &nbsp;<span class="ref-info" title="на английском языке" style="cursor:help;">(англ.)</span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Примечания"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.87.D0.B0.D0.BD.D0.B8.D1.8F"></span>Примечания</h2></div>
<div class="reflist columns" style="list-style-type: decimal;">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">ISO IEC 9899 1999 - C99, §7.5</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf">ISO/IEC 9899:1999</a></span><span class="hidden-ref" style="display:none;">&nbsp;</span>. Дата обращения: 30 июля 2011. <a rel="nofollow" class="external text" href="https://www.webcitation.org/618HUIDTw?url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf">Архивировано</a> 22 августа 2011 года.</span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=errno&amp;category=3">Системное руководство по использованию errno.h</a></span><span class="hidden-ref" style="display:none;">&nbsp;</span>. Дата обращения: 17 января 2012. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160304134410/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=errno&amp;category=3">Архивировано</a> 4 марта 2016 года.</span></span>
</li>
</ol></div></div></div><!--htdig_noindex--><div><div class="zim-footer">
    Эта статья взята у (из) <a class="external text" title="Последний раз редактировалась 2025-07-16" href="https://ru.wikipedia.org/wiki/?title=Errno.h&amp;oldid=146212116">Википедия</a>. Текст лицензируется по <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.ru">Creative Commons Attribution-Share Alike 4.0</a>. К медиа файлам могут применятся дополнительные условия.
</div>
</div><!--/htdig_noindex--></div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>