<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled" lang="en" 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://en.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_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    
    <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-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Errno_h rootpage-Errno_h skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading">errno.h</h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1333133064">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:"\a0 · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end   https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1246091330">
/* start https://en.wikipedia.org/ */


.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}


/* end   https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1238254908">
/* start https://en.wikipedia.org/ */


.mw-parser-output .c-standard-library .sidebar-content{text-align:left}


/* end   https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r886049734">
/* start https://en.wikipedia.org/ */


.mw-parser-output .monospaced{font-family:monospace,monospace}


/* end   https://en.wikipedia.org/ */
</style><table class="sidebar nomobile nowraplinks c-standard-library" role="navigation"><tbody><tr><th class="sidebar-title"><a href="C_standard_library" title="C standard library">C standard library</a> (libc)</th></tr><tr><th class="sidebar-heading">
General topics</th></tr><tr><td class="sidebar-content">
<ul><li><a href="C_data_types" title="C data types">Data types</a></li>
<li><a href="C_character_classification" title="C character classification">Character classification</a></li>
<li><a href="C_string_handling" title="C string handling">Strings</a></li>
<li><a href="C_mathematical_functions" title="C mathematical functions">Mathematics</a></li>
<li><a href="C_file_input/output" title="C file input/output">File input/output</a></li>
<li><a href="C_date_and_time_functions" title="C date and time functions">Date/time</a></li>
<li><a href="C_localization_functions" title="C localization functions">Localization</a></li>
<li><a href="C_dynamic_memory_allocation" title="C dynamic memory allocation">Memory allocation</a></li>
<li><a href="C_process_control" title="C process control">Process control</a></li>
<li><a href="C_signal_handling" title="C signal handling">Signals</a></li>
<li><a href="C_alternative_tokens" title="C alternative tokens">Alternative tokens</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Miscellaneous headers</th></tr><tr><td class="sidebar-content">
<ul><li><span class="monospaced">&lt;<a href="Assert.h" title="Assert.h">assert.h</a>&gt;</span></li>
<li><span class="monospaced">&lt;<a class="mw-selflink selflink">errno.h</a>&gt;</span></li>
<li><span class="monospaced">&lt;<a href="Setjmp.h" title="Setjmp.h">setjmp.h</a>&gt;</span></li>
<li><span class="monospaced">&lt;<a href="Stdarg.h" title="Stdarg.h">stdarg.h</a>&gt;</span></li></ul></td>
</tr><tr><td class="sidebar-navbar"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end   https://en.wikipedia.org/ */
</style></td></tr></tbody></table>
<p><b><span class="monospaced">&lt;errno.h&gt;</span></b> is a <a href="Header_file" class="mw-redirect" title="Header file">header file</a> in the <a href="C_standard_library" title="C standard library">standard library</a> of the <a href="C_(programming_language)" title="C (programming language)">C programming language</a>. It defines <a href="Macro_(computer_science)" title="Macro (computer science)">macros</a> for reporting and retrieving error conditions using the symbol <code>errno</code> (short form for "error number").<sup id="cite_ref-C11_1-0" class="reference"><a href="#cite_note-C11-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p><code>errno</code> acts like an integer variable. A value (the error number) is stored in <code>errno</code> by certain <a href="Library_function" class="mw-redirect" title="Library function">library functions</a> when they detect errors. At program startup, the value stored is zero. Library functions store only values greater than zero. Any library function can alter the value stored before return, whether or not they detect errors.<sup id="cite_ref-C99_2-0" class="reference"><a href="#cite_note-C99-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Most functions indicate that they detected an error by returning a special value, typically <a href="Null_pointer" title="Null pointer"><span class="monospaced">NULL</span></a> for functions that return <a href="Pointer_(computer_programming)" title="Pointer (computer programming)">pointers</a>, and <span class="monospaced">-1</span> for functions that return integers. A few functions require the caller to preset <code>errno</code> to zero and test it afterwards to see if an error was detected.
</p><p>The <code>errno</code> macro expands to an <a href="Value_(computer_science)" title="Value (computer science)">lvalue</a> with type <code>int</code>, sometimes with the <code>extern</code> and/or <code>volatile</code> type specifiers depending upon the platform.<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> Originally this was a static memory location, but macros are almost always used today to allow for <a href="Multithreading_(software)" class="mw-redirect" title="Multithreading (software)">multi-threading</a>, so that each thread will see its own <a href="Thread-local_storage" title="Thread-local storage">thread-local</a> error number.
</p><p>The header file also defines macros that expand to integer constants that represent the error codes. The <a href="C_standard_library" title="C standard library">C standard library</a> only requires three to be defined:<sup id="cite_ref-C99_2-1" class="reference"><a href="#cite_note-C99-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<table class="wikitable">

