mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 15:06:33 +01:00
dcccbfdc79
The require('constants') module is currently undocumented and mashes together unrelated constants. This refactors the require('constants') in favor of distinct os.constants, fs.constants, and crypto.constants that are specific to the modules for which they are relevant. The next step is to document those within the specific modules. PR-URL: https://github.com/nodejs/node/pull/6534 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Lindstaedt <robert.lindstaedt@gmail.com>
1021 lines
26 KiB
Markdown
1021 lines
26 KiB
Markdown
# OS
|
|
|
|
Stability: 2 - Stable
|
|
|
|
Provides a few basic operating-system related utility functions.
|
|
|
|
Use `require('os')` to access this module.
|
|
|
|
## os.EOL
|
|
<!-- YAML
|
|
added: v0.7.8
|
|
-->
|
|
|
|
A constant defining the appropriate End-of-line marker for the operating
|
|
system.
|
|
|
|
## os.arch()
|
|
<!-- YAML
|
|
added: v0.5.0
|
|
-->
|
|
|
|
Returns the operating system CPU architecture. Possible values are `'x64'`,
|
|
`'arm'` and `'ia32'`. Returns the value of [`process.arch`][].
|
|
|
|
## os.constants
|
|
|
|
Returns an object containing commonly used operating system specific constants
|
|
for error codes, process signals, and so on. The specific constants currently
|
|
defined are described in [OS Constants][].
|
|
|
|
## os.cpus()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns an array of objects containing information about each CPU/core
|
|
installed: model, speed (in MHz), and times (an object containing the number of
|
|
milliseconds the CPU/core spent in: user, nice, sys, idle, and irq).
|
|
|
|
Example inspection of os.cpus:
|
|
|
|
```js
|
|
[ { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 252020,
|
|
nice: 0,
|
|
sys: 30340,
|
|
idle: 1070356870,
|
|
irq: 0 } },
|
|
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 306960,
|
|
nice: 0,
|
|
sys: 26980,
|
|
idle: 1071569080,
|
|
irq: 0 } },
|
|
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 248450,
|
|
nice: 0,
|
|
sys: 21750,
|
|
idle: 1070919370,
|
|
irq: 0 } },
|
|
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 256880,
|
|
nice: 0,
|
|
sys: 19430,
|
|
idle: 1070905480,
|
|
irq: 20 } },
|
|
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 511580,
|
|
nice: 20,
|
|
sys: 40900,
|
|
idle: 1070842510,
|
|
irq: 0 } },
|
|
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 291660,
|
|
nice: 0,
|
|
sys: 34360,
|
|
idle: 1070888000,
|
|
irq: 10 } },
|
|
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 308260,
|
|
nice: 0,
|
|
sys: 55410,
|
|
idle: 1071129970,
|
|
irq: 880 } },
|
|
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
|
|
speed: 2926,
|
|
times:
|
|
{ user: 266450,
|
|
nice: 1480,
|
|
sys: 34920,
|
|
idle: 1072572010,
|
|
irq: 30 } } ]
|
|
```
|
|
|
|
Note that since `nice` values are UNIX centric in Windows the `nice` values of
|
|
all processors are always 0.
|
|
|
|
## os.endianness()
|
|
<!-- YAML
|
|
added: v0.9.4
|
|
-->
|
|
|
|
Returns the endianness of the CPU. Possible values are `'BE'` for big endian
|
|
or `'LE'` for little endian.
|
|
|
|
## os.freemem()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns the amount of free system memory in bytes.
|
|
|
|
## os.homedir()
|
|
<!-- YAML
|
|
added: v2.3.0
|
|
-->
|
|
|
|
Returns the home directory of the current user.
|
|
|
|
## os.hostname()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns the hostname of the operating system.
|
|
|
|
## os.loadavg()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns an array containing the 1, 5, and 15 minute load averages.
|
|
|
|
The load average is a measure of system activity, calculated by the operating
|
|
system and expressed as a fractional number. As a rule of thumb, the load
|
|
average should ideally be less than the number of logical CPUs in the system.
|
|
|
|
The load average is a very UNIX-y concept; there is no real equivalent on
|
|
Windows platforms. That is why this function always returns `[0, 0, 0]` on
|
|
Windows.
|
|
|
|
## os.networkInterfaces()
|
|
<!-- YAML
|
|
added: v0.6.0
|
|
-->
|
|
|
|
Get a list of network interfaces:
|
|
|
|
```js
|
|
{ lo:
|
|
[ { address: '127.0.0.1',
|
|
netmask: '255.0.0.0',
|
|
family: 'IPv4',
|
|
mac: '00:00:00:00:00:00',
|
|
internal: true },
|
|
{ address: '::1',
|
|
netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
|
|
family: 'IPv6',
|
|
mac: '00:00:00:00:00:00',
|
|
internal: true } ],
|
|
eth0:
|
|
[ { address: '192.168.1.108',
|
|
netmask: '255.255.255.0',
|
|
family: 'IPv4',
|
|
mac: '01:02:03:0a:0b:0c',
|
|
internal: false },
|
|
{ address: 'fe80::a00:27ff:fe4e:66a1',
|
|
netmask: 'ffff:ffff:ffff:ffff::',
|
|
family: 'IPv6',
|
|
mac: '01:02:03:0a:0b:0c',
|
|
internal: false } ] }
|
|
```
|
|
|
|
Note that due to the underlying implementation this will only return network
|
|
interfaces that have been assigned an address.
|
|
|
|
## os.platform()
|
|
<!-- YAML
|
|
added: v0.5.0
|
|
-->
|
|
|
|
Returns the operating system platform. Possible values are `'darwin'`,
|
|
`'freebsd'`, `'linux'`, `'sunos'` or `'win32'`. Returns the value of
|
|
[`process.platform`][].
|
|
|
|
## os.release()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns the operating system release.
|
|
|
|
## os.tmpdir()
|
|
<!-- YAML
|
|
added: v0.9.9
|
|
-->
|
|
|
|
Returns the operating system's default directory for temporary files.
|
|
|
|
## os.totalmem()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns the total amount of system memory in bytes.
|
|
|
|
## os.type()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns the operating system name. For example `'Linux'` on Linux, `'Darwin'`
|
|
on OS X and `'Windows_NT'` on Windows.
|
|
|
|
## os.uptime()
|
|
<!-- YAML
|
|
added: v0.3.3
|
|
-->
|
|
|
|
Returns the system uptime in seconds.
|
|
|
|
## os.userInfo([options])
|
|
<!-- YAML
|
|
added: v6.0.0
|
|
-->
|
|
|
|
* `options` {Object}
|
|
* `encoding` {String} Character encoding used to interpret resulting strings.
|
|
If `encoding` is set to `'buffer'`, the `username`, `shell`, and `homedir`
|
|
values will be `Buffer` instances. (Default: 'utf8')
|
|
|
|
Returns a subset of the password file entry for the current effective user. The
|
|
returned object includes the `username`, `uid`, `gid`, `shell`, and `homedir`.
|
|
On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`.
|
|
|
|
The value of `homedir` returned by `userInfo()` comes directly from the
|
|
operating system. This differs from the result of `os.homedir()`, which queries
|
|
several environment variables for the home directory before falling back to the
|
|
operating system response.
|
|
|
|
## OS Constants
|
|
|
|
The following constants are exported by `os.constants`. **Note:** Not all
|
|
constants will be available on every operating system.
|
|
|
|
### Signal Constants
|
|
|
|
The following signal constants are exported by `os.constants.signals`:
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Constant</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGHUP</code></td>
|
|
<td>Sent to indicate when a controlling terminal is closed or a parent
|
|
process exits.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGINT</code></td>
|
|
<td>Sent to indicate when a user wishes to interrupt a process
|
|
(`(Ctrl+C)`).</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGQUIT</code></td>
|
|
<td>Sent to indicate when a user wishes to terminate a process and perform a
|
|
core dump.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGILL</code></td>
|
|
<td>Sent to a process to notify that it has attempted to perform an illegal,
|
|
malformed, unknown or privileged instruction.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGTRAP</code></td>
|
|
<td>Sent to a proces when an exception has occurred.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGABRT</code></td>
|
|
<td>Sent to a process to request that it abort.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGIOT</code></td>
|
|
<td>Synonym for <code>SIGABRT</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGBUS</code></td>
|
|
<td>Sent to a process to notify that it has caused a bus error.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGFPE</code></td>
|
|
<td>Sent to a process to notify that it has performed an illegal arithmetic
|
|
operation.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGKILL</code></td>
|
|
<td>Sent to a process to terminate it immediately.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGUSR1</code> <code>SIGUSR2</code></td>
|
|
<td>Sent to a process to identify user-defined conditions.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGSEGV</code></td>
|
|
<td>Sent to a process to notify of a segmentation fault.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGPIPE</code></td>
|
|
<td>Sent to a process when it has attempted to write to a disconnected
|
|
pipe.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGALRM</code></td>
|
|
<td>Sent to a process when a system timer elapses.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGTERM</code></td>
|
|
<td>Sent to a process to request termination.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGCHLD</code></td>
|
|
<td>Sent to a process when a child process terminates.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGSTKFLT</code></td>
|
|
<td>Sent to a process to indicate a stack fault on a coprocessor.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGCONT</code></td>
|
|
<td>Sent to instruct the operating system to continue a paused process.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGSTOP</code></td>
|
|
<td>Sent to instruct the operating system to halt a process.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGTSTP</code></td>
|
|
<td>Sent to a process to request it to stop.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGBREAK</code></td>
|
|
<td>Sent to indicate when a user wishes to interrupt a process.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGTTIN</code></td>
|
|
<td>Sent to a process when it reads from the TTY while in the
|
|
background.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGTTOU</code></td>
|
|
<td>Sent to a process when it writes to the TTY while in the
|
|
background.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGURG</code></td>
|
|
<td>Sent to a process when a socket has urgent data to read.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGXCPU</code></td>
|
|
<td>Sent to a process when it has exceeded its limit on CPU usage.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGXFSZ</code></td>
|
|
<td>Sent to a process when it grows a file larger than the maximum
|
|
allowed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGVTALRM</code></td>
|
|
<td>Sent to a process when a virtual timer has elapsed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGPROF</code></td>
|
|
<td>Sent to a process when a system timer has elapsed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGWINCH</code></td>
|
|
<td>Sent to a process when the controlling terminal has changed its
|
|
size.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGIO</code></td>
|
|
<td>Sent to a process when I/O is available.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGPOLL</code></td>
|
|
<td>Synonym for <code>SIGIO</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGLOST</code></td>
|
|
<td>Sent to a process when a file lock has been lost.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGPWR</code></td>
|
|
<td>Sent to a process to notify of a power failure.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGINFO</code></td>
|
|
<td>Synonym for <code>SIGPWR</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGSYS</code></td>
|
|
<td>Sent to a process to notify of a bad argument.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>SIGUNUSED</code></td>
|
|
<td>Synonym for <code>SIGSYS</code></td>
|
|
</tr>
|
|
</table>
|
|
|
|
### Error Constants
|
|
|
|
The following error constants are exported by `os.constants.errno`:
|
|
|
|
#### POSIX Error Constants
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Constant</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>E2BIG</code></td>
|
|
<td>Indicates that the list of arguments is longer than expected.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EACCES</code></td>
|
|
<td>Indicates that the operation did not have sufficient permissions.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EADDRINUSE</code></td>
|
|
<td>Indicates that the network address is already in use.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EADDRNOTAVAIL</code></td>
|
|
<td>Indicates that the network address is currently unavailable for
|
|
use.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EAFNOSUPPORT</code></td>
|
|
<td>Indicates that the network address family is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EAGAIN</code></td>
|
|
<td>Indicates that there is currently no data available and to try the
|
|
operation again later.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EALREADY</code></td>
|
|
<td>Indicates that the socket already has a pending connection in
|
|
progress.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EBADF</code></td>
|
|
<td>Indicates that a file descriptor is not valid.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EBADMSG</code></td>
|
|
<td>Indicates an invalid data message.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EBUSY</code></td>
|
|
<td>Indicates that a device or resource is busy.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ECANCELED</code></td>
|
|
<td>Indicates that an operation was canceled.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ECHILD</code></td>
|
|
<td>Indicates that there are no child processes.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ECONNABORTED</code></td>
|
|
<td>Indicates that the network connection has been aborted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ECONNREFUSED</code></td>
|
|
<td>Indicates that the network connection has been refused.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ECONNRESET</code></td>
|
|
<td>Indicates that the network connection has been reset.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EDEADLK</code></td>
|
|
<td>Indicates that a resource deadlock has been avoided.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EDESTADDRREQ</code></td>
|
|
<td>Indicates that a destination address is required.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EDOM</code></td>
|
|
<td>Indicates that an argument is out of the domain of the function.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EDQUOT</code></td>
|
|
<td>Indicates that the disk quota has been exceeded.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EEXIST</code></td>
|
|
<td>Indicates that the file already exists.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EFAULT</code></td>
|
|
<td>Indicates an invalid pointer address.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EFBIG</code></td>
|
|
<td>Indicates that the file is too large.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EHOSTUNREACH</code></td>
|
|
<td>Indicates that the host is unreachable.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EIDRM</code></td>
|
|
<td>Indicates that the identifier has been removed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EILSEQ</code></td>
|
|
<td>Indicates an illegal byte sequence.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EINPROGRESS</code></td>
|
|
<td>Indicates that an operation is already in progress.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EINTR</code></td>
|
|
<td>Indicates that a function call was interrupted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EINVAL</code></td>
|
|
<td>Indicates that an invalid argument was provided.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EIO</code></td>
|
|
<td>Indicates an otherwise unspecified I/O error.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EISCONN</code></td>
|
|
<td>Indicates that the socket is connected.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EISDIR</code></td>
|
|
<td>Indicates that the path is a directory.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ELOOP</code></td>
|
|
<td>Indicates too many levels of symbolic links in a path.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EMFILE</code></td>
|
|
<td>Indicates that there are too many open files.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EMLINK</code></td>
|
|
<td>Indicates that there are too many hard links to a file.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EMSGSIZE</code></td>
|
|
<td>Indicates that the provided message is too long.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EMULTIHOP</code></td>
|
|
<td>Indicates that a multihop was attempted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENAMETOOLONG</code></td>
|
|
<td>Indicates that the filename is too long.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENETDOWN</code></td>
|
|
<td>Indicates that the network is down.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENETRESET</code></td>
|
|
<td>Indicates that the connection has been aborted by the network.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENETUNREACH</code></td>
|
|
<td>Indicates that the network is unreachable.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENFILE</code></td>
|
|
<td>Indicates too many open files in the system.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOBUFS</code></td>
|
|
<td>Indicates that no buffer space is available.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENODATA</code></td>
|
|
<td>Indicates that no message is available on the stream head read
|
|
queue.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENODEV</code></td>
|
|
<td>Indicates that there is no such device.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOENT</code></td>
|
|
<td>Indicates that there is no such file or directory.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOEXEC</code></td>
|
|
<td>Indicates an exec format error.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOLCK</code></td>
|
|
<td>Indicates that there are no locks available.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOLINK</code></td>
|
|
<td>Indications that a link has been severed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOMEM</code></td>
|
|
<td>Indicates that there is not enough space.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOMSG</code></td>
|
|
<td>Indicates that there is no message of the desired type.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOPROTOOPT</code></td>
|
|
<td>Indicates that a given protocol is not available.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOSPC</code></td>
|
|
<td>Indicates that there is no space available on the device.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOSR</code></td>
|
|
<td>Indicates that there are no stream resources available.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOSTR</code></td>
|
|
<td>Indicates that a given resource is not a stream.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOSYS</code></td>
|
|
<td>Indicates that a function has not been implemented.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOTCONN</code></td>
|
|
<td>Indicates that the socket is not connected.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOTDIR</code></td>
|
|
<td>Indicates that the path is not a directory.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOTEMPTY</code></td>
|
|
<td>Indicates that the directory is not empty.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOTSOCK</code></td>
|
|
<td>Indicates that the given item is not a socket.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOTSUP</code></td>
|
|
<td>Indicates that a given operation is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENOTTY</code></td>
|
|
<td>Indicates an inappropriate I/O control operation.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ENXIO</code></td>
|
|
<td>Indicates no such device or address.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EOPNOTSUPP</code></td>
|
|
<td>Indicates that an operation is not supported on the socket.
|
|
Note that while `ENOTSUP` and `EOPNOTSUPP` have the same value on Linux,
|
|
according to POSIX.1 these error values should be distinct.)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EOVERFLOW</code></td>
|
|
<td>Indicates that a value is too large to be stored in a given data
|
|
type.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EPERM</code></td>
|
|
<td>Indicates that the operation is not permitted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EPIPE</code></td>
|
|
<td>Indicates a broken pipe.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EPROTO</code></td>
|
|
<td>Indicates a protocol error.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EPROTONOSUPPORT</code></td>
|
|
<td>Indicates that a protocol is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EPROTOTYPE</code></td>
|
|
<td>Indicates the wrong type of protocol for a socket.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ERANGE</code></td>
|
|
<td>Indicates that the results are too large.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EROFS</code></td>
|
|
<td>Indicates that the file system is read only.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ESPIPE</code></td>
|
|
<td>Indicates an invalid seek operation.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ESRCH</code></td>
|
|
<td>Indicates that there is no such process.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ESTALE</code></td>
|
|
<td>Indicates that the file handle is stale.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ETIME</code></td>
|
|
<td>Indicates an expired timer.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ETIMEDOUT</code></td>
|
|
<td>Indicates that the connection timed out.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>ETXTBSY</code></td>
|
|
<td>Indicates that a text file is busy.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EWOULDBLOCK</code></td>
|
|
<td>Indicates that the operation would block.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>EXDEV</code></td>
|
|
<td>Indicates an improper link.
|
|
</tr>
|
|
</table>
|
|
|
|
#### Windows Specific Error Constants
|
|
|
|
The following error codes are specific to the Windows operating system:
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Constant</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEINTR</code></td>
|
|
<td>Indicates an interrupted function call.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEBADF</code></td>
|
|
<td>Indicates an invalid file handle.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEACCES</code></td>
|
|
<td>Indicates insufficient permissions to complete the operation.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEFAULT</code></td>
|
|
<td>Indicates an invalid pointer address.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEINVAL</code></td>
|
|
<td>Indicates that an invalid argument was passed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEMFILE</code></td>
|
|
<td>Indicates that there are too many open files.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEWOULDBLOCK</code></td>
|
|
<td>Indicates that a resource is temporarily unavailable.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEINPROGRESS</code></td>
|
|
<td>Indicates that an operation is currently in progress.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEALREADY</code></td>
|
|
<td>Indicates that an operation is already in progress.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENOTSOCK</code></td>
|
|
<td>Indicates that the resource is not a socket.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEDESTADDRREQ</code></td>
|
|
<td>Indicates that a destination address is required.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEMSGSIZE</code></td>
|
|
<td>Indicates that the message size is too long.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEPROTOTYPE</code></td>
|
|
<td>Indicates the wrong protocol type for the socket.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENOPROTOOPT</code></td>
|
|
<td>Indicates a bad protocol option.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEPROTONOSUPPORT</code></td>
|
|
<td>Indicates that the protocol is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAESOCKTNOSUPPORT</code></td>
|
|
<td>Indicates that the socket type is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEOPNOTSUPP</code></td>
|
|
<td>Indicates that the operation is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEPFNOSUPPORT</code></td>
|
|
<td>Indicates that the protocol family is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEAFNOSUPPORT</code></td>
|
|
<td>Indicates that the address family is not supported.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEADDRINUSE</code></td>
|
|
<td>Indicates that the network address is already in use.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEADDRNOTAVAIL</code></td>
|
|
<td>Indicates that the network address is not available.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENETDOWN</code></td>
|
|
<td>Indicates that the network is down.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENETUNREACH</code></td>
|
|
<td>Indicates that the network is unreachable.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENETRESET</code></td>
|
|
<td>Indicates that the network connection has been reset.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAECONNABORTED</code></td>
|
|
<td>Indicates that the connection has been aborted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAECONNRESET</code></td>
|
|
<td>Indicates that the connection has been reset by the peer.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENOBUFS</code></td>
|
|
<td>Indicates that there is no buffer space available.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEISCONN</code></td>
|
|
<td>Indicates that the socket is already connected.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENOTCONN</code></td>
|
|
<td>Indicates that the socket is not connected.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAESHUTDOWN</code></td>
|
|
<td>Indicates that data cannot be sent after the socket has been
|
|
shutdown.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAETOOMANYREFS</code></td>
|
|
<td>Indicates that there are too many references.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAETIMEDOUT</code></td>
|
|
<td>Indicates that the connection has timed out.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAECONNREFUSED</code></td>
|
|
<td>Indicates that the connection has been refused.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAELOOP</code></td>
|
|
<td>Indicates that a name cannot be translated.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENAMETOOLONG</code></td>
|
|
<td>Indicates that a name was too long.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEHOSTDOWN</code></td>
|
|
<td>Indicates that a network host is down.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEHOSTUNREACH</code></td>
|
|
<td>Indicates that there is no route to a network host.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENOTEMPTY</code></td>
|
|
<td>Indicates that the directory is not empty.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEPROCLIM</code></td>
|
|
<td>Indicates that there are too many processes.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEUSERS</code></td>
|
|
<td>Indicates that the user quota has been exceeded.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEDQUOT</code></td>
|
|
<td>Indicates that the disk quota has been exceeded.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAESTALE</code></td>
|
|
<td>Indicates a stale file handle reference.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEREMOTE</code></td>
|
|
<td>Indicates that the item is remote.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSASYSNOTREADY</code></td>
|
|
<td>Indicates that the network subsystem is not ready.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAVERNOTSUPPORTED</code></td>
|
|
<td>Indicates that the winsock.dll version is out of range.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSANOTINITIALISED</code></td>
|
|
<td>Indicates that successful WSAStartup has not yet been performed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEDISCON</code></td>
|
|
<td>Indicates that a graceful shutdown is in progress.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAENOMORE</code></td>
|
|
<td>Indicates that there are no more results.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAECANCELLED</code></td>
|
|
<td>Indicates that an operation has been canceled.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEINVALIDPROCTABLE</code></td>
|
|
<td>Indicates that the procedure call table is invalid.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEINVALIDPROVIDER</code></td>
|
|
<td>Indicates an invalid service provider.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEPROVIDERFAILEDINIT</code></td>
|
|
<td>Indicates that the service provider failed to initialized.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSASYSCALLFAILURE</code></td>
|
|
<td>Indicates a system call failure.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSASERVICE_NOT_FOUND</code></td>
|
|
<td>Indicates that a service was not found.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSATYPE_NOT_FOUND</code></td>
|
|
<td>Indicates that a class type was not found.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSA_E_NO_MORE</code></td>
|
|
<td>Indicates that there are no more results.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSA_E_CANCELLED</code></td>
|
|
<td>Indicates that the call was canceled.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>WSAEREFUSED</code></td>
|
|
<td>Indicates that a database query was refused.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
### libuv Constants
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Constant</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>UV_UDP_REUSEADDR</code></td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
|
|
[`process.arch`]: process.html#process_process_arch
|
|
[`process.platform`]: process.html#process_process_platform
|
|
[OS Constants]: #os_os_constants
|