<tbody><tr>
<td><span class="monospaced">EDOM</span></td>
<td>A parameter was outside a function's domain, e.g. <code class="mw-highlight mw-highlight-lang-c mw-content-ltr" style="" dir="ltr"><span class="n">sqrt</span><span class="p">(</span><span class="mi">-1</span><span class="p">)</span></code>
</td></tr>
<tr>
<td><span class="monospaced">ERANGE</span></td>
<td>A result outside a function's range, e.g. <code class="mw-highlight mw-highlight-lang-c mw-content-ltr" style="" dir="ltr"><span class="n">strtol</span><span class="p">(</span><span class="s">"0xfffffffff"</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span></code> on systems with a 32-bit wide <code>long</code>
</td></tr>
<tr>
<td><span class="monospaced">EILSEQ</span></td>
<td><small>(Required since 1994 Amendment 1 to C89 standard)</small><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><br>Illegal byte sequence, e.g. <code class="mw-highlight mw-highlight-lang-c mw-content-ltr" style="" dir="ltr"><span class="n">mbstowcs</span><span class="p">(</span><span class="n">buf</span><span class="p">,</span><span class="w"> </span><span class="s">"</span><span class="se">\xff</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span></code> on systems that use <a href="UTF-8" title="UTF-8">UTF-8</a>.
</td></tr></tbody></table>
<p><a href="POSIX" title="POSIX">POSIX</a> compliant <a href="Operating_system" title="Operating system">operating systems</a> like <a href="AIX" class="mw-redirect" title="AIX">AIX</a>, <a href="Linux" title="Linux">Linux</a> or <a href="Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a> include many other error values, many of which are used much more often than the above ones, such as <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">EACCES</code> for when a file cannot be opened for reading.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> <a href="C%2B%2B11" title="C++11">C++11</a> additionally defines many of the same values found within the POSIX specification.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>Traditionally, the first page of <a href="Man_page" title="Man page">Unix system manuals</a>, named intro(2), lists all errno.h macros, but this is not the case with <a href="Linux" title="Linux">Linux</a>, where these macros are instead listed in the errno(3).<sup id="cite_ref-FOOTNOTEStevensRago201314_7-0" class="reference"><a href="#cite_note-FOOTNOTEStevensRago201314-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p>An <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">errno</code> can be translated to a descriptive string using <span class="monospaced"><a href="Strerror" class="mw-redirect" title="Strerror">strerror</a></span> (defined in <a href="String.h" class="mw-redirect" title="String.h"><span class="monospaced">&lt;string.h&gt;</span></a>) or a BSD extension called <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">sys_errlist</code>. The translation can be printed directly to the <a href="Standard_error_stream" class="mw-redirect" title="Standard error stream">standard error stream</a> using <span class="monospaced"><a href="Perror" class="mw-redirect" title="Perror">perror</a></span> (defined in <a href="Stdio.h" class="mw-redirect" title="Stdio.h"><span class="monospaced">&lt;stdio.h&gt;</span></a>). As <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">strerror</code> in many Unix-like systems is not thread-safe, a thread-safe version <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">strerror_r</code> is used, but conflicting definitions from POSIX and GNU makes it even less portable than the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">sys_errlist</code> table.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>

<div class="mw-heading mw-heading2"><h2 id="POSIX_errors">POSIX errors</h2></div>
<p>The <a href="Glibc" title="Glibc">GNU C library</a> (GLIBC) provides the additional <a href="POSIX" title="POSIX">POSIX</a> error values macros in the header file <span class="monospaced">&lt;errno.h&gt;</span>.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> These are the descriptions of the macros provided by <span class="monospaced"><a href="Strerror" class="mw-redirect" title="Strerror">strerror</a></span>.
</p>
<table class="wikitable sortable">

<tbody><tr>
<th>Symbol</th>
<th>Value<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup></th>
<th>Description
</th></tr>
<tr>
<td><span class="monospaced">EPERM</span></td>
<td><span class="monospaced">1</span></td>
<td>Operation not permitted
</td></tr>
<tr>
<td><span class="monospaced">ENOENT</span></td>
<td><span class="monospaced">2</span></td>
<td>No such file or directory
</td></tr>
<tr>
<td><span class="monospaced">ESRCH</span></td>
<td><span class="monospaced">3</span></td>
<td>No such process
</td></tr>
<tr>
<td><span class="monospaced">EINTR</span></td>
<td><span class="monospaced">4</span></td>
<td>Interrupted system call
</td></tr>
<tr>
<td><span class="monospaced">EIO</span></td>
<td><span class="monospaced">5</span></td>
<td>Input/output error
</td></tr>
<tr>
<td><span class="monospaced">ENXIO</span></td>
<td><span class="monospaced">6</span></td>
<td>No such device or address
</td></tr>
<tr>
<td><span class="monospaced">E2BIG</span></td>
<td><span class="monospaced">7</span></td>
<td>Argument list too long
</td></tr>
<tr>
<td><span class="monospaced">ENOEXEC</span></td>
<td><span class="monospaced">8</span></td>
<td>Exec format error
</td></tr>
<tr>
<td><span class="monospaced">EBADF</span></td>
<td><span class="monospaced">9</span></td>
<td>Bad file descriptor
</td></tr>
<tr>
<td><span class="monospaced">ECHILD</span></td>
<td><span class="monospaced">10</span></td>
<td>No child processes
</td></tr>
<tr>
<td><span class="monospaced">EAGAIN</span></td>
<td><span class="monospaced">11</span></td>
<td>Resource temporarily unavailable
</td></tr>
<tr>
<td><span class="monospaced">ENOMEM</span></td>
<td><span class="monospaced">12</span></td>
<td>Cannot allocate memory
</td></tr>
<tr>
<td><span class="monospaced">EACCES</span></td>
<td><span class="monospaced">13</span></td>
<td>Permission denied
</td></tr>
<tr>
<td><span class="monospaced">EFAULT</span></td>
<td><span class="monospaced">14</span></td>
<td>Bad address
</td></tr>
<tr>
<td><span class="monospaced">ENOTBLK</span></td>
<td><span class="monospaced">15</span></td>
<td>Block device required
</td></tr>
<tr>
<td><span class="monospaced">EBUSY</span></td>
<td><span class="monospaced">16</span></td>
<td>Device or resource busy
</td></tr>
<tr>
<td><span class="monospaced">EEXIST</span></td>
<td><span class="monospaced">17</span></td>
<td>File exists
</td></tr>
<tr>
<td><span class="monospaced">EXDEV</span></td>
<td><span class="monospaced">18</span></td>
<td>Invalid cross-device link
</td></tr>
<tr>
<td><span class="monospaced">ENODEV</span></td>
<td><span class="monospaced">19</span></td>
<td>No such device
</td></tr>
<tr>
<td><span class="monospaced">ENOTDIR</span></td>
<td><span class="monospaced">20</span></td>
<td>Not a directory
</td></tr>
<tr>
<td><span class="monospaced">EISDIR</span></td>
<td><span class="monospaced">21</span></td>
<td>Is a directory
</td></tr>
<tr>
<td><span class="monospaced">EINVAL</span></td>
<td><span class="monospaced">22</span></td>
<td>Invalid argument
</td></tr>
<tr>
<td><span class="monospaced">ENFILE</span></td>
<td><span class="monospaced">23</span></td>
<td>Too many open files in system
</td></tr>
<tr>
<td><span class="monospaced">EMFILE</span></td>
<td><span class="monospaced">24</span></td>
<td>Too many open files
</td></tr>
<tr>
<td><span class="monospaced">ENOTTY</span></td>
<td><span class="monospaced">25</span></td>
<td>Inappropriate ioctl for device
</td></tr>
<tr>
<td><span class="monospaced">ETXTBSY</span></td>
<td><span class="monospaced">26</span></td>
<td>Text file busy
</td></tr>
<tr>
<td><span class="monospaced">EFBIG</span></td>
<td><span class="monospaced">27</span></td>
<td>File too large
</td></tr>
<tr>
<td><span class="monospaced">ENOSPC</span></td>
<td><span class="monospaced">28</span></td>
<td>No space left on device
</td></tr>
<tr>
<td><span class="monospaced">ESPIPE</span></td>
<td><span class="monospaced">29</span></td>
<td>Illegal seek
</td></tr>
<tr>
<td><span class="monospaced">EROFS</span></td>
<td><span class="monospaced">30</span></td>
<td>Read-only file system
</td></tr>
<tr>
<td><span class="monospaced">EMLINK</span></td>
<td><span class="monospaced">31</span></td>
<td>Too many links
</td></tr>
<tr>
<td><span class="monospaced">EPIPE</span></td>
<td><span class="monospaced">32</span></td>
<td>Broken pipe
</td></tr>
<tr>
<td><span class="monospaced">EDOM</span></td>
<td><span class="monospaced">33</span></td>
<td>Numerical argument out of domain
</td></tr>
<tr>
<td><span class="monospaced">ERANGE</span></td>
<td><span class="monospaced">34</span></td>
<td>Numerical result out of range
</td></tr>
<tr>
<td><span class="monospaced">EDEADLK</span></td>
<td><span class="monospaced">35</span></td>
<td>Resource deadlock avoided
</td></tr>
<tr>
<td><span class="monospaced">ENAMETOOLONG</span></td>
<td><span class="monospaced">36</span></td>
<td>File name too long
</td></tr>
<tr>
<td><span class="monospaced">ENOLCK</span></td>
<td><span class="monospaced">37</span></td>
<td>No locks available
</td></tr>
<tr>
<td><span class="monospaced">ENOSYS</span></td>
<td><span class="monospaced">38</span></td>
<td>Function not implemented
</td></tr>
<tr>
<td><span class="monospaced">ENOTEMPTY</span></td>
<td><span class="monospaced">39</span></td>
<td>Directory not empty
</td></tr>
<tr>
<td><span class="monospaced">ELOOP</span></td>
<td><span class="monospaced">40</span></td>
<td>Too many levels of symbolic links
</td></tr>
<tr>
<td><span class="monospaced">ENOMSG</span></td>
<td><span class="monospaced">42</span></td>
<td>No message of desired type
</td></tr>
<tr>
<td><span class="monospaced">EIDRM</span></td>
<td><span class="monospaced">43</span></td>
<td>Identifier removed
</td></tr>
<tr>
<td><span class="monospaced">ECHRNG</span></td>
<td><span class="monospaced">44</span></td>
<td>Channel number out of range
</td></tr>
<tr>
<td><span class="monospaced">EL2NSYNC</span></td>
<td><span class="monospaced">45</span></td>
<td>Level 2 not synchronized
</td></tr>
<tr>
<td><span class="monospaced">EL3HLT</span></td>
<td><span class="monospaced">46</span></td>
<td>Level 3 halted
</td></tr>
<tr>
<td><span class="monospaced">EL3RST</span></td>
<td><span class="monospaced">47</span></td>
<td>Level 3 reset
</td></tr>
<tr>
<td><span class="monospaced">ELNRNG</span></td>
<td><span class="monospaced">48</span></td>
<td>Link number out of range
</td></tr>
<tr>
<td><span class="monospaced">EUNATCH</span></td>
<td><span class="monospaced">49</span></td>
<td>Protocol driver not attached
</td></tr>
<tr>
<td><span class="monospaced">ENOCSI</span></td>
<td><span class="monospaced">50</span></td>
<td>No CSI structure available
</td></tr>
<tr>
<td><span class="monospaced">EL2HLT</span></td>
<td><span class="monospaced">51</span></td>
<td>Level 2 halted
</td></tr>
<tr>
<td><span class="monospaced">EBADE</span></td>
<td><span class="monospaced">52</span></td>
<td>Invalid exchange
</td></tr>
<tr>
<td><span class="monospaced">EBADR</span></td>
<td><span class="monospaced">53</span></td>
<td>Invalid request descriptor
</td></tr>
<tr>
<td><span class="monospaced">EXFULL</span></td>
<td><span class="monospaced">54</span></td>
<td>Exchange full
</td></tr>
<tr>
<td><span class="monospaced">ENOANO</span></td>
<td><span class="monospaced">55</span></td>
<td>No anode
</td></tr>
<tr>
<td><span class="monospaced">EBADRQC</span></td>
<td><span class="monospaced">56</span></td>
<td>Invalid request code
</td></tr>
<tr>
<td><span class="monospaced">EBADSLT</span></td>
<td><span class="monospaced">57</span></td>
<td>Invalid slot
</td></tr>
<tr>
<td><span class="monospaced">EBFONT</span></td>
<td><span class="monospaced">59</span></td>
<td>Bad font file format
</td></tr>
<tr>
<td><span class="monospaced">ENOSTR</span></td>
<td><span class="monospaced">60</span></td>
<td>Device not a stream
</td></tr>
<tr>
<td><span class="monospaced">ENODATA</span></td>
<td><span class="monospaced">61</span></td>
<td>No data available
</td></tr>
<tr>
<td><span class="monospaced">ETIME</span></td>
<td><span class="monospaced">62</span></td>
<td>Timer expired
</td></tr>
<tr>
<td><span class="monospaced">ENOSR</span></td>
<td><span class="monospaced">63</span></td>
<td>Out of streams resources
</td></tr>
<tr>
<td><span class="monospaced">ENONET</span></td>
<td><span class="monospaced">64</span></td>
<td>Machine is not on the network
</td></tr>
<tr>
<td><span class="monospaced">ENOPKG</span></td>
<td><span class="monospaced">65</span></td>
<td>Package not installed
</td></tr>
<tr>
<td><span class="monospaced">EREMOTE</span></td>
<td><span class="monospaced">66</span></td>
<td>Object is remote
</td></tr>
<tr>
<td><span class="monospaced">ENOLINK</span></td>
<td><span class="monospaced">67</span></td>
<td>Link has been severed
</td></tr>
<tr>
<td><span class="monospaced">EADV</span></td>
<td><span class="monospaced">68</span></td>
<td>Advertise error
</td></tr>
<tr>
<td><span class="monospaced">ESRMNT</span></td>
<td><span class="monospaced">69</span></td>
<td>Srmount error
</td></tr>
<tr>
<td><span class="monospaced">ECOMM</span></td>
<td><span class="monospaced">70</span></td>
<td>Communication error on send
</td></tr>
<tr>
<td><span class="monospaced">EPROTO</span></td>
<td><span class="monospaced">71</span></td>
<td>Protocol error
</td></tr>
<tr>
<td><span class="monospaced">EMULTIHOP</span></td>
<td><span class="monospaced">72</span></td>
<td>Multihop attempted
</td></tr>
<tr>
<td><span class="monospaced">EDOTDOT</span></td>
<td><span class="monospaced">73</span></td>
<td>RFS specific error
</td></tr>
<tr>
<td><span class="monospaced">EBADMSG</span></td>
<td><span class="monospaced">74</span></td>
<td>Bad message
</td></tr>
<tr>
<td><span class="monospaced">EOVERFLOW</span></td>
<td><span class="monospaced">75</span></td>
<td>Value too large for defined data type
</td></tr>
<tr>
<td><span class="monospaced">ENOTUNIQ</span></td>
<td><span class="monospaced">76</span></td>
<td>Name not unique on network
</td></tr>
<tr>
<td><span class="monospaced">EBADFD</span></td>
<td><span class="monospaced">77</span></td>
<td>File descriptor in bad state
</td></tr>
<tr>
<td><span class="monospaced">EREMCHG</span></td>
<td><span class="monospaced">78</span></td>
<td>Remote address changed
</td></tr>
<tr>
<td><span class="monospaced">ELIBACC</span></td>
<td><span class="monospaced">79</span></td>
<td>Can not access a needed shared library
</td></tr>
<tr>
<td><span class="monospaced">ELIBBAD</span></td>
<td><span class="monospaced">80</span></td>
<td>Accessing a corrupted shared library
</td></tr>
<tr>
<td><span class="monospaced">ELIBSCN</span></td>
<td><span class="monospaced">81</span></td>
<td><span class="monospaced">.lib</span> section in <span class="monospaced">a.out</span> corrupted
</td></tr>
<tr>
<td><span class="monospaced">ELIBMAX</span></td>
<td><span class="monospaced">82</span></td>
<td>Attempting to link in too many shared libraries
</td></tr>
<tr>
<td><span class="monospaced">ELIBEXEC</span></td>
<td><span class="monospaced">83</span></td>
<td>Cannot exec a shared library directly
</td></tr>
<tr>
<td><span class="monospaced">EILSEQ</span></td>
<td><span class="monospaced">84</span></td>
<td>Invalid or incomplete multibyte or wide character
</td></tr>
<tr>
<td><span class="monospaced">ERESTART</span></td>
<td><span class="monospaced">85</span></td>
<td>Interrupted system call should be restarted
</td></tr>
<tr>
<td><span class="monospaced">ESTRPIPE</span></td>
<td><span class="monospaced">86</span></td>
<td>Streams pipe error
</td></tr>
<tr>
<td><span class="monospaced">EUSERS</span></td>
<td><span class="monospaced">87</span></td>
<td>Too many users
</td></tr>
<tr>
<td><span class="monospaced">ENOTSOCK</span></td>
<td><span class="monospaced">88</span></td>
<td>Socket operation on non-socket
</td></tr>
<tr>
<td><span class="monospaced">EDESTADDRREQ</span></td>
<td><span class="monospaced">89</span></td>
<td>Destination address required
</td></tr>
<tr>
<td><span class="monospaced">EMSGSIZE</span></td>
<td><span class="monospaced">90</span></td>
<td>Message too long
</td></tr>
<tr>
<td><span class="monospaced">EPROTOTYPE</span></td>
<td><span class="monospaced">91</span></td>
<td>Protocol wrong type for socket
</td></tr>
<tr>
<td><span class="monospaced">ENOPROTOOPT</span></td>
<td><span class="monospaced">92</span></td>
<td>Protocol not available
</td></tr>
<tr>
<td><span class="monospaced">EPROTONOSUPPORT</span></td>
<td><span class="monospaced">93</span></td>
<td>Protocol not supported
</td></tr>
<tr>
<td><span class="monospaced">ESOCKTNOSUPPORT</span></td>
<td><span class="monospaced">94</span></td>
<td>Socket type not supported
</td></tr>
<tr>
<td><span class="monospaced">EOPNOTSUPP</span></td>
<td><span class="monospaced">95</span></td>
<td>Operation not supported
</td></tr>
<tr>
<td><span class="monospaced">EPFNOSUPPORT</span></td>
<td><span class="monospaced">96</span></td>
<td>Protocol family not supported
</td></tr>
<tr>
<td><span class="monospaced">EAFNOSUPPORT</span></td>
<td><span class="monospaced">97</span></td>
<td>Address family not supported by protocol
</td></tr>
<tr>
<td><span class="monospaced">EADDRINUSE</span></td>
<td><span class="monospaced">98</span></td>
<td>Address already in use
</td></tr>
<tr>
<td><span class="monospaced">EADDRNOTAVAIL</span></td>
<td><span class="monospaced">99</span></td>
<td>Cannot assign requested address
</td></tr>
<tr>
<td><span class="monospaced">ENETDOWN</span></td>
<td><span class="monospaced">100</span></td>
<td>Network is down
</td></tr>
<tr>
<td><span class="monospaced">ENETUNREACH</span></td>
<td><span class="monospaced">101</span></td>
<td>Network is unreachable
</td></tr>
<tr>
<td><span class="monospaced">ENETRESET</span></td>
<td><span class="monospaced">102</span></td>
<td>Network dropped connection on reset
</td></tr>
<tr>
<td><span class="monospaced">ECONNABORTED</span></td>
<td><span class="monospaced">103</span></td>
<td>Software caused connection abort
</td></tr>
<tr>
<td><span class="monospaced">ECONNRESET</span></td>
<td><span class="monospaced">104</span></td>
<td>Connection reset by peer
</td></tr>
<tr>
<td><span class="monospaced">ENOBUFS</span></td>
<td><span class="monospaced">105</span></td>
<td>No buffer space available
</td></tr>
<tr>
<td><span class="monospaced">EISCONN</span></td>
<td><span class="monospaced">106</span></td>
<td>Transport endpoint is already connected
</td></tr>
<tr>
<td><span class="monospaced">ENOTCONN</span></td>
<td><span class="monospaced">107</span></td>
<td>Transport endpoint is not connected
</td></tr>
<tr>
<td><span class="monospaced">ESHUTDOWN</span></td>
<td><span class="monospaced">108</span></td>
<td>Cannot send after transport endpoint shutdown
</td></tr>
<tr>
<td><span class="monospaced">ETOOMANYREFS</span></td>
<td><span class="monospaced">109</span></td>
<td>Too many references: cannot splice
</td></tr>
<tr>
<td><span class="monospaced">ETIMEDOUT</span></td>
<td><span class="monospaced">110</span></td>
<td>Connection timed out
</td></tr>
<tr>
<td><span class="monospaced">ECONNREFUSED</span></td>
<td><span class="monospaced">111</span></td>
<td>Connection refused
</td></tr>
<tr>
<td><span class="monospaced">EHOSTDOWN</span></td>
<td><span class="monospaced">112</span></td>
<td>Host is down
</td></tr>
<tr>
<td><span class="monospaced">EHOSTUNREACH</span></td>
<td><span class="monospaced">113</span></td>
<td>No route to host
</td></tr>
<tr>
<td><span class="monospaced">EALREADY</span></td>
<td><span class="monospaced">114</span></td>
<td>Operation already in progress
</td></tr>
<tr>
<td><span class="monospaced">EINPROGRESS</span></td>
<td><span class="monospaced">115</span></td>
<td>Operation now in progress
</td></tr>
<tr>
<td><span class="monospaced">ESTALE</span></td>
<td><span class="monospaced">116</span></td>
<td>Stale file handle
</td></tr>
<tr>
<td><span class="monospaced">EUCLEAN</span></td>
<td><span class="monospaced">117</span></td>
<td>Structure needs cleaning
</td></tr>
<tr>
<td><span class="monospaced">ENOTNAM</span></td>
<td><span class="monospaced">118</span></td>
<td>Not a <a href="Xenix" title="Xenix">Xenix</a> named type file
</td></tr>
<tr>
<td><span class="monospaced">ENAVAIL</span></td>
<td><span class="monospaced">119</span></td>
<td>No Xenix semaphores available
</td></tr>
<tr>
<td><span class="monospaced">EISNAM</span></td>
<td><span class="monospaced">120</span></td>
<td>Is a named type file
</td></tr>
<tr>
<td><span class="monospaced">EREMOTEIO</span></td>
<td><span class="monospaced">121</span></td>
<td>Remote I/O error
</td></tr>
<tr>
<td><span class="monospaced">EDQUOT</span></td>
<td><span class="monospaced">122</span></td>
<td>Disk quota exceeded
</td></tr>
<tr>
<td><span class="monospaced">ENOMEDIUM</span></td>
<td><span class="monospaced">123</span></td>
<td>No medium found
</td></tr>
<tr>
<td><span class="monospaced">EMEDIUMTYPE</span></td>
<td><span class="monospaced">124</span></td>
<td>Wrong medium type
</td></tr>
<tr>
<td><span class="monospaced">ECANCELED</span></td>
<td><span class="monospaced">125</span></td>
<td>Operation canceled
</td></tr>
<tr>
<td><span class="monospaced">ENOKEY</span></td>
<td><span class="monospaced">126</span></td>
<td>Required key not available
</td></tr>
<tr>
<td><span class="monospaced">EKEYEXPIRED</span></td>
<td><span class="monospaced">127</span></td>
<td>Key has expired
</td></tr>
<tr>
<td><span class="monospaced">EKEYREVOKED</span></td>
<td><span class="monospaced">128</span></td>
<td>Key has been revoked
</td></tr>
<tr>
<td><span class="monospaced">EKEYREJECTED</span></td>
<td><span class="monospaced">129</span></td>
<td>Key was rejected by service
</td></tr>
<tr>
<td><span class="monospaced">EOWNERDEAD</span></td>
<td><span class="monospaced">130</span></td>
<td>Owner died
</td></tr>
<tr>
<td><span class="monospaced">ENOTRECOVERABLE</span></td>
<td><span class="monospaced">131</span></td>
<td>State not recoverable
</td></tr>
<tr>
<td><span class="monospaced">ERFKILL</span></td>
<td><span class="monospaced">132</span></td>
<td>Operation not possible due to RF-kill
</td></tr>
<tr>
<td><span class="monospaced">EHWPOISON</span></td>
<td><span class="monospaced">133</span></td>
<td>Memory page has hardware error
</td></tr>
<tr>
<td><span class="monospaced">ENOTSUP</span></td>
<td><span class="monospaced">134</span></td>
<td>Not supported parameter or option
</td></tr>
<tr>
<td><span class="monospaced">ENOMEDIUM</span></td>
<td><span class="monospaced">135</span></td>
<td>Missing media
</td></tr>
<tr>
<td><span class="monospaced">EILSEQ</span></td>
<td><span class="monospaced">138</span></td>
<td>Invalid multibyte sequence
</td></tr>
<tr>
<td><span class="monospaced">EOVERFLOW</span></td>
<td><span class="monospaced">139</span></td>
<td>Value too large
</td></tr>
<tr>
<td><span class="monospaced">ECANCELED</span></td>
<td><span class="monospaced">140</span></td>
<td>Asynchronous operation stopped before normal completion
</td></tr>
<tr>
<td><span class="monospaced">ENOTRECOVERABLE</span></td>
<td><span class="monospaced">141</span></td>
<td>State not recoverable
</td></tr>
<tr>
<td><span class="monospaced">EOWNERDEAD</span></td>
<td><span class="monospaced">142</span></td>
<td>Previous owner died
</td></tr>
<tr>
<td><span class="monospaced">ESTRPIPE</span></td>
<td><span class="monospaced">143</span></td>
<td>Streams pipe error
</td></tr></tbody></table>
<p>The macro names and meanings for error codes are defined in the <a rel="nofollow" class="external text" href="https://pubs.opengroup.org/onlinepubs/9799919799/">POSIX Standards definition</a> however the numeric values are NOT, though by convention the values appear to be the same across different versions of Unix. Programs should not rely on specific numeric values and should test code using the macro names specified in the ERRORS section of the <a href="Man_page" title="Man page">man page</a> of the associated function. For source <a href="Code_readability" class="mw-redirect" title="Code readability">code readability</a> and <a href="Software_portability" title="Software portability"> portability</a> the use of the standard macro names in code is highly recommended.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> 
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Perror" class="mw-redirect" title="Perror">perror</a></li>
<li><a href="Strerror" class="mw-redirect" title="Strerror">strerror</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1327269900">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}body.skin-vector-2022 .mw-parser-output .reflist-columns-2{column-width:27em}body.skin-vector-2022 .mw-parser-output .reflist-columns-3{column-width:22.5em}.mw-parser-output .references[data-mw-group=upper-alpha]{list-style-type:upper-alpha}.mw-parser-output .references[data-mw-group=upper-roman]{list-style-type:upper-roman}.mw-parser-output .references[data-mw-group=lower-alpha]{list-style-type:lower-alpha}.mw-parser-output .references[data-mw-group=lower-greek]{list-style-type:lower-greek}.mw-parser-output .references[data-mw-group=lower-roman]{list-style-type:lower-roman}.mw-parser-output div.reflist-liststyle-upper-alpha .references{list-style-type:upper-alpha}.mw-parser-output div.reflist-liststyle-upper-roman .references{list-style-type:upper-roman}.mw-parser-output div.reflist-liststyle-lower-alpha .references{list-style-type:lower-alpha}.mw-parser-output div.reflist-liststyle-lower-greek .references{list-style-type:lower-greek}.mw-parser-output div.reflist-liststyle-lower-roman .references{list-style-type:lower-roman}


/* end   https://en.wikipedia.org/ */
</style><div>
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-C11-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-C11_1-0">^</a></b></span> <span class="reference-text">International Standard for Programming Language C (C11), ISO/IEC 9899:2011, p. 205</span>
</li>
<li id="cite_note-C99-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-C99_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-C99_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">International Standard for Programming Language C (C99), ISO/IEC 9899:1999, p. 186</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1333433106">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./_mw_/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./_mw_/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./_mw_/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./_mw_/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#bf3c2c)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#bf3c2c)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end   https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/libc/manual/html_node/Checking-for-Errors.html">"Checking for Errors"</a>. <i>The GNU C Library (glibc)</i>. GNU Project. 2014-02-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-06-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+GNU+C+Library+%28glibc%29&amp;rft.atitle=Checking+for+Errors&amp;rft.date=2014-02-08&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibc%2Fmanual%2Fhtml_node%2FChecking-for-Errors.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.lysator.liu.se/c/na1.html">"A brief description of Normative Addendum 1"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-09-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=A+brief+description+of+Normative+Addendum+1&amp;rft_id=http%3A%2F%2Fwww.lysator.liu.se%2Fc%2Fna1.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><span class="neverexpand"><code><a rel="nofollow" class="external text" href="https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html">errno.h</a></code></span>:&nbsp;system error numbers&nbsp;–&nbsp;Base Definitions Reference, <a href="Single_Unix_Specification" class="mw-redirect" title="Single Unix Specification">The Single UNIX Specification</a>, Version 5 from <a href="The_Open_Group" title="The Open Group">The Open Group</a></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://en.cppreference.com/w/cpp/error/errno_macros">"Error numbers - cppreference.com"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-05-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Error+numbers+-+cppreference.com&amp;rft_id=http%3A%2F%2Fen.cppreference.com%2Fw%2Fcpp%2Ferror%2Ferrno_macros&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span></span>
</li>
<li id="cite_note-FOOTNOTEStevensRago201314-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEStevensRago201314_7-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFStevensRago2013">Stevens &amp; Rago 2013</a>, p.&nbsp;14.</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFMcCabe" class="citation web cs1">McCabe, Colin. <a rel="nofollow" class="external text" href="http://www.club.cc.cmu.edu/~cmccabe/blog_strerror.html">"The problem with strerror"</a>. <i>www.club.cc.cmu.edu</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.club.cc.cmu.edu&amp;rft.atitle=The+problem+with+strerror&amp;rft.aulast=McCabe&amp;rft.aufirst=Colin&amp;rft_id=http%3A%2F%2Fwww.club.cc.cmu.edu%2F~cmccabe%2Fblog_strerror.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html">"Error Codes (The GNU C Library)"</a>. <i>www.gnu.org</i>. Mar 29, 2025<span class="reference-accessdate">. Retrieved <span class="nowrap">Apr 5,</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.gnu.org&amp;rft.atitle=Error+Codes+%28The+GNU+C+Library%29&amp;rft.date=2025-03-29&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibc%2Fmanual%2Fhtml_node%2FError-Codes.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.particle.io/reference/device-os/api/debugging/posix-errors/">"Debugging: POSIX errors"</a>. <i>particle.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">Apr 5,</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=particle.io&amp;rft.atitle=Debugging%3A+POSIX+errors&amp;rft_id=https%3A%2F%2Fdocs.particle.io%2Freference%2Fdevice-os%2Fapi%2Fdebugging%2Fposix-errors%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/libc/manual/html_node/Checking-for-Errors.html">"Checking for Errors"</a>. <i>gnu.org</i>. Free Software Foundation. Jan 26, 2025<span class="reference-accessdate">. Retrieved <span class="nowrap">Apr 6,</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=gnu.org&amp;rft.atitle=Checking+for+Errors&amp;rft.date=2025-01-26&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibc%2Fmanual%2Fhtml_node%2FChecking-for-Errors.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span> </span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite id="CITEREFPappasGazzillo2024" class="citation book cs1">Pappas, Brent; Gazzillo, Paul (2024). "Semantic Analysis of Macro Usage for Portability". <i>Proceedings of the IEEE/ACM 46th International Conference on Software Engineering</i>. pp.&nbsp;<span class="nowrap">1–</span>12. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/2401.10422">2401.10422</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3597503.3623323">10.1145/3597503.3623323</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>979-8-4007-0217-4</bdi>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Semantic+Analysis+of+Macro+Usage+for+Portability&amp;rft.btitle=Proceedings+of+the+IEEE%2FACM+46th+International+Conference+on+Software+Engineering&amp;rft.pages=1-12&amp;rft.date=2024&amp;rft_id=info%3Aarxiv%2F2401.10422&amp;rft_id=info%3Adoi%2F10.1145%2F3597503.3623323&amp;rft.isbn=979-8-4007-0217-4&amp;rft.aulast=Pappas&amp;rft.aufirst=Brent&amp;rft.au=Gazzillo%2C+Paul&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span> </span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Bibliography">Bibliography</h2></div>
<ul><li><cite id="CITEREFStevensRago2013" class="citation book cs1">Stevens, W. Richard; Rago, Stephen A. (May 24, 2013). <a rel="nofollow" class="external text" href="http://www.kohala.com/start/apue.html"><i>Advanced Programming in the UNIX Environment</i></a> (Third&nbsp;ed.). <a href="Addison-Wesley_Professional" class="mw-redirect" title="Addison-Wesley Professional">Addison-Wesley Professional</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0321637734</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">27 February</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Advanced+Programming+in+the+UNIX+Environment&amp;rft.edition=Third&amp;rft.pub=Addison-Wesley+Professional&amp;rft.date=2013-05-24&amp;rft.isbn=978-0321637734&amp;rft.aulast=Stevens&amp;rft.aufirst=W.+Richard&amp;rft.au=Rago%2C+Stephen+A.&amp;rft_id=http%3A%2F%2Fwww.kohala.com%2Fstart%2Fapue.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AErrno.h" class="Z3988"></span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><span class="neverexpand"><code><a rel="nofollow" class="external text" href="https://www.freebsd.org/cgi/man.cgi?query=intro&amp;sektion=2">intro(2)</a></code></span>&nbsp;–&nbsp;<a href="FreeBSD" title="FreeBSD">FreeBSD</a> System Calls <a href="Man_page" title="Man page">Manual</a></li>
<li><span class="neverexpand"><code><a rel="nofollow" class="external text" href="https://manned.org/errno.3">errno(3)</a></code></span>&nbsp;–&nbsp;<a href="Linux" title="Linux">Linux</a> Programmer's <a href="Man_page" title="Man page">Manual</a> – Library Functions from Manned.org</li>
<li><a rel="nofollow" class="external text" href="https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html#index-ENOBUFS-117">GNU C library manual: Error codes</a></li>
<li><a rel="nofollow" class="external text" href="https://nuetzlich.net/errno.html">Lists of errno values on Linux, both numeric and symbolic</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
    This article is issued from <a class="external text" title="Last edited on 2025-11-21" href="https://en.wikipedia.org/wiki/?title=Errno.h&amp;oldid=1323437465">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>