xref: /third_party/node/doc/api/os.md (revision 1cb0ef41)
11cb0ef41Sopenharmony_ci# OS
21cb0ef41Sopenharmony_ci
31cb0ef41Sopenharmony_ci<!--introduced_in=v0.10.0-->
41cb0ef41Sopenharmony_ci
51cb0ef41Sopenharmony_ci> Stability: 2 - Stable
61cb0ef41Sopenharmony_ci
71cb0ef41Sopenharmony_ci<!-- source_link=lib/os.js -->
81cb0ef41Sopenharmony_ci
91cb0ef41Sopenharmony_ciThe `node:os` module provides operating system-related utility methods and
101cb0ef41Sopenharmony_ciproperties. It can be accessed using:
111cb0ef41Sopenharmony_ci
121cb0ef41Sopenharmony_ci```js
131cb0ef41Sopenharmony_ciconst os = require('node:os');
141cb0ef41Sopenharmony_ci```
151cb0ef41Sopenharmony_ci
161cb0ef41Sopenharmony_ci## `os.EOL`
171cb0ef41Sopenharmony_ci
181cb0ef41Sopenharmony_ci<!-- YAML
191cb0ef41Sopenharmony_ciadded: v0.7.8
201cb0ef41Sopenharmony_ci-->
211cb0ef41Sopenharmony_ci
221cb0ef41Sopenharmony_ci* {string}
231cb0ef41Sopenharmony_ci
241cb0ef41Sopenharmony_ciThe operating system-specific end-of-line marker.
251cb0ef41Sopenharmony_ci
261cb0ef41Sopenharmony_ci* `\n` on POSIX
271cb0ef41Sopenharmony_ci* `\r\n` on Windows
281cb0ef41Sopenharmony_ci
291cb0ef41Sopenharmony_ci## `os.availableParallelism()`
301cb0ef41Sopenharmony_ci
311cb0ef41Sopenharmony_ci<!-- YAML
321cb0ef41Sopenharmony_ciadded: v18.14.0
331cb0ef41Sopenharmony_ci-->
341cb0ef41Sopenharmony_ci
351cb0ef41Sopenharmony_ci* Returns: {integer}
361cb0ef41Sopenharmony_ci
371cb0ef41Sopenharmony_ciReturns an estimate of the default amount of parallelism a program should use.
381cb0ef41Sopenharmony_ciAlways returns a value greater than zero.
391cb0ef41Sopenharmony_ci
401cb0ef41Sopenharmony_ciThis function is a small wrapper about libuv's [`uv_available_parallelism()`][].
411cb0ef41Sopenharmony_ci
421cb0ef41Sopenharmony_ci## `os.arch()`
431cb0ef41Sopenharmony_ci
441cb0ef41Sopenharmony_ci<!-- YAML
451cb0ef41Sopenharmony_ciadded: v0.5.0
461cb0ef41Sopenharmony_ci-->
471cb0ef41Sopenharmony_ci
481cb0ef41Sopenharmony_ci* Returns: {string}
491cb0ef41Sopenharmony_ci
501cb0ef41Sopenharmony_ciReturns the operating system CPU architecture for which the Node.js binary was
511cb0ef41Sopenharmony_cicompiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,
521cb0ef41Sopenharmony_ci`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, and `'x64'`.
531cb0ef41Sopenharmony_ci
541cb0ef41Sopenharmony_ciThe return value is equivalent to [`process.arch`][].
551cb0ef41Sopenharmony_ci
561cb0ef41Sopenharmony_ci## `os.constants`
571cb0ef41Sopenharmony_ci
581cb0ef41Sopenharmony_ci<!-- YAML
591cb0ef41Sopenharmony_ciadded: v6.3.0
601cb0ef41Sopenharmony_ci-->
611cb0ef41Sopenharmony_ci
621cb0ef41Sopenharmony_ci* {Object}
631cb0ef41Sopenharmony_ci
641cb0ef41Sopenharmony_ciContains commonly used operating system-specific constants for error codes,
651cb0ef41Sopenharmony_ciprocess signals, and so on. The specific constants defined are described in
661cb0ef41Sopenharmony_ci[OS constants](#os-constants).
671cb0ef41Sopenharmony_ci
681cb0ef41Sopenharmony_ci## `os.cpus()`
691cb0ef41Sopenharmony_ci
701cb0ef41Sopenharmony_ci<!-- YAML
711cb0ef41Sopenharmony_ciadded: v0.3.3
721cb0ef41Sopenharmony_ci-->
731cb0ef41Sopenharmony_ci
741cb0ef41Sopenharmony_ci* Returns: {Object\[]}
751cb0ef41Sopenharmony_ci
761cb0ef41Sopenharmony_ciReturns an array of objects containing information about each logical CPU core.
771cb0ef41Sopenharmony_ciThe array will be empty if no CPU information is available, such as if the
781cb0ef41Sopenharmony_ci`/proc` file system is unavailable.
791cb0ef41Sopenharmony_ci
801cb0ef41Sopenharmony_ciThe properties included on each object include:
811cb0ef41Sopenharmony_ci
821cb0ef41Sopenharmony_ci* `model` {string}
831cb0ef41Sopenharmony_ci* `speed` {number} (in MHz)
841cb0ef41Sopenharmony_ci* `times` {Object}
851cb0ef41Sopenharmony_ci  * `user` {number} The number of milliseconds the CPU has spent in user mode.
861cb0ef41Sopenharmony_ci  * `nice` {number} The number of milliseconds the CPU has spent in nice mode.
871cb0ef41Sopenharmony_ci  * `sys` {number} The number of milliseconds the CPU has spent in sys mode.
881cb0ef41Sopenharmony_ci  * `idle` {number} The number of milliseconds the CPU has spent in idle mode.
891cb0ef41Sopenharmony_ci  * `irq` {number} The number of milliseconds the CPU has spent in irq mode.
901cb0ef41Sopenharmony_ci
911cb0ef41Sopenharmony_ci<!-- eslint-disable semi -->
921cb0ef41Sopenharmony_ci
931cb0ef41Sopenharmony_ci```js
941cb0ef41Sopenharmony_ci[
951cb0ef41Sopenharmony_ci  {
961cb0ef41Sopenharmony_ci    model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',
971cb0ef41Sopenharmony_ci    speed: 2926,
981cb0ef41Sopenharmony_ci    times: {
991cb0ef41Sopenharmony_ci      user: 252020,
1001cb0ef41Sopenharmony_ci      nice: 0,
1011cb0ef41Sopenharmony_ci      sys: 30340,
1021cb0ef41Sopenharmony_ci      idle: 1070356870,
1031cb0ef41Sopenharmony_ci      irq: 0,
1041cb0ef41Sopenharmony_ci    },
1051cb0ef41Sopenharmony_ci  },
1061cb0ef41Sopenharmony_ci  {
1071cb0ef41Sopenharmony_ci    model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',
1081cb0ef41Sopenharmony_ci    speed: 2926,
1091cb0ef41Sopenharmony_ci    times: {
1101cb0ef41Sopenharmony_ci      user: 306960,
1111cb0ef41Sopenharmony_ci      nice: 0,
1121cb0ef41Sopenharmony_ci      sys: 26980,
1131cb0ef41Sopenharmony_ci      idle: 1071569080,
1141cb0ef41Sopenharmony_ci      irq: 0,
1151cb0ef41Sopenharmony_ci    },
1161cb0ef41Sopenharmony_ci  },
1171cb0ef41Sopenharmony_ci  {
1181cb0ef41Sopenharmony_ci    model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',
1191cb0ef41Sopenharmony_ci    speed: 2926,
1201cb0ef41Sopenharmony_ci    times: {
1211cb0ef41Sopenharmony_ci      user: 248450,
1221cb0ef41Sopenharmony_ci      nice: 0,
1231cb0ef41Sopenharmony_ci      sys: 21750,
1241cb0ef41Sopenharmony_ci      idle: 1070919370,
1251cb0ef41Sopenharmony_ci      irq: 0,
1261cb0ef41Sopenharmony_ci    },
1271cb0ef41Sopenharmony_ci  },
1281cb0ef41Sopenharmony_ci  {
1291cb0ef41Sopenharmony_ci    model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',
1301cb0ef41Sopenharmony_ci    speed: 2926,
1311cb0ef41Sopenharmony_ci    times: {
1321cb0ef41Sopenharmony_ci      user: 256880,
1331cb0ef41Sopenharmony_ci      nice: 0,
1341cb0ef41Sopenharmony_ci      sys: 19430,
1351cb0ef41Sopenharmony_ci      idle: 1070905480,
1361cb0ef41Sopenharmony_ci      irq: 20,
1371cb0ef41Sopenharmony_ci    },
1381cb0ef41Sopenharmony_ci  },
1391cb0ef41Sopenharmony_ci]
1401cb0ef41Sopenharmony_ci```
1411cb0ef41Sopenharmony_ci
1421cb0ef41Sopenharmony_ci`nice` values are POSIX-only. On Windows, the `nice` values of all processors
1431cb0ef41Sopenharmony_ciare always 0.
1441cb0ef41Sopenharmony_ci
1451cb0ef41Sopenharmony_ci`os.cpus().length` should not be used to calculate the amount of parallelism
1461cb0ef41Sopenharmony_ciavailable to an application. Use
1471cb0ef41Sopenharmony_ci[`os.availableParallelism()`](#osavailableparallelism) for this purpose.
1481cb0ef41Sopenharmony_ci
1491cb0ef41Sopenharmony_ci## `os.devNull`
1501cb0ef41Sopenharmony_ci
1511cb0ef41Sopenharmony_ci<!-- YAML
1521cb0ef41Sopenharmony_ciadded:
1531cb0ef41Sopenharmony_ci  - v16.3.0
1541cb0ef41Sopenharmony_ci  - v14.18.0
1551cb0ef41Sopenharmony_ci-->
1561cb0ef41Sopenharmony_ci
1571cb0ef41Sopenharmony_ci* {string}
1581cb0ef41Sopenharmony_ci
1591cb0ef41Sopenharmony_ciThe platform-specific file path of the null device.
1601cb0ef41Sopenharmony_ci
1611cb0ef41Sopenharmony_ci* `\\.\nul` on Windows
1621cb0ef41Sopenharmony_ci* `/dev/null` on POSIX
1631cb0ef41Sopenharmony_ci
1641cb0ef41Sopenharmony_ci## `os.endianness()`
1651cb0ef41Sopenharmony_ci
1661cb0ef41Sopenharmony_ci<!-- YAML
1671cb0ef41Sopenharmony_ciadded: v0.9.4
1681cb0ef41Sopenharmony_ci-->
1691cb0ef41Sopenharmony_ci
1701cb0ef41Sopenharmony_ci* Returns: {string}
1711cb0ef41Sopenharmony_ci
1721cb0ef41Sopenharmony_ciReturns a string identifying the endianness of the CPU for which the Node.js
1731cb0ef41Sopenharmony_cibinary was compiled.
1741cb0ef41Sopenharmony_ci
1751cb0ef41Sopenharmony_ciPossible values are `'BE'` for big endian and `'LE'` for little endian.
1761cb0ef41Sopenharmony_ci
1771cb0ef41Sopenharmony_ci## `os.freemem()`
1781cb0ef41Sopenharmony_ci
1791cb0ef41Sopenharmony_ci<!-- YAML
1801cb0ef41Sopenharmony_ciadded: v0.3.3
1811cb0ef41Sopenharmony_ci-->
1821cb0ef41Sopenharmony_ci
1831cb0ef41Sopenharmony_ci* Returns: {integer}
1841cb0ef41Sopenharmony_ci
1851cb0ef41Sopenharmony_ciReturns the amount of free system memory in bytes as an integer.
1861cb0ef41Sopenharmony_ci
1871cb0ef41Sopenharmony_ci## `os.getPriority([pid])`
1881cb0ef41Sopenharmony_ci
1891cb0ef41Sopenharmony_ci<!-- YAML
1901cb0ef41Sopenharmony_ciadded: v10.10.0
1911cb0ef41Sopenharmony_ci-->
1921cb0ef41Sopenharmony_ci
1931cb0ef41Sopenharmony_ci* `pid` {integer} The process ID to retrieve scheduling priority for.
1941cb0ef41Sopenharmony_ci  **Default:** `0`.
1951cb0ef41Sopenharmony_ci* Returns: {integer}
1961cb0ef41Sopenharmony_ci
1971cb0ef41Sopenharmony_ciReturns the scheduling priority for the process specified by `pid`. If `pid` is
1981cb0ef41Sopenharmony_cinot provided or is `0`, the priority of the current process is returned.
1991cb0ef41Sopenharmony_ci
2001cb0ef41Sopenharmony_ci## `os.homedir()`
2011cb0ef41Sopenharmony_ci
2021cb0ef41Sopenharmony_ci<!-- YAML
2031cb0ef41Sopenharmony_ciadded: v2.3.0
2041cb0ef41Sopenharmony_ci-->
2051cb0ef41Sopenharmony_ci
2061cb0ef41Sopenharmony_ci* Returns: {string}
2071cb0ef41Sopenharmony_ci
2081cb0ef41Sopenharmony_ciReturns the string path of the current user's home directory.
2091cb0ef41Sopenharmony_ci
2101cb0ef41Sopenharmony_ciOn POSIX, it uses the `$HOME` environment variable if defined. Otherwise it
2111cb0ef41Sopenharmony_ciuses the [effective UID][EUID] to look up the user's home directory.
2121cb0ef41Sopenharmony_ci
2131cb0ef41Sopenharmony_ciOn Windows, it uses the `USERPROFILE` environment variable if defined.
2141cb0ef41Sopenharmony_ciOtherwise it uses the path to the profile directory of the current user.
2151cb0ef41Sopenharmony_ci
2161cb0ef41Sopenharmony_ci## `os.hostname()`
2171cb0ef41Sopenharmony_ci
2181cb0ef41Sopenharmony_ci<!-- YAML
2191cb0ef41Sopenharmony_ciadded: v0.3.3
2201cb0ef41Sopenharmony_ci-->
2211cb0ef41Sopenharmony_ci
2221cb0ef41Sopenharmony_ci* Returns: {string}
2231cb0ef41Sopenharmony_ci
2241cb0ef41Sopenharmony_ciReturns the host name of the operating system as a string.
2251cb0ef41Sopenharmony_ci
2261cb0ef41Sopenharmony_ci## `os.loadavg()`
2271cb0ef41Sopenharmony_ci
2281cb0ef41Sopenharmony_ci<!-- YAML
2291cb0ef41Sopenharmony_ciadded: v0.3.3
2301cb0ef41Sopenharmony_ci-->
2311cb0ef41Sopenharmony_ci
2321cb0ef41Sopenharmony_ci* Returns: {number\[]}
2331cb0ef41Sopenharmony_ci
2341cb0ef41Sopenharmony_ciReturns an array containing the 1, 5, and 15 minute load averages.
2351cb0ef41Sopenharmony_ci
2361cb0ef41Sopenharmony_ciThe load average is a measure of system activity calculated by the operating
2371cb0ef41Sopenharmony_cisystem and expressed as a fractional number.
2381cb0ef41Sopenharmony_ci
2391cb0ef41Sopenharmony_ciThe load average is a Unix-specific concept. On Windows, the return value is
2401cb0ef41Sopenharmony_cialways `[0, 0, 0]`.
2411cb0ef41Sopenharmony_ci
2421cb0ef41Sopenharmony_ci## `os.machine()`
2431cb0ef41Sopenharmony_ci
2441cb0ef41Sopenharmony_ci<!-- YAML
2451cb0ef41Sopenharmony_ciadded: v18.9.0
2461cb0ef41Sopenharmony_ci-->
2471cb0ef41Sopenharmony_ci
2481cb0ef41Sopenharmony_ci* Returns {string}
2491cb0ef41Sopenharmony_ci
2501cb0ef41Sopenharmony_ciReturns the machine type as a string, such as `arm`, `arm64`, `aarch64`,
2511cb0ef41Sopenharmony_ci`mips`, `mips64`, `ppc64`, `ppc64le`, `s390`, `s390x`, `i386`, `i686`, `x86_64`.
2521cb0ef41Sopenharmony_ci
2531cb0ef41Sopenharmony_ciOn POSIX systems, the machine type is determined by calling
2541cb0ef41Sopenharmony_ci[`uname(3)`][]. On Windows, `RtlGetVersion()` is used, and if it is not
2551cb0ef41Sopenharmony_ciavailable, `GetVersionExW()` will be used. See
2561cb0ef41Sopenharmony_ci<https://en.wikipedia.org/wiki/Uname#Examples> for more information.
2571cb0ef41Sopenharmony_ci
2581cb0ef41Sopenharmony_ci## `os.networkInterfaces()`
2591cb0ef41Sopenharmony_ci
2601cb0ef41Sopenharmony_ci<!-- YAML
2611cb0ef41Sopenharmony_ciadded: v0.6.0
2621cb0ef41Sopenharmony_cichanges:
2631cb0ef41Sopenharmony_ci  - version: v18.4.0
2641cb0ef41Sopenharmony_ci    pr-url: https://github.com/nodejs/node/pull/43054
2651cb0ef41Sopenharmony_ci    description: The `family` property now returns a string instead of a number.
2661cb0ef41Sopenharmony_ci  - version: v18.0.0
2671cb0ef41Sopenharmony_ci    pr-url: https://github.com/nodejs/node/pull/41431
2681cb0ef41Sopenharmony_ci    description: The `family` property now returns a number instead of a string.
2691cb0ef41Sopenharmony_ci-->
2701cb0ef41Sopenharmony_ci
2711cb0ef41Sopenharmony_ci* Returns: {Object}
2721cb0ef41Sopenharmony_ci
2731cb0ef41Sopenharmony_ciReturns an object containing network interfaces that have been assigned a
2741cb0ef41Sopenharmony_cinetwork address.
2751cb0ef41Sopenharmony_ci
2761cb0ef41Sopenharmony_ciEach key on the returned object identifies a network interface. The associated
2771cb0ef41Sopenharmony_civalue is an array of objects that each describe an assigned network address.
2781cb0ef41Sopenharmony_ci
2791cb0ef41Sopenharmony_ciThe properties available on the assigned network address object include:
2801cb0ef41Sopenharmony_ci
2811cb0ef41Sopenharmony_ci* `address` {string} The assigned IPv4 or IPv6 address
2821cb0ef41Sopenharmony_ci* `netmask` {string} The IPv4 or IPv6 network mask
2831cb0ef41Sopenharmony_ci* `family` {string} Either `IPv4` or `IPv6`
2841cb0ef41Sopenharmony_ci* `mac` {string} The MAC address of the network interface
2851cb0ef41Sopenharmony_ci* `internal` {boolean} `true` if the network interface is a loopback or
2861cb0ef41Sopenharmony_ci  similar interface that is not remotely accessible; otherwise `false`
2871cb0ef41Sopenharmony_ci* `scopeid` {number} The numeric IPv6 scope ID (only specified when `family`
2881cb0ef41Sopenharmony_ci  is `IPv6`)
2891cb0ef41Sopenharmony_ci* `cidr` {string} The assigned IPv4 or IPv6 address with the routing prefix
2901cb0ef41Sopenharmony_ci  in CIDR notation. If the `netmask` is invalid, this property is set
2911cb0ef41Sopenharmony_ci  to `null`.
2921cb0ef41Sopenharmony_ci
2931cb0ef41Sopenharmony_ci<!-- eslint-skip -->
2941cb0ef41Sopenharmony_ci
2951cb0ef41Sopenharmony_ci```js
2961cb0ef41Sopenharmony_ci{
2971cb0ef41Sopenharmony_ci  lo: [
2981cb0ef41Sopenharmony_ci    {
2991cb0ef41Sopenharmony_ci      address: '127.0.0.1',
3001cb0ef41Sopenharmony_ci      netmask: '255.0.0.0',
3011cb0ef41Sopenharmony_ci      family: 'IPv4',
3021cb0ef41Sopenharmony_ci      mac: '00:00:00:00:00:00',
3031cb0ef41Sopenharmony_ci      internal: true,
3041cb0ef41Sopenharmony_ci      cidr: '127.0.0.1/8'
3051cb0ef41Sopenharmony_ci    },
3061cb0ef41Sopenharmony_ci    {
3071cb0ef41Sopenharmony_ci      address: '::1',
3081cb0ef41Sopenharmony_ci      netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
3091cb0ef41Sopenharmony_ci      family: 'IPv6',
3101cb0ef41Sopenharmony_ci      mac: '00:00:00:00:00:00',
3111cb0ef41Sopenharmony_ci      scopeid: 0,
3121cb0ef41Sopenharmony_ci      internal: true,
3131cb0ef41Sopenharmony_ci      cidr: '::1/128'
3141cb0ef41Sopenharmony_ci    }
3151cb0ef41Sopenharmony_ci  ],
3161cb0ef41Sopenharmony_ci  eth0: [
3171cb0ef41Sopenharmony_ci    {
3181cb0ef41Sopenharmony_ci      address: '192.168.1.108',
3191cb0ef41Sopenharmony_ci      netmask: '255.255.255.0',
3201cb0ef41Sopenharmony_ci      family: 'IPv4',
3211cb0ef41Sopenharmony_ci      mac: '01:02:03:0a:0b:0c',
3221cb0ef41Sopenharmony_ci      internal: false,
3231cb0ef41Sopenharmony_ci      cidr: '192.168.1.108/24'
3241cb0ef41Sopenharmony_ci    },
3251cb0ef41Sopenharmony_ci    {
3261cb0ef41Sopenharmony_ci      address: 'fe80::a00:27ff:fe4e:66a1',
3271cb0ef41Sopenharmony_ci      netmask: 'ffff:ffff:ffff:ffff::',
3281cb0ef41Sopenharmony_ci      family: 'IPv6',
3291cb0ef41Sopenharmony_ci      mac: '01:02:03:0a:0b:0c',
3301cb0ef41Sopenharmony_ci      scopeid: 1,
3311cb0ef41Sopenharmony_ci      internal: false,
3321cb0ef41Sopenharmony_ci      cidr: 'fe80::a00:27ff:fe4e:66a1/64'
3331cb0ef41Sopenharmony_ci    }
3341cb0ef41Sopenharmony_ci  ]
3351cb0ef41Sopenharmony_ci}
3361cb0ef41Sopenharmony_ci```
3371cb0ef41Sopenharmony_ci
3381cb0ef41Sopenharmony_ci## `os.platform()`
3391cb0ef41Sopenharmony_ci
3401cb0ef41Sopenharmony_ci<!-- YAML
3411cb0ef41Sopenharmony_ciadded: v0.5.0
3421cb0ef41Sopenharmony_ci-->
3431cb0ef41Sopenharmony_ci
3441cb0ef41Sopenharmony_ci* Returns: {string}
3451cb0ef41Sopenharmony_ci
3461cb0ef41Sopenharmony_ciReturns a string identifying the operating system platform for which
3471cb0ef41Sopenharmony_cithe Node.js binary was compiled. The value is set at compile time.
3481cb0ef41Sopenharmony_ciPossible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`,
3491cb0ef41Sopenharmony_ci`'openbsd'`, `'sunos'`, and `'win32'`.
3501cb0ef41Sopenharmony_ci
3511cb0ef41Sopenharmony_ciThe return value is equivalent to [`process.platform`][].
3521cb0ef41Sopenharmony_ci
3531cb0ef41Sopenharmony_ciThe value `'android'` may also be returned if Node.js is built on the Android
3541cb0ef41Sopenharmony_cioperating system. [Android support is experimental][Android building].
3551cb0ef41Sopenharmony_ci
3561cb0ef41Sopenharmony_ci## `os.release()`
3571cb0ef41Sopenharmony_ci
3581cb0ef41Sopenharmony_ci<!-- YAML
3591cb0ef41Sopenharmony_ciadded: v0.3.3
3601cb0ef41Sopenharmony_ci-->
3611cb0ef41Sopenharmony_ci
3621cb0ef41Sopenharmony_ci* Returns: {string}
3631cb0ef41Sopenharmony_ci
3641cb0ef41Sopenharmony_ciReturns the operating system as a string.
3651cb0ef41Sopenharmony_ci
3661cb0ef41Sopenharmony_ciOn POSIX systems, the operating system release is determined by calling
3671cb0ef41Sopenharmony_ci[`uname(3)`][]. On Windows, `GetVersionExW()` is used. See
3681cb0ef41Sopenharmony_ci<https://en.wikipedia.org/wiki/Uname#Examples> for more information.
3691cb0ef41Sopenharmony_ci
3701cb0ef41Sopenharmony_ci## `os.setPriority([pid, ]priority)`
3711cb0ef41Sopenharmony_ci
3721cb0ef41Sopenharmony_ci<!-- YAML
3731cb0ef41Sopenharmony_ciadded: v10.10.0
3741cb0ef41Sopenharmony_ci-->
3751cb0ef41Sopenharmony_ci
3761cb0ef41Sopenharmony_ci* `pid` {integer} The process ID to set scheduling priority for.
3771cb0ef41Sopenharmony_ci  **Default:** `0`.
3781cb0ef41Sopenharmony_ci* `priority` {integer} The scheduling priority to assign to the process.
3791cb0ef41Sopenharmony_ci
3801cb0ef41Sopenharmony_ciAttempts to set the scheduling priority for the process specified by `pid`. If
3811cb0ef41Sopenharmony_ci`pid` is not provided or is `0`, the process ID of the current process is used.
3821cb0ef41Sopenharmony_ci
3831cb0ef41Sopenharmony_ciThe `priority` input must be an integer between `-20` (high priority) and `19`
3841cb0ef41Sopenharmony_ci(low priority). Due to differences between Unix priority levels and Windows
3851cb0ef41Sopenharmony_cipriority classes, `priority` is mapped to one of six priority constants in
3861cb0ef41Sopenharmony_ci`os.constants.priority`. When retrieving a process priority level, this range
3871cb0ef41Sopenharmony_cimapping may cause the return value to be slightly different on Windows. To avoid
3881cb0ef41Sopenharmony_ciconfusion, set `priority` to one of the priority constants.
3891cb0ef41Sopenharmony_ci
3901cb0ef41Sopenharmony_ciOn Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user
3911cb0ef41Sopenharmony_ciprivileges. Otherwise the set priority will be silently reduced to
3921cb0ef41Sopenharmony_ci`PRIORITY_HIGH`.
3931cb0ef41Sopenharmony_ci
3941cb0ef41Sopenharmony_ci## `os.tmpdir()`
3951cb0ef41Sopenharmony_ci
3961cb0ef41Sopenharmony_ci<!-- YAML
3971cb0ef41Sopenharmony_ciadded: v0.9.9
3981cb0ef41Sopenharmony_cichanges:
3991cb0ef41Sopenharmony_ci  - version: v2.0.0
4001cb0ef41Sopenharmony_ci    pr-url: https://github.com/nodejs/node/pull/747
4011cb0ef41Sopenharmony_ci    description: This function is now cross-platform consistent and no longer
4021cb0ef41Sopenharmony_ci                 returns a path with a trailing slash on any platform.
4031cb0ef41Sopenharmony_ci-->
4041cb0ef41Sopenharmony_ci
4051cb0ef41Sopenharmony_ci* Returns: {string}
4061cb0ef41Sopenharmony_ci
4071cb0ef41Sopenharmony_ciReturns the operating system's default directory for temporary files as a
4081cb0ef41Sopenharmony_cistring.
4091cb0ef41Sopenharmony_ci
4101cb0ef41Sopenharmony_ci## `os.totalmem()`
4111cb0ef41Sopenharmony_ci
4121cb0ef41Sopenharmony_ci<!-- YAML
4131cb0ef41Sopenharmony_ciadded: v0.3.3
4141cb0ef41Sopenharmony_ci-->
4151cb0ef41Sopenharmony_ci
4161cb0ef41Sopenharmony_ci* Returns: {integer}
4171cb0ef41Sopenharmony_ci
4181cb0ef41Sopenharmony_ciReturns the total amount of system memory in bytes as an integer.
4191cb0ef41Sopenharmony_ci
4201cb0ef41Sopenharmony_ci## `os.type()`
4211cb0ef41Sopenharmony_ci
4221cb0ef41Sopenharmony_ci<!-- YAML
4231cb0ef41Sopenharmony_ciadded: v0.3.3
4241cb0ef41Sopenharmony_ci-->
4251cb0ef41Sopenharmony_ci
4261cb0ef41Sopenharmony_ci* Returns: {string}
4271cb0ef41Sopenharmony_ci
4281cb0ef41Sopenharmony_ciReturns the operating system name as returned by [`uname(3)`][]. For example, it
4291cb0ef41Sopenharmony_cireturns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows.
4301cb0ef41Sopenharmony_ci
4311cb0ef41Sopenharmony_ciSee <https://en.wikipedia.org/wiki/Uname#Examples> for additional information
4321cb0ef41Sopenharmony_ciabout the output of running [`uname(3)`][] on various operating systems.
4331cb0ef41Sopenharmony_ci
4341cb0ef41Sopenharmony_ci## `os.uptime()`
4351cb0ef41Sopenharmony_ci
4361cb0ef41Sopenharmony_ci<!-- YAML
4371cb0ef41Sopenharmony_ciadded: v0.3.3
4381cb0ef41Sopenharmony_cichanges:
4391cb0ef41Sopenharmony_ci  - version: v10.0.0
4401cb0ef41Sopenharmony_ci    pr-url: https://github.com/nodejs/node/pull/20129
4411cb0ef41Sopenharmony_ci    description: The result of this function no longer contains a fraction
4421cb0ef41Sopenharmony_ci                 component on Windows.
4431cb0ef41Sopenharmony_ci-->
4441cb0ef41Sopenharmony_ci
4451cb0ef41Sopenharmony_ci* Returns: {integer}
4461cb0ef41Sopenharmony_ci
4471cb0ef41Sopenharmony_ciReturns the system uptime in number of seconds.
4481cb0ef41Sopenharmony_ci
4491cb0ef41Sopenharmony_ci## `os.userInfo([options])`
4501cb0ef41Sopenharmony_ci
4511cb0ef41Sopenharmony_ci<!-- YAML
4521cb0ef41Sopenharmony_ciadded: v6.0.0
4531cb0ef41Sopenharmony_ci-->
4541cb0ef41Sopenharmony_ci
4551cb0ef41Sopenharmony_ci* `options` {Object}
4561cb0ef41Sopenharmony_ci  * `encoding` {string} Character encoding used to interpret resulting strings.
4571cb0ef41Sopenharmony_ci    If `encoding` is set to `'buffer'`, the `username`, `shell`, and `homedir`
4581cb0ef41Sopenharmony_ci    values will be `Buffer` instances. **Default:** `'utf8'`.
4591cb0ef41Sopenharmony_ci* Returns: {Object}
4601cb0ef41Sopenharmony_ci
4611cb0ef41Sopenharmony_ciReturns information about the currently effective user. On POSIX platforms,
4621cb0ef41Sopenharmony_cithis is typically a subset of the password file. The returned object includes
4631cb0ef41Sopenharmony_cithe `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and
4641cb0ef41Sopenharmony_ci`gid` fields are `-1`, and `shell` is `null`.
4651cb0ef41Sopenharmony_ci
4661cb0ef41Sopenharmony_ciThe value of `homedir` returned by `os.userInfo()` is provided by the operating
4671cb0ef41Sopenharmony_cisystem. This differs from the result of `os.homedir()`, which queries
4681cb0ef41Sopenharmony_cienvironment variables for the home directory before falling back to the
4691cb0ef41Sopenharmony_cioperating system response.
4701cb0ef41Sopenharmony_ci
4711cb0ef41Sopenharmony_ciThrows a [`SystemError`][] if a user has no `username` or `homedir`.
4721cb0ef41Sopenharmony_ci
4731cb0ef41Sopenharmony_ci## `os.version()`
4741cb0ef41Sopenharmony_ci
4751cb0ef41Sopenharmony_ci<!-- YAML
4761cb0ef41Sopenharmony_ciadded:
4771cb0ef41Sopenharmony_ci - v13.11.0
4781cb0ef41Sopenharmony_ci - v12.17.0
4791cb0ef41Sopenharmony_ci-->
4801cb0ef41Sopenharmony_ci
4811cb0ef41Sopenharmony_ci* Returns {string}
4821cb0ef41Sopenharmony_ci
4831cb0ef41Sopenharmony_ciReturns a string identifying the kernel version.
4841cb0ef41Sopenharmony_ci
4851cb0ef41Sopenharmony_ciOn POSIX systems, the operating system release is determined by calling
4861cb0ef41Sopenharmony_ci[`uname(3)`][]. On Windows, `RtlGetVersion()` is used, and if it is not
4871cb0ef41Sopenharmony_ciavailable, `GetVersionExW()` will be used. See
4881cb0ef41Sopenharmony_ci<https://en.wikipedia.org/wiki/Uname#Examples> for more information.
4891cb0ef41Sopenharmony_ci
4901cb0ef41Sopenharmony_ci## OS constants
4911cb0ef41Sopenharmony_ci
4921cb0ef41Sopenharmony_ciThe following constants are exported by `os.constants`.
4931cb0ef41Sopenharmony_ci
4941cb0ef41Sopenharmony_ciNot all constants will be available on every operating system.
4951cb0ef41Sopenharmony_ci
4961cb0ef41Sopenharmony_ci### Signal constants
4971cb0ef41Sopenharmony_ci
4981cb0ef41Sopenharmony_ci<!-- YAML
4991cb0ef41Sopenharmony_cichanges:
5001cb0ef41Sopenharmony_ci  - version: v5.11.0
5011cb0ef41Sopenharmony_ci    pr-url: https://github.com/nodejs/node/pull/6093
5021cb0ef41Sopenharmony_ci    description: Added support for `SIGINFO`.
5031cb0ef41Sopenharmony_ci-->
5041cb0ef41Sopenharmony_ci
5051cb0ef41Sopenharmony_ciThe following signal constants are exported by `os.constants.signals`.
5061cb0ef41Sopenharmony_ci
5071cb0ef41Sopenharmony_ci<table>
5081cb0ef41Sopenharmony_ci  <tr>
5091cb0ef41Sopenharmony_ci    <th>Constant</th>
5101cb0ef41Sopenharmony_ci    <th>Description</th>
5111cb0ef41Sopenharmony_ci  </tr>
5121cb0ef41Sopenharmony_ci  <tr>
5131cb0ef41Sopenharmony_ci    <td><code>SIGHUP</code></td>
5141cb0ef41Sopenharmony_ci    <td>Sent to indicate when a controlling terminal is closed or a parent
5151cb0ef41Sopenharmony_ci    process exits.</td>
5161cb0ef41Sopenharmony_ci  </tr>
5171cb0ef41Sopenharmony_ci  <tr>
5181cb0ef41Sopenharmony_ci    <td><code>SIGINT</code></td>
5191cb0ef41Sopenharmony_ci    <td>Sent to indicate when a user wishes to interrupt a process
5201cb0ef41Sopenharmony_ci    (<kbd>Ctrl</kbd>+<kbd>C</kbd>).</td>
5211cb0ef41Sopenharmony_ci  </tr>
5221cb0ef41Sopenharmony_ci  <tr>
5231cb0ef41Sopenharmony_ci    <td><code>SIGQUIT</code></td>
5241cb0ef41Sopenharmony_ci    <td>Sent to indicate when a user wishes to terminate a process and perform a
5251cb0ef41Sopenharmony_ci    core dump.</td>
5261cb0ef41Sopenharmony_ci  </tr>
5271cb0ef41Sopenharmony_ci  <tr>
5281cb0ef41Sopenharmony_ci    <td><code>SIGILL</code></td>
5291cb0ef41Sopenharmony_ci    <td>Sent to a process to notify that it has attempted to perform an illegal,
5301cb0ef41Sopenharmony_ci    malformed, unknown, or privileged instruction.</td>
5311cb0ef41Sopenharmony_ci  </tr>
5321cb0ef41Sopenharmony_ci  <tr>
5331cb0ef41Sopenharmony_ci    <td><code>SIGTRAP</code></td>
5341cb0ef41Sopenharmony_ci    <td>Sent to a process when an exception has occurred.</td>
5351cb0ef41Sopenharmony_ci  </tr>
5361cb0ef41Sopenharmony_ci  <tr>
5371cb0ef41Sopenharmony_ci    <td><code>SIGABRT</code></td>
5381cb0ef41Sopenharmony_ci    <td>Sent to a process to request that it abort.</td>
5391cb0ef41Sopenharmony_ci  </tr>
5401cb0ef41Sopenharmony_ci  <tr>
5411cb0ef41Sopenharmony_ci    <td><code>SIGIOT</code></td>
5421cb0ef41Sopenharmony_ci    <td>Synonym for <code>SIGABRT</code></td>
5431cb0ef41Sopenharmony_ci  </tr>
5441cb0ef41Sopenharmony_ci  <tr>
5451cb0ef41Sopenharmony_ci    <td><code>SIGBUS</code></td>
5461cb0ef41Sopenharmony_ci    <td>Sent to a process to notify that it has caused a bus error.</td>
5471cb0ef41Sopenharmony_ci  </tr>
5481cb0ef41Sopenharmony_ci  <tr>
5491cb0ef41Sopenharmony_ci    <td><code>SIGFPE</code></td>
5501cb0ef41Sopenharmony_ci    <td>Sent to a process to notify that it has performed an illegal arithmetic
5511cb0ef41Sopenharmony_ci    operation.</td>
5521cb0ef41Sopenharmony_ci  </tr>
5531cb0ef41Sopenharmony_ci  <tr>
5541cb0ef41Sopenharmony_ci    <td><code>SIGKILL</code></td>
5551cb0ef41Sopenharmony_ci    <td>Sent to a process to terminate it immediately.</td>
5561cb0ef41Sopenharmony_ci  </tr>
5571cb0ef41Sopenharmony_ci  <tr>
5581cb0ef41Sopenharmony_ci    <td><code>SIGUSR1</code> <code>SIGUSR2</code></td>
5591cb0ef41Sopenharmony_ci    <td>Sent to a process to identify user-defined conditions.</td>
5601cb0ef41Sopenharmony_ci  </tr>
5611cb0ef41Sopenharmony_ci  <tr>
5621cb0ef41Sopenharmony_ci    <td><code>SIGSEGV</code></td>
5631cb0ef41Sopenharmony_ci    <td>Sent to a process to notify of a segmentation fault.</td>
5641cb0ef41Sopenharmony_ci  </tr>
5651cb0ef41Sopenharmony_ci  <tr>
5661cb0ef41Sopenharmony_ci    <td><code>SIGPIPE</code></td>
5671cb0ef41Sopenharmony_ci    <td>Sent to a process when it has attempted to write to a disconnected
5681cb0ef41Sopenharmony_ci    pipe.</td>
5691cb0ef41Sopenharmony_ci  </tr>
5701cb0ef41Sopenharmony_ci  <tr>
5711cb0ef41Sopenharmony_ci    <td><code>SIGALRM</code></td>
5721cb0ef41Sopenharmony_ci    <td>Sent to a process when a system timer elapses.</td>
5731cb0ef41Sopenharmony_ci  </tr>
5741cb0ef41Sopenharmony_ci  <tr>
5751cb0ef41Sopenharmony_ci    <td><code>SIGTERM</code></td>
5761cb0ef41Sopenharmony_ci    <td>Sent to a process to request termination.</td>
5771cb0ef41Sopenharmony_ci  </tr>
5781cb0ef41Sopenharmony_ci  <tr>
5791cb0ef41Sopenharmony_ci    <td><code>SIGCHLD</code></td>
5801cb0ef41Sopenharmony_ci    <td>Sent to a process when a child process terminates.</td>
5811cb0ef41Sopenharmony_ci  </tr>
5821cb0ef41Sopenharmony_ci  <tr>
5831cb0ef41Sopenharmony_ci    <td><code>SIGSTKFLT</code></td>
5841cb0ef41Sopenharmony_ci    <td>Sent to a process to indicate a stack fault on a coprocessor.</td>
5851cb0ef41Sopenharmony_ci  </tr>
5861cb0ef41Sopenharmony_ci  <tr>
5871cb0ef41Sopenharmony_ci    <td><code>SIGCONT</code></td>
5881cb0ef41Sopenharmony_ci    <td>Sent to instruct the operating system to continue a paused process.</td>
5891cb0ef41Sopenharmony_ci  </tr>
5901cb0ef41Sopenharmony_ci  <tr>
5911cb0ef41Sopenharmony_ci    <td><code>SIGSTOP</code></td>
5921cb0ef41Sopenharmony_ci    <td>Sent to instruct the operating system to halt a process.</td>
5931cb0ef41Sopenharmony_ci  </tr>
5941cb0ef41Sopenharmony_ci  <tr>
5951cb0ef41Sopenharmony_ci    <td><code>SIGTSTP</code></td>
5961cb0ef41Sopenharmony_ci    <td>Sent to a process to request it to stop.</td>
5971cb0ef41Sopenharmony_ci  </tr>
5981cb0ef41Sopenharmony_ci  <tr>
5991cb0ef41Sopenharmony_ci    <td><code>SIGBREAK</code></td>
6001cb0ef41Sopenharmony_ci    <td>Sent to indicate when a user wishes to interrupt a process.</td>
6011cb0ef41Sopenharmony_ci  </tr>
6021cb0ef41Sopenharmony_ci  <tr>
6031cb0ef41Sopenharmony_ci    <td><code>SIGTTIN</code></td>
6041cb0ef41Sopenharmony_ci    <td>Sent to a process when it reads from the TTY while in the
6051cb0ef41Sopenharmony_ci    background.</td>
6061cb0ef41Sopenharmony_ci  </tr>
6071cb0ef41Sopenharmony_ci  <tr>
6081cb0ef41Sopenharmony_ci    <td><code>SIGTTOU</code></td>
6091cb0ef41Sopenharmony_ci    <td>Sent to a process when it writes to the TTY while in the
6101cb0ef41Sopenharmony_ci    background.</td>
6111cb0ef41Sopenharmony_ci  </tr>
6121cb0ef41Sopenharmony_ci  <tr>
6131cb0ef41Sopenharmony_ci    <td><code>SIGURG</code></td>
6141cb0ef41Sopenharmony_ci    <td>Sent to a process when a socket has urgent data to read.</td>
6151cb0ef41Sopenharmony_ci  </tr>
6161cb0ef41Sopenharmony_ci  <tr>
6171cb0ef41Sopenharmony_ci    <td><code>SIGXCPU</code></td>
6181cb0ef41Sopenharmony_ci    <td>Sent to a process when it has exceeded its limit on CPU usage.</td>
6191cb0ef41Sopenharmony_ci  </tr>
6201cb0ef41Sopenharmony_ci  <tr>
6211cb0ef41Sopenharmony_ci    <td><code>SIGXFSZ</code></td>
6221cb0ef41Sopenharmony_ci    <td>Sent to a process when it grows a file larger than the maximum
6231cb0ef41Sopenharmony_ci    allowed.</td>
6241cb0ef41Sopenharmony_ci  </tr>
6251cb0ef41Sopenharmony_ci  <tr>
6261cb0ef41Sopenharmony_ci    <td><code>SIGVTALRM</code></td>
6271cb0ef41Sopenharmony_ci    <td>Sent to a process when a virtual timer has elapsed.</td>
6281cb0ef41Sopenharmony_ci  </tr>
6291cb0ef41Sopenharmony_ci  <tr>
6301cb0ef41Sopenharmony_ci    <td><code>SIGPROF</code></td>
6311cb0ef41Sopenharmony_ci    <td>Sent to a process when a system timer has elapsed.</td>
6321cb0ef41Sopenharmony_ci  </tr>
6331cb0ef41Sopenharmony_ci  <tr>
6341cb0ef41Sopenharmony_ci    <td><code>SIGWINCH</code></td>
6351cb0ef41Sopenharmony_ci    <td>Sent to a process when the controlling terminal has changed its
6361cb0ef41Sopenharmony_ci    size.</td>
6371cb0ef41Sopenharmony_ci  </tr>
6381cb0ef41Sopenharmony_ci  <tr>
6391cb0ef41Sopenharmony_ci    <td><code>SIGIO</code></td>
6401cb0ef41Sopenharmony_ci    <td>Sent to a process when I/O is available.</td>
6411cb0ef41Sopenharmony_ci  </tr>
6421cb0ef41Sopenharmony_ci  <tr>
6431cb0ef41Sopenharmony_ci    <td><code>SIGPOLL</code></td>
6441cb0ef41Sopenharmony_ci    <td>Synonym for <code>SIGIO</code></td>
6451cb0ef41Sopenharmony_ci  </tr>
6461cb0ef41Sopenharmony_ci  <tr>
6471cb0ef41Sopenharmony_ci    <td><code>SIGLOST</code></td>
6481cb0ef41Sopenharmony_ci    <td>Sent to a process when a file lock has been lost.</td>
6491cb0ef41Sopenharmony_ci  </tr>
6501cb0ef41Sopenharmony_ci  <tr>
6511cb0ef41Sopenharmony_ci    <td><code>SIGPWR</code></td>
6521cb0ef41Sopenharmony_ci    <td>Sent to a process to notify of a power failure.</td>
6531cb0ef41Sopenharmony_ci  </tr>
6541cb0ef41Sopenharmony_ci  <tr>
6551cb0ef41Sopenharmony_ci    <td><code>SIGINFO</code></td>
6561cb0ef41Sopenharmony_ci    <td>Synonym for <code>SIGPWR</code></td>
6571cb0ef41Sopenharmony_ci  </tr>
6581cb0ef41Sopenharmony_ci  <tr>
6591cb0ef41Sopenharmony_ci    <td><code>SIGSYS</code></td>
6601cb0ef41Sopenharmony_ci    <td>Sent to a process to notify of a bad argument.</td>
6611cb0ef41Sopenharmony_ci  </tr>
6621cb0ef41Sopenharmony_ci  <tr>
6631cb0ef41Sopenharmony_ci    <td><code>SIGUNUSED</code></td>
6641cb0ef41Sopenharmony_ci    <td>Synonym for <code>SIGSYS</code></td>
6651cb0ef41Sopenharmony_ci  </tr>
6661cb0ef41Sopenharmony_ci</table>
6671cb0ef41Sopenharmony_ci
6681cb0ef41Sopenharmony_ci### Error constants
6691cb0ef41Sopenharmony_ci
6701cb0ef41Sopenharmony_ciThe following error constants are exported by `os.constants.errno`.
6711cb0ef41Sopenharmony_ci
6721cb0ef41Sopenharmony_ci#### POSIX error constants
6731cb0ef41Sopenharmony_ci
6741cb0ef41Sopenharmony_ci<table>
6751cb0ef41Sopenharmony_ci  <tr>
6761cb0ef41Sopenharmony_ci    <th>Constant</th>
6771cb0ef41Sopenharmony_ci    <th>Description</th>
6781cb0ef41Sopenharmony_ci  </tr>
6791cb0ef41Sopenharmony_ci  <tr>
6801cb0ef41Sopenharmony_ci    <td><code>E2BIG</code></td>
6811cb0ef41Sopenharmony_ci    <td>Indicates that the list of arguments is longer than expected.</td>
6821cb0ef41Sopenharmony_ci  </tr>
6831cb0ef41Sopenharmony_ci  <tr>
6841cb0ef41Sopenharmony_ci    <td><code>EACCES</code></td>
6851cb0ef41Sopenharmony_ci    <td>Indicates that the operation did not have sufficient permissions.</td>
6861cb0ef41Sopenharmony_ci  </tr>
6871cb0ef41Sopenharmony_ci  <tr>
6881cb0ef41Sopenharmony_ci    <td><code>EADDRINUSE</code></td>
6891cb0ef41Sopenharmony_ci    <td>Indicates that the network address is already in use.</td>
6901cb0ef41Sopenharmony_ci  </tr>
6911cb0ef41Sopenharmony_ci  <tr>
6921cb0ef41Sopenharmony_ci    <td><code>EADDRNOTAVAIL</code></td>
6931cb0ef41Sopenharmony_ci    <td>Indicates that the network address is currently unavailable for
6941cb0ef41Sopenharmony_ci    use.</td>
6951cb0ef41Sopenharmony_ci  </tr>
6961cb0ef41Sopenharmony_ci  <tr>
6971cb0ef41Sopenharmony_ci    <td><code>EAFNOSUPPORT</code></td>
6981cb0ef41Sopenharmony_ci    <td>Indicates that the network address family is not supported.</td>
6991cb0ef41Sopenharmony_ci  </tr>
7001cb0ef41Sopenharmony_ci  <tr>
7011cb0ef41Sopenharmony_ci    <td><code>EAGAIN</code></td>
7021cb0ef41Sopenharmony_ci    <td>Indicates that there is no data available and to try the
7031cb0ef41Sopenharmony_ci    operation again later.</td>
7041cb0ef41Sopenharmony_ci  </tr>
7051cb0ef41Sopenharmony_ci  <tr>
7061cb0ef41Sopenharmony_ci    <td><code>EALREADY</code></td>
7071cb0ef41Sopenharmony_ci    <td>Indicates that the socket already has a pending connection in
7081cb0ef41Sopenharmony_ci    progress.</td>
7091cb0ef41Sopenharmony_ci  </tr>
7101cb0ef41Sopenharmony_ci  <tr>
7111cb0ef41Sopenharmony_ci    <td><code>EBADF</code></td>
7121cb0ef41Sopenharmony_ci    <td>Indicates that a file descriptor is not valid.</td>
7131cb0ef41Sopenharmony_ci  </tr>
7141cb0ef41Sopenharmony_ci  <tr>
7151cb0ef41Sopenharmony_ci    <td><code>EBADMSG</code></td>
7161cb0ef41Sopenharmony_ci    <td>Indicates an invalid data message.</td>
7171cb0ef41Sopenharmony_ci  </tr>
7181cb0ef41Sopenharmony_ci  <tr>
7191cb0ef41Sopenharmony_ci    <td><code>EBUSY</code></td>
7201cb0ef41Sopenharmony_ci    <td>Indicates that a device or resource is busy.</td>
7211cb0ef41Sopenharmony_ci  </tr>
7221cb0ef41Sopenharmony_ci  <tr>
7231cb0ef41Sopenharmony_ci    <td><code>ECANCELED</code></td>
7241cb0ef41Sopenharmony_ci    <td>Indicates that an operation was canceled.</td>
7251cb0ef41Sopenharmony_ci  </tr>
7261cb0ef41Sopenharmony_ci  <tr>
7271cb0ef41Sopenharmony_ci    <td><code>ECHILD</code></td>
7281cb0ef41Sopenharmony_ci    <td>Indicates that there are no child processes.</td>
7291cb0ef41Sopenharmony_ci  </tr>
7301cb0ef41Sopenharmony_ci  <tr>
7311cb0ef41Sopenharmony_ci    <td><code>ECONNABORTED</code></td>
7321cb0ef41Sopenharmony_ci    <td>Indicates that the network connection has been aborted.</td>
7331cb0ef41Sopenharmony_ci  </tr>
7341cb0ef41Sopenharmony_ci  <tr>
7351cb0ef41Sopenharmony_ci    <td><code>ECONNREFUSED</code></td>
7361cb0ef41Sopenharmony_ci    <td>Indicates that the network connection has been refused.</td>
7371cb0ef41Sopenharmony_ci  </tr>
7381cb0ef41Sopenharmony_ci  <tr>
7391cb0ef41Sopenharmony_ci    <td><code>ECONNRESET</code></td>
7401cb0ef41Sopenharmony_ci    <td>Indicates that the network connection has been reset.</td>
7411cb0ef41Sopenharmony_ci  </tr>
7421cb0ef41Sopenharmony_ci  <tr>
7431cb0ef41Sopenharmony_ci    <td><code>EDEADLK</code></td>
7441cb0ef41Sopenharmony_ci    <td>Indicates that a resource deadlock has been avoided.</td>
7451cb0ef41Sopenharmony_ci  </tr>
7461cb0ef41Sopenharmony_ci  <tr>
7471cb0ef41Sopenharmony_ci    <td><code>EDESTADDRREQ</code></td>
7481cb0ef41Sopenharmony_ci    <td>Indicates that a destination address is required.</td>
7491cb0ef41Sopenharmony_ci  </tr>
7501cb0ef41Sopenharmony_ci  <tr>
7511cb0ef41Sopenharmony_ci    <td><code>EDOM</code></td>
7521cb0ef41Sopenharmony_ci    <td>Indicates that an argument is out of the domain of the function.</td>
7531cb0ef41Sopenharmony_ci  </tr>
7541cb0ef41Sopenharmony_ci  <tr>
7551cb0ef41Sopenharmony_ci    <td><code>EDQUOT</code></td>
7561cb0ef41Sopenharmony_ci    <td>Indicates that the disk quota has been exceeded.</td>
7571cb0ef41Sopenharmony_ci  </tr>
7581cb0ef41Sopenharmony_ci  <tr>
7591cb0ef41Sopenharmony_ci    <td><code>EEXIST</code></td>
7601cb0ef41Sopenharmony_ci    <td>Indicates that the file already exists.</td>
7611cb0ef41Sopenharmony_ci  </tr>
7621cb0ef41Sopenharmony_ci  <tr>
7631cb0ef41Sopenharmony_ci    <td><code>EFAULT</code></td>
7641cb0ef41Sopenharmony_ci    <td>Indicates an invalid pointer address.</td>
7651cb0ef41Sopenharmony_ci  </tr>
7661cb0ef41Sopenharmony_ci  <tr>
7671cb0ef41Sopenharmony_ci    <td><code>EFBIG</code></td>
7681cb0ef41Sopenharmony_ci    <td>Indicates that the file is too large.</td>
7691cb0ef41Sopenharmony_ci  </tr>
7701cb0ef41Sopenharmony_ci  <tr>
7711cb0ef41Sopenharmony_ci    <td><code>EHOSTUNREACH</code></td>
7721cb0ef41Sopenharmony_ci    <td>Indicates that the host is unreachable.</td>
7731cb0ef41Sopenharmony_ci  </tr>
7741cb0ef41Sopenharmony_ci  <tr>
7751cb0ef41Sopenharmony_ci    <td><code>EIDRM</code></td>
7761cb0ef41Sopenharmony_ci    <td>Indicates that the identifier has been removed.</td>
7771cb0ef41Sopenharmony_ci  </tr>
7781cb0ef41Sopenharmony_ci  <tr>
7791cb0ef41Sopenharmony_ci    <td><code>EILSEQ</code></td>
7801cb0ef41Sopenharmony_ci    <td>Indicates an illegal byte sequence.</td>
7811cb0ef41Sopenharmony_ci  </tr>
7821cb0ef41Sopenharmony_ci  <tr>
7831cb0ef41Sopenharmony_ci    <td><code>EINPROGRESS</code></td>
7841cb0ef41Sopenharmony_ci    <td>Indicates that an operation is already in progress.</td>
7851cb0ef41Sopenharmony_ci  </tr>
7861cb0ef41Sopenharmony_ci  <tr>
7871cb0ef41Sopenharmony_ci    <td><code>EINTR</code></td>
7881cb0ef41Sopenharmony_ci    <td>Indicates that a function call was interrupted.</td>
7891cb0ef41Sopenharmony_ci  </tr>
7901cb0ef41Sopenharmony_ci  <tr>
7911cb0ef41Sopenharmony_ci    <td><code>EINVAL</code></td>
7921cb0ef41Sopenharmony_ci    <td>Indicates that an invalid argument was provided.</td>
7931cb0ef41Sopenharmony_ci  </tr>
7941cb0ef41Sopenharmony_ci  <tr>
7951cb0ef41Sopenharmony_ci    <td><code>EIO</code></td>
7961cb0ef41Sopenharmony_ci    <td>Indicates an otherwise unspecified I/O error.</td>
7971cb0ef41Sopenharmony_ci  </tr>
7981cb0ef41Sopenharmony_ci  <tr>
7991cb0ef41Sopenharmony_ci    <td><code>EISCONN</code></td>
8001cb0ef41Sopenharmony_ci    <td>Indicates that the socket is connected.</td>
8011cb0ef41Sopenharmony_ci  </tr>
8021cb0ef41Sopenharmony_ci  <tr>
8031cb0ef41Sopenharmony_ci    <td><code>EISDIR</code></td>
8041cb0ef41Sopenharmony_ci    <td>Indicates that the path is a directory.</td>
8051cb0ef41Sopenharmony_ci  </tr>
8061cb0ef41Sopenharmony_ci  <tr>
8071cb0ef41Sopenharmony_ci    <td><code>ELOOP</code></td>
8081cb0ef41Sopenharmony_ci    <td>Indicates too many levels of symbolic links in a path.</td>
8091cb0ef41Sopenharmony_ci  </tr>
8101cb0ef41Sopenharmony_ci  <tr>
8111cb0ef41Sopenharmony_ci    <td><code>EMFILE</code></td>
8121cb0ef41Sopenharmony_ci    <td>Indicates that there are too many open files.</td>
8131cb0ef41Sopenharmony_ci  </tr>
8141cb0ef41Sopenharmony_ci  <tr>
8151cb0ef41Sopenharmony_ci    <td><code>EMLINK</code></td>
8161cb0ef41Sopenharmony_ci    <td>Indicates that there are too many hard links to a file.</td>
8171cb0ef41Sopenharmony_ci  </tr>
8181cb0ef41Sopenharmony_ci  <tr>
8191cb0ef41Sopenharmony_ci    <td><code>EMSGSIZE</code></td>
8201cb0ef41Sopenharmony_ci    <td>Indicates that the provided message is too long.</td>
8211cb0ef41Sopenharmony_ci  </tr>
8221cb0ef41Sopenharmony_ci  <tr>
8231cb0ef41Sopenharmony_ci    <td><code>EMULTIHOP</code></td>
8241cb0ef41Sopenharmony_ci    <td>Indicates that a multihop was attempted.</td>
8251cb0ef41Sopenharmony_ci  </tr>
8261cb0ef41Sopenharmony_ci  <tr>
8271cb0ef41Sopenharmony_ci    <td><code>ENAMETOOLONG</code></td>
8281cb0ef41Sopenharmony_ci    <td>Indicates that the filename is too long.</td>
8291cb0ef41Sopenharmony_ci  </tr>
8301cb0ef41Sopenharmony_ci  <tr>
8311cb0ef41Sopenharmony_ci    <td><code>ENETDOWN</code></td>
8321cb0ef41Sopenharmony_ci    <td>Indicates that the network is down.</td>
8331cb0ef41Sopenharmony_ci  </tr>
8341cb0ef41Sopenharmony_ci  <tr>
8351cb0ef41Sopenharmony_ci    <td><code>ENETRESET</code></td>
8361cb0ef41Sopenharmony_ci    <td>Indicates that the connection has been aborted by the network.</td>
8371cb0ef41Sopenharmony_ci  </tr>
8381cb0ef41Sopenharmony_ci  <tr>
8391cb0ef41Sopenharmony_ci    <td><code>ENETUNREACH</code></td>
8401cb0ef41Sopenharmony_ci    <td>Indicates that the network is unreachable.</td>
8411cb0ef41Sopenharmony_ci  </tr>
8421cb0ef41Sopenharmony_ci  <tr>
8431cb0ef41Sopenharmony_ci    <td><code>ENFILE</code></td>
8441cb0ef41Sopenharmony_ci    <td>Indicates too many open files in the system.</td>
8451cb0ef41Sopenharmony_ci  </tr>
8461cb0ef41Sopenharmony_ci  <tr>
8471cb0ef41Sopenharmony_ci    <td><code>ENOBUFS</code></td>
8481cb0ef41Sopenharmony_ci    <td>Indicates that no buffer space is available.</td>
8491cb0ef41Sopenharmony_ci  </tr>
8501cb0ef41Sopenharmony_ci  <tr>
8511cb0ef41Sopenharmony_ci    <td><code>ENODATA</code></td>
8521cb0ef41Sopenharmony_ci    <td>Indicates that no message is available on the stream head read
8531cb0ef41Sopenharmony_ci    queue.</td>
8541cb0ef41Sopenharmony_ci  </tr>
8551cb0ef41Sopenharmony_ci  <tr>
8561cb0ef41Sopenharmony_ci    <td><code>ENODEV</code></td>
8571cb0ef41Sopenharmony_ci    <td>Indicates that there is no such device.</td>
8581cb0ef41Sopenharmony_ci  </tr>
8591cb0ef41Sopenharmony_ci  <tr>
8601cb0ef41Sopenharmony_ci    <td><code>ENOENT</code></td>
8611cb0ef41Sopenharmony_ci    <td>Indicates that there is no such file or directory.</td>
8621cb0ef41Sopenharmony_ci  </tr>
8631cb0ef41Sopenharmony_ci  <tr>
8641cb0ef41Sopenharmony_ci    <td><code>ENOEXEC</code></td>
8651cb0ef41Sopenharmony_ci    <td>Indicates an exec format error.</td>
8661cb0ef41Sopenharmony_ci  </tr>
8671cb0ef41Sopenharmony_ci  <tr>
8681cb0ef41Sopenharmony_ci    <td><code>ENOLCK</code></td>
8691cb0ef41Sopenharmony_ci    <td>Indicates that there are no locks available.</td>
8701cb0ef41Sopenharmony_ci  </tr>
8711cb0ef41Sopenharmony_ci  <tr>
8721cb0ef41Sopenharmony_ci    <td><code>ENOLINK</code></td>
8731cb0ef41Sopenharmony_ci    <td>Indications that a link has been severed.</td>
8741cb0ef41Sopenharmony_ci  </tr>
8751cb0ef41Sopenharmony_ci  <tr>
8761cb0ef41Sopenharmony_ci    <td><code>ENOMEM</code></td>
8771cb0ef41Sopenharmony_ci    <td>Indicates that there is not enough space.</td>
8781cb0ef41Sopenharmony_ci  </tr>
8791cb0ef41Sopenharmony_ci  <tr>
8801cb0ef41Sopenharmony_ci    <td><code>ENOMSG</code></td>
8811cb0ef41Sopenharmony_ci    <td>Indicates that there is no message of the desired type.</td>
8821cb0ef41Sopenharmony_ci  </tr>
8831cb0ef41Sopenharmony_ci  <tr>
8841cb0ef41Sopenharmony_ci    <td><code>ENOPROTOOPT</code></td>
8851cb0ef41Sopenharmony_ci    <td>Indicates that a given protocol is not available.</td>
8861cb0ef41Sopenharmony_ci  </tr>
8871cb0ef41Sopenharmony_ci  <tr>
8881cb0ef41Sopenharmony_ci    <td><code>ENOSPC</code></td>
8891cb0ef41Sopenharmony_ci    <td>Indicates that there is no space available on the device.</td>
8901cb0ef41Sopenharmony_ci  </tr>
8911cb0ef41Sopenharmony_ci  <tr>
8921cb0ef41Sopenharmony_ci    <td><code>ENOSR</code></td>
8931cb0ef41Sopenharmony_ci    <td>Indicates that there are no stream resources available.</td>
8941cb0ef41Sopenharmony_ci  </tr>
8951cb0ef41Sopenharmony_ci  <tr>
8961cb0ef41Sopenharmony_ci    <td><code>ENOSTR</code></td>
8971cb0ef41Sopenharmony_ci    <td>Indicates that a given resource is not a stream.</td>
8981cb0ef41Sopenharmony_ci  </tr>
8991cb0ef41Sopenharmony_ci  <tr>
9001cb0ef41Sopenharmony_ci    <td><code>ENOSYS</code></td>
9011cb0ef41Sopenharmony_ci    <td>Indicates that a function has not been implemented.</td>
9021cb0ef41Sopenharmony_ci  </tr>
9031cb0ef41Sopenharmony_ci  <tr>
9041cb0ef41Sopenharmony_ci    <td><code>ENOTCONN</code></td>
9051cb0ef41Sopenharmony_ci    <td>Indicates that the socket is not connected.</td>
9061cb0ef41Sopenharmony_ci  </tr>
9071cb0ef41Sopenharmony_ci  <tr>
9081cb0ef41Sopenharmony_ci    <td><code>ENOTDIR</code></td>
9091cb0ef41Sopenharmony_ci    <td>Indicates that the path is not a directory.</td>
9101cb0ef41Sopenharmony_ci  </tr>
9111cb0ef41Sopenharmony_ci  <tr>
9121cb0ef41Sopenharmony_ci    <td><code>ENOTEMPTY</code></td>
9131cb0ef41Sopenharmony_ci    <td>Indicates that the directory is not empty.</td>
9141cb0ef41Sopenharmony_ci  </tr>
9151cb0ef41Sopenharmony_ci  <tr>
9161cb0ef41Sopenharmony_ci    <td><code>ENOTSOCK</code></td>
9171cb0ef41Sopenharmony_ci    <td>Indicates that the given item is not a socket.</td>
9181cb0ef41Sopenharmony_ci  </tr>
9191cb0ef41Sopenharmony_ci  <tr>
9201cb0ef41Sopenharmony_ci    <td><code>ENOTSUP</code></td>
9211cb0ef41Sopenharmony_ci    <td>Indicates that a given operation is not supported.</td>
9221cb0ef41Sopenharmony_ci  </tr>
9231cb0ef41Sopenharmony_ci  <tr>
9241cb0ef41Sopenharmony_ci    <td><code>ENOTTY</code></td>
9251cb0ef41Sopenharmony_ci    <td>Indicates an inappropriate I/O control operation.</td>
9261cb0ef41Sopenharmony_ci  </tr>
9271cb0ef41Sopenharmony_ci  <tr>
9281cb0ef41Sopenharmony_ci    <td><code>ENXIO</code></td>
9291cb0ef41Sopenharmony_ci    <td>Indicates no such device or address.</td>
9301cb0ef41Sopenharmony_ci  </tr>
9311cb0ef41Sopenharmony_ci  <tr>
9321cb0ef41Sopenharmony_ci    <td><code>EOPNOTSUPP</code></td>
9331cb0ef41Sopenharmony_ci    <td>Indicates that an operation is not supported on the socket. Although
9341cb0ef41Sopenharmony_ci    <code>ENOTSUP</code> and <code>EOPNOTSUPP</code> have the same value
9351cb0ef41Sopenharmony_ci    on Linux, according to POSIX.1 these error values should be distinct.)</td>
9361cb0ef41Sopenharmony_ci  </tr>
9371cb0ef41Sopenharmony_ci  <tr>
9381cb0ef41Sopenharmony_ci    <td><code>EOVERFLOW</code></td>
9391cb0ef41Sopenharmony_ci    <td>Indicates that a value is too large to be stored in a given data
9401cb0ef41Sopenharmony_ci    type.</td>
9411cb0ef41Sopenharmony_ci  </tr>
9421cb0ef41Sopenharmony_ci  <tr>
9431cb0ef41Sopenharmony_ci    <td><code>EPERM</code></td>
9441cb0ef41Sopenharmony_ci    <td>Indicates that the operation is not permitted.</td>
9451cb0ef41Sopenharmony_ci  </tr>
9461cb0ef41Sopenharmony_ci  <tr>
9471cb0ef41Sopenharmony_ci    <td><code>EPIPE</code></td>
9481cb0ef41Sopenharmony_ci    <td>Indicates a broken pipe.</td>
9491cb0ef41Sopenharmony_ci  </tr>
9501cb0ef41Sopenharmony_ci  <tr>
9511cb0ef41Sopenharmony_ci    <td><code>EPROTO</code></td>
9521cb0ef41Sopenharmony_ci    <td>Indicates a protocol error.</td>
9531cb0ef41Sopenharmony_ci  </tr>
9541cb0ef41Sopenharmony_ci  <tr>
9551cb0ef41Sopenharmony_ci    <td><code>EPROTONOSUPPORT</code></td>
9561cb0ef41Sopenharmony_ci    <td>Indicates that a protocol is not supported.</td>
9571cb0ef41Sopenharmony_ci  </tr>
9581cb0ef41Sopenharmony_ci  <tr>
9591cb0ef41Sopenharmony_ci    <td><code>EPROTOTYPE</code></td>
9601cb0ef41Sopenharmony_ci    <td>Indicates the wrong type of protocol for a socket.</td>
9611cb0ef41Sopenharmony_ci  </tr>
9621cb0ef41Sopenharmony_ci  <tr>
9631cb0ef41Sopenharmony_ci    <td><code>ERANGE</code></td>
9641cb0ef41Sopenharmony_ci    <td>Indicates that the results are too large.</td>
9651cb0ef41Sopenharmony_ci  </tr>
9661cb0ef41Sopenharmony_ci  <tr>
9671cb0ef41Sopenharmony_ci    <td><code>EROFS</code></td>
9681cb0ef41Sopenharmony_ci    <td>Indicates that the file system is read only.</td>
9691cb0ef41Sopenharmony_ci  </tr>
9701cb0ef41Sopenharmony_ci  <tr>
9711cb0ef41Sopenharmony_ci    <td><code>ESPIPE</code></td>
9721cb0ef41Sopenharmony_ci    <td>Indicates an invalid seek operation.</td>
9731cb0ef41Sopenharmony_ci  </tr>
9741cb0ef41Sopenharmony_ci  <tr>
9751cb0ef41Sopenharmony_ci    <td><code>ESRCH</code></td>
9761cb0ef41Sopenharmony_ci    <td>Indicates that there is no such process.</td>
9771cb0ef41Sopenharmony_ci  </tr>
9781cb0ef41Sopenharmony_ci  <tr>
9791cb0ef41Sopenharmony_ci    <td><code>ESTALE</code></td>
9801cb0ef41Sopenharmony_ci    <td>Indicates that the file handle is stale.</td>
9811cb0ef41Sopenharmony_ci  </tr>
9821cb0ef41Sopenharmony_ci  <tr>
9831cb0ef41Sopenharmony_ci    <td><code>ETIME</code></td>
9841cb0ef41Sopenharmony_ci    <td>Indicates an expired timer.</td>
9851cb0ef41Sopenharmony_ci  </tr>
9861cb0ef41Sopenharmony_ci  <tr>
9871cb0ef41Sopenharmony_ci    <td><code>ETIMEDOUT</code></td>
9881cb0ef41Sopenharmony_ci    <td>Indicates that the connection timed out.</td>
9891cb0ef41Sopenharmony_ci  </tr>
9901cb0ef41Sopenharmony_ci  <tr>
9911cb0ef41Sopenharmony_ci    <td><code>ETXTBSY</code></td>
9921cb0ef41Sopenharmony_ci    <td>Indicates that a text file is busy.</td>
9931cb0ef41Sopenharmony_ci  </tr>
9941cb0ef41Sopenharmony_ci  <tr>
9951cb0ef41Sopenharmony_ci    <td><code>EWOULDBLOCK</code></td>
9961cb0ef41Sopenharmony_ci    <td>Indicates that the operation would block.</td>
9971cb0ef41Sopenharmony_ci  </tr>
9981cb0ef41Sopenharmony_ci  <tr>
9991cb0ef41Sopenharmony_ci    <td><code>EXDEV</code></td>
10001cb0ef41Sopenharmony_ci    <td>Indicates an improper link.</td>
10011cb0ef41Sopenharmony_ci  </tr>
10021cb0ef41Sopenharmony_ci</table>
10031cb0ef41Sopenharmony_ci
10041cb0ef41Sopenharmony_ci#### Windows-specific error constants
10051cb0ef41Sopenharmony_ci
10061cb0ef41Sopenharmony_ciThe following error codes are specific to the Windows operating system.
10071cb0ef41Sopenharmony_ci
10081cb0ef41Sopenharmony_ci<table>
10091cb0ef41Sopenharmony_ci  <tr>
10101cb0ef41Sopenharmony_ci    <th>Constant</th>
10111cb0ef41Sopenharmony_ci    <th>Description</th>
10121cb0ef41Sopenharmony_ci  </tr>
10131cb0ef41Sopenharmony_ci  <tr>
10141cb0ef41Sopenharmony_ci    <td><code>WSAEINTR</code></td>
10151cb0ef41Sopenharmony_ci    <td>Indicates an interrupted function call.</td>
10161cb0ef41Sopenharmony_ci  </tr>
10171cb0ef41Sopenharmony_ci  <tr>
10181cb0ef41Sopenharmony_ci    <td><code>WSAEBADF</code></td>
10191cb0ef41Sopenharmony_ci    <td>Indicates an invalid file handle.</td>
10201cb0ef41Sopenharmony_ci  </tr>
10211cb0ef41Sopenharmony_ci  <tr>
10221cb0ef41Sopenharmony_ci    <td><code>WSAEACCES</code></td>
10231cb0ef41Sopenharmony_ci    <td>Indicates insufficient permissions to complete the operation.</td>
10241cb0ef41Sopenharmony_ci  </tr>
10251cb0ef41Sopenharmony_ci  <tr>
10261cb0ef41Sopenharmony_ci    <td><code>WSAEFAULT</code></td>
10271cb0ef41Sopenharmony_ci    <td>Indicates an invalid pointer address.</td>
10281cb0ef41Sopenharmony_ci  </tr>
10291cb0ef41Sopenharmony_ci  <tr>
10301cb0ef41Sopenharmony_ci    <td><code>WSAEINVAL</code></td>
10311cb0ef41Sopenharmony_ci    <td>Indicates that an invalid argument was passed.</td>
10321cb0ef41Sopenharmony_ci  </tr>
10331cb0ef41Sopenharmony_ci  <tr>
10341cb0ef41Sopenharmony_ci    <td><code>WSAEMFILE</code></td>
10351cb0ef41Sopenharmony_ci    <td>Indicates that there are too many open files.</td>
10361cb0ef41Sopenharmony_ci  </tr>
10371cb0ef41Sopenharmony_ci  <tr>
10381cb0ef41Sopenharmony_ci    <td><code>WSAEWOULDBLOCK</code></td>
10391cb0ef41Sopenharmony_ci    <td>Indicates that a resource is temporarily unavailable.</td>
10401cb0ef41Sopenharmony_ci  </tr>
10411cb0ef41Sopenharmony_ci  <tr>
10421cb0ef41Sopenharmony_ci    <td><code>WSAEINPROGRESS</code></td>
10431cb0ef41Sopenharmony_ci    <td>Indicates that an operation is currently in progress.</td>
10441cb0ef41Sopenharmony_ci  </tr>
10451cb0ef41Sopenharmony_ci  <tr>
10461cb0ef41Sopenharmony_ci    <td><code>WSAEALREADY</code></td>
10471cb0ef41Sopenharmony_ci    <td>Indicates that an operation is already in progress.</td>
10481cb0ef41Sopenharmony_ci  </tr>
10491cb0ef41Sopenharmony_ci  <tr>
10501cb0ef41Sopenharmony_ci    <td><code>WSAENOTSOCK</code></td>
10511cb0ef41Sopenharmony_ci    <td>Indicates that the resource is not a socket.</td>
10521cb0ef41Sopenharmony_ci  </tr>
10531cb0ef41Sopenharmony_ci  <tr>
10541cb0ef41Sopenharmony_ci    <td><code>WSAEDESTADDRREQ</code></td>
10551cb0ef41Sopenharmony_ci    <td>Indicates that a destination address is required.</td>
10561cb0ef41Sopenharmony_ci  </tr>
10571cb0ef41Sopenharmony_ci  <tr>
10581cb0ef41Sopenharmony_ci    <td><code>WSAEMSGSIZE</code></td>
10591cb0ef41Sopenharmony_ci    <td>Indicates that the message size is too long.</td>
10601cb0ef41Sopenharmony_ci  </tr>
10611cb0ef41Sopenharmony_ci  <tr>
10621cb0ef41Sopenharmony_ci    <td><code>WSAEPROTOTYPE</code></td>
10631cb0ef41Sopenharmony_ci    <td>Indicates the wrong protocol type for the socket.</td>
10641cb0ef41Sopenharmony_ci  </tr>
10651cb0ef41Sopenharmony_ci  <tr>
10661cb0ef41Sopenharmony_ci    <td><code>WSAENOPROTOOPT</code></td>
10671cb0ef41Sopenharmony_ci    <td>Indicates a bad protocol option.</td>
10681cb0ef41Sopenharmony_ci  </tr>
10691cb0ef41Sopenharmony_ci  <tr>
10701cb0ef41Sopenharmony_ci    <td><code>WSAEPROTONOSUPPORT</code></td>
10711cb0ef41Sopenharmony_ci    <td>Indicates that the protocol is not supported.</td>
10721cb0ef41Sopenharmony_ci  </tr>
10731cb0ef41Sopenharmony_ci  <tr>
10741cb0ef41Sopenharmony_ci    <td><code>WSAESOCKTNOSUPPORT</code></td>
10751cb0ef41Sopenharmony_ci    <td>Indicates that the socket type is not supported.</td>
10761cb0ef41Sopenharmony_ci  </tr>
10771cb0ef41Sopenharmony_ci  <tr>
10781cb0ef41Sopenharmony_ci    <td><code>WSAEOPNOTSUPP</code></td>
10791cb0ef41Sopenharmony_ci    <td>Indicates that the operation is not supported.</td>
10801cb0ef41Sopenharmony_ci  </tr>
10811cb0ef41Sopenharmony_ci  <tr>
10821cb0ef41Sopenharmony_ci    <td><code>WSAEPFNOSUPPORT</code></td>
10831cb0ef41Sopenharmony_ci    <td>Indicates that the protocol family is not supported.</td>
10841cb0ef41Sopenharmony_ci  </tr>
10851cb0ef41Sopenharmony_ci  <tr>
10861cb0ef41Sopenharmony_ci    <td><code>WSAEAFNOSUPPORT</code></td>
10871cb0ef41Sopenharmony_ci    <td>Indicates that the address family is not supported.</td>
10881cb0ef41Sopenharmony_ci  </tr>
10891cb0ef41Sopenharmony_ci  <tr>
10901cb0ef41Sopenharmony_ci    <td><code>WSAEADDRINUSE</code></td>
10911cb0ef41Sopenharmony_ci    <td>Indicates that the network address is already in use.</td>
10921cb0ef41Sopenharmony_ci  </tr>
10931cb0ef41Sopenharmony_ci  <tr>
10941cb0ef41Sopenharmony_ci    <td><code>WSAEADDRNOTAVAIL</code></td>
10951cb0ef41Sopenharmony_ci    <td>Indicates that the network address is not available.</td>
10961cb0ef41Sopenharmony_ci  </tr>
10971cb0ef41Sopenharmony_ci  <tr>
10981cb0ef41Sopenharmony_ci    <td><code>WSAENETDOWN</code></td>
10991cb0ef41Sopenharmony_ci    <td>Indicates that the network is down.</td>
11001cb0ef41Sopenharmony_ci  </tr>
11011cb0ef41Sopenharmony_ci  <tr>
11021cb0ef41Sopenharmony_ci    <td><code>WSAENETUNREACH</code></td>
11031cb0ef41Sopenharmony_ci    <td>Indicates that the network is unreachable.</td>
11041cb0ef41Sopenharmony_ci  </tr>
11051cb0ef41Sopenharmony_ci  <tr>
11061cb0ef41Sopenharmony_ci    <td><code>WSAENETRESET</code></td>
11071cb0ef41Sopenharmony_ci    <td>Indicates that the network connection has been reset.</td>
11081cb0ef41Sopenharmony_ci  </tr>
11091cb0ef41Sopenharmony_ci  <tr>
11101cb0ef41Sopenharmony_ci    <td><code>WSAECONNABORTED</code></td>
11111cb0ef41Sopenharmony_ci    <td>Indicates that the connection has been aborted.</td>
11121cb0ef41Sopenharmony_ci  </tr>
11131cb0ef41Sopenharmony_ci  <tr>
11141cb0ef41Sopenharmony_ci    <td><code>WSAECONNRESET</code></td>
11151cb0ef41Sopenharmony_ci    <td>Indicates that the connection has been reset by the peer.</td>
11161cb0ef41Sopenharmony_ci  </tr>
11171cb0ef41Sopenharmony_ci  <tr>
11181cb0ef41Sopenharmony_ci    <td><code>WSAENOBUFS</code></td>
11191cb0ef41Sopenharmony_ci    <td>Indicates that there is no buffer space available.</td>
11201cb0ef41Sopenharmony_ci  </tr>
11211cb0ef41Sopenharmony_ci  <tr>
11221cb0ef41Sopenharmony_ci    <td><code>WSAEISCONN</code></td>
11231cb0ef41Sopenharmony_ci    <td>Indicates that the socket is already connected.</td>
11241cb0ef41Sopenharmony_ci  </tr>
11251cb0ef41Sopenharmony_ci  <tr>
11261cb0ef41Sopenharmony_ci    <td><code>WSAENOTCONN</code></td>
11271cb0ef41Sopenharmony_ci    <td>Indicates that the socket is not connected.</td>
11281cb0ef41Sopenharmony_ci  </tr>
11291cb0ef41Sopenharmony_ci  <tr>
11301cb0ef41Sopenharmony_ci    <td><code>WSAESHUTDOWN</code></td>
11311cb0ef41Sopenharmony_ci    <td>Indicates that data cannot be sent after the socket has been
11321cb0ef41Sopenharmony_ci    shutdown.</td>
11331cb0ef41Sopenharmony_ci  </tr>
11341cb0ef41Sopenharmony_ci  <tr>
11351cb0ef41Sopenharmony_ci    <td><code>WSAETOOMANYREFS</code></td>
11361cb0ef41Sopenharmony_ci    <td>Indicates that there are too many references.</td>
11371cb0ef41Sopenharmony_ci  </tr>
11381cb0ef41Sopenharmony_ci  <tr>
11391cb0ef41Sopenharmony_ci    <td><code>WSAETIMEDOUT</code></td>
11401cb0ef41Sopenharmony_ci    <td>Indicates that the connection has timed out.</td>
11411cb0ef41Sopenharmony_ci  </tr>
11421cb0ef41Sopenharmony_ci  <tr>
11431cb0ef41Sopenharmony_ci    <td><code>WSAECONNREFUSED</code></td>
11441cb0ef41Sopenharmony_ci    <td>Indicates that the connection has been refused.</td>
11451cb0ef41Sopenharmony_ci  </tr>
11461cb0ef41Sopenharmony_ci  <tr>
11471cb0ef41Sopenharmony_ci    <td><code>WSAELOOP</code></td>
11481cb0ef41Sopenharmony_ci    <td>Indicates that a name cannot be translated.</td>
11491cb0ef41Sopenharmony_ci  </tr>
11501cb0ef41Sopenharmony_ci  <tr>
11511cb0ef41Sopenharmony_ci    <td><code>WSAENAMETOOLONG</code></td>
11521cb0ef41Sopenharmony_ci    <td>Indicates that a name was too long.</td>
11531cb0ef41Sopenharmony_ci  </tr>
11541cb0ef41Sopenharmony_ci  <tr>
11551cb0ef41Sopenharmony_ci    <td><code>WSAEHOSTDOWN</code></td>
11561cb0ef41Sopenharmony_ci    <td>Indicates that a network host is down.</td>
11571cb0ef41Sopenharmony_ci  </tr>
11581cb0ef41Sopenharmony_ci  <tr>
11591cb0ef41Sopenharmony_ci    <td><code>WSAEHOSTUNREACH</code></td>
11601cb0ef41Sopenharmony_ci    <td>Indicates that there is no route to a network host.</td>
11611cb0ef41Sopenharmony_ci  </tr>
11621cb0ef41Sopenharmony_ci  <tr>
11631cb0ef41Sopenharmony_ci    <td><code>WSAENOTEMPTY</code></td>
11641cb0ef41Sopenharmony_ci    <td>Indicates that the directory is not empty.</td>
11651cb0ef41Sopenharmony_ci  </tr>
11661cb0ef41Sopenharmony_ci  <tr>
11671cb0ef41Sopenharmony_ci    <td><code>WSAEPROCLIM</code></td>
11681cb0ef41Sopenharmony_ci    <td>Indicates that there are too many processes.</td>
11691cb0ef41Sopenharmony_ci  </tr>
11701cb0ef41Sopenharmony_ci  <tr>
11711cb0ef41Sopenharmony_ci    <td><code>WSAEUSERS</code></td>
11721cb0ef41Sopenharmony_ci    <td>Indicates that the user quota has been exceeded.</td>
11731cb0ef41Sopenharmony_ci  </tr>
11741cb0ef41Sopenharmony_ci  <tr>
11751cb0ef41Sopenharmony_ci    <td><code>WSAEDQUOT</code></td>
11761cb0ef41Sopenharmony_ci    <td>Indicates that the disk quota has been exceeded.</td>
11771cb0ef41Sopenharmony_ci  </tr>
11781cb0ef41Sopenharmony_ci  <tr>
11791cb0ef41Sopenharmony_ci    <td><code>WSAESTALE</code></td>
11801cb0ef41Sopenharmony_ci    <td>Indicates a stale file handle reference.</td>
11811cb0ef41Sopenharmony_ci  </tr>
11821cb0ef41Sopenharmony_ci  <tr>
11831cb0ef41Sopenharmony_ci    <td><code>WSAEREMOTE</code></td>
11841cb0ef41Sopenharmony_ci    <td>Indicates that the item is remote.</td>
11851cb0ef41Sopenharmony_ci  </tr>
11861cb0ef41Sopenharmony_ci  <tr>
11871cb0ef41Sopenharmony_ci    <td><code>WSASYSNOTREADY</code></td>
11881cb0ef41Sopenharmony_ci    <td>Indicates that the network subsystem is not ready.</td>
11891cb0ef41Sopenharmony_ci  </tr>
11901cb0ef41Sopenharmony_ci  <tr>
11911cb0ef41Sopenharmony_ci    <td><code>WSAVERNOTSUPPORTED</code></td>
11921cb0ef41Sopenharmony_ci    <td>Indicates that the <code>winsock.dll</code> version is out of
11931cb0ef41Sopenharmony_ci    range.</td>
11941cb0ef41Sopenharmony_ci  </tr>
11951cb0ef41Sopenharmony_ci  <tr>
11961cb0ef41Sopenharmony_ci    <td><code>WSANOTINITIALISED</code></td>
11971cb0ef41Sopenharmony_ci    <td>Indicates that successful WSAStartup has not yet been performed.</td>
11981cb0ef41Sopenharmony_ci  </tr>
11991cb0ef41Sopenharmony_ci  <tr>
12001cb0ef41Sopenharmony_ci    <td><code>WSAEDISCON</code></td>
12011cb0ef41Sopenharmony_ci    <td>Indicates that a graceful shutdown is in progress.</td>
12021cb0ef41Sopenharmony_ci  </tr>
12031cb0ef41Sopenharmony_ci  <tr>
12041cb0ef41Sopenharmony_ci    <td><code>WSAENOMORE</code></td>
12051cb0ef41Sopenharmony_ci    <td>Indicates that there are no more results.</td>
12061cb0ef41Sopenharmony_ci  </tr>
12071cb0ef41Sopenharmony_ci  <tr>
12081cb0ef41Sopenharmony_ci    <td><code>WSAECANCELLED</code></td>
12091cb0ef41Sopenharmony_ci    <td>Indicates that an operation has been canceled.</td>
12101cb0ef41Sopenharmony_ci  </tr>
12111cb0ef41Sopenharmony_ci  <tr>
12121cb0ef41Sopenharmony_ci    <td><code>WSAEINVALIDPROCTABLE</code></td>
12131cb0ef41Sopenharmony_ci    <td>Indicates that the procedure call table is invalid.</td>
12141cb0ef41Sopenharmony_ci  </tr>
12151cb0ef41Sopenharmony_ci  <tr>
12161cb0ef41Sopenharmony_ci    <td><code>WSAEINVALIDPROVIDER</code></td>
12171cb0ef41Sopenharmony_ci    <td>Indicates an invalid service provider.</td>
12181cb0ef41Sopenharmony_ci  </tr>
12191cb0ef41Sopenharmony_ci  <tr>
12201cb0ef41Sopenharmony_ci    <td><code>WSAEPROVIDERFAILEDINIT</code></td>
12211cb0ef41Sopenharmony_ci    <td>Indicates that the service provider failed to initialized.</td>
12221cb0ef41Sopenharmony_ci  </tr>
12231cb0ef41Sopenharmony_ci  <tr>
12241cb0ef41Sopenharmony_ci    <td><code>WSASYSCALLFAILURE</code></td>
12251cb0ef41Sopenharmony_ci    <td>Indicates a system call failure.</td>
12261cb0ef41Sopenharmony_ci  </tr>
12271cb0ef41Sopenharmony_ci  <tr>
12281cb0ef41Sopenharmony_ci    <td><code>WSASERVICE_NOT_FOUND</code></td>
12291cb0ef41Sopenharmony_ci    <td>Indicates that a service was not found.</td>
12301cb0ef41Sopenharmony_ci  </tr>
12311cb0ef41Sopenharmony_ci  <tr>
12321cb0ef41Sopenharmony_ci    <td><code>WSATYPE_NOT_FOUND</code></td>
12331cb0ef41Sopenharmony_ci    <td>Indicates that a class type was not found.</td>
12341cb0ef41Sopenharmony_ci  </tr>
12351cb0ef41Sopenharmony_ci  <tr>
12361cb0ef41Sopenharmony_ci    <td><code>WSA_E_NO_MORE</code></td>
12371cb0ef41Sopenharmony_ci    <td>Indicates that there are no more results.</td>
12381cb0ef41Sopenharmony_ci  </tr>
12391cb0ef41Sopenharmony_ci  <tr>
12401cb0ef41Sopenharmony_ci    <td><code>WSA_E_CANCELLED</code></td>
12411cb0ef41Sopenharmony_ci    <td>Indicates that the call was canceled.</td>
12421cb0ef41Sopenharmony_ci  </tr>
12431cb0ef41Sopenharmony_ci  <tr>
12441cb0ef41Sopenharmony_ci    <td><code>WSAEREFUSED</code></td>
12451cb0ef41Sopenharmony_ci    <td>Indicates that a database query was refused.</td>
12461cb0ef41Sopenharmony_ci  </tr>
12471cb0ef41Sopenharmony_ci</table>
12481cb0ef41Sopenharmony_ci
12491cb0ef41Sopenharmony_ci### dlopen constants
12501cb0ef41Sopenharmony_ci
12511cb0ef41Sopenharmony_ciIf available on the operating system, the following constants
12521cb0ef41Sopenharmony_ciare exported in `os.constants.dlopen`. See dlopen(3) for detailed
12531cb0ef41Sopenharmony_ciinformation.
12541cb0ef41Sopenharmony_ci
12551cb0ef41Sopenharmony_ci<table>
12561cb0ef41Sopenharmony_ci  <tr>
12571cb0ef41Sopenharmony_ci    <th>Constant</th>
12581cb0ef41Sopenharmony_ci    <th>Description</th>
12591cb0ef41Sopenharmony_ci  </tr>
12601cb0ef41Sopenharmony_ci  <tr>
12611cb0ef41Sopenharmony_ci    <td><code>RTLD_LAZY</code></td>
12621cb0ef41Sopenharmony_ci    <td>Perform lazy binding. Node.js sets this flag by default.</td>
12631cb0ef41Sopenharmony_ci  </tr>
12641cb0ef41Sopenharmony_ci  <tr>
12651cb0ef41Sopenharmony_ci    <td><code>RTLD_NOW</code></td>
12661cb0ef41Sopenharmony_ci    <td>Resolve all undefined symbols in the library before dlopen(3)
12671cb0ef41Sopenharmony_ci    returns.</td>
12681cb0ef41Sopenharmony_ci  </tr>
12691cb0ef41Sopenharmony_ci  <tr>
12701cb0ef41Sopenharmony_ci    <td><code>RTLD_GLOBAL</code></td>
12711cb0ef41Sopenharmony_ci    <td>Symbols defined by the library will be made available for symbol
12721cb0ef41Sopenharmony_ci    resolution of subsequently loaded libraries.</td>
12731cb0ef41Sopenharmony_ci  </tr>
12741cb0ef41Sopenharmony_ci  <tr>
12751cb0ef41Sopenharmony_ci    <td><code>RTLD_LOCAL</code></td>
12761cb0ef41Sopenharmony_ci    <td>The converse of <code>RTLD_GLOBAL</code>. This is the default behavior
12771cb0ef41Sopenharmony_ci    if neither flag is specified.</td>
12781cb0ef41Sopenharmony_ci  </tr>
12791cb0ef41Sopenharmony_ci  <tr>
12801cb0ef41Sopenharmony_ci    <td><code>RTLD_DEEPBIND</code></td>
12811cb0ef41Sopenharmony_ci    <td>Make a self-contained library use its own symbols in preference to
12821cb0ef41Sopenharmony_ci    symbols from previously loaded libraries.</td>
12831cb0ef41Sopenharmony_ci  </tr>
12841cb0ef41Sopenharmony_ci</table>
12851cb0ef41Sopenharmony_ci
12861cb0ef41Sopenharmony_ci### Priority constants
12871cb0ef41Sopenharmony_ci
12881cb0ef41Sopenharmony_ci<!-- YAML
12891cb0ef41Sopenharmony_ciadded: v10.10.0
12901cb0ef41Sopenharmony_ci-->
12911cb0ef41Sopenharmony_ci
12921cb0ef41Sopenharmony_ciThe following process scheduling constants are exported by
12931cb0ef41Sopenharmony_ci`os.constants.priority`.
12941cb0ef41Sopenharmony_ci
12951cb0ef41Sopenharmony_ci<table>
12961cb0ef41Sopenharmony_ci  <tr>
12971cb0ef41Sopenharmony_ci    <th>Constant</th>
12981cb0ef41Sopenharmony_ci    <th>Description</th>
12991cb0ef41Sopenharmony_ci  </tr>
13001cb0ef41Sopenharmony_ci  <tr>
13011cb0ef41Sopenharmony_ci    <td><code>PRIORITY_LOW</code></td>
13021cb0ef41Sopenharmony_ci    <td>The lowest process scheduling priority. This corresponds to
13031cb0ef41Sopenharmony_ci    <code>IDLE_PRIORITY_CLASS</code> on Windows, and a nice value of
13041cb0ef41Sopenharmony_ci    <code>19</code> on all other platforms.</td>
13051cb0ef41Sopenharmony_ci  </tr>
13061cb0ef41Sopenharmony_ci  <tr>
13071cb0ef41Sopenharmony_ci    <td><code>PRIORITY_BELOW_NORMAL</code></td>
13081cb0ef41Sopenharmony_ci    <td>The process scheduling priority above <code>PRIORITY_LOW</code> and
13091cb0ef41Sopenharmony_ci    below <code>PRIORITY_NORMAL</code>. This corresponds to
13101cb0ef41Sopenharmony_ci    <code>BELOW_NORMAL_PRIORITY_CLASS</code> on Windows, and a nice value of
13111cb0ef41Sopenharmony_ci    <code>10</code> on all other platforms.</td>
13121cb0ef41Sopenharmony_ci  </tr>
13131cb0ef41Sopenharmony_ci  <tr>
13141cb0ef41Sopenharmony_ci    <td><code>PRIORITY_NORMAL</code></td>
13151cb0ef41Sopenharmony_ci    <td>The default process scheduling priority. This corresponds to
13161cb0ef41Sopenharmony_ci    <code>NORMAL_PRIORITY_CLASS</code> on Windows, and a nice value of
13171cb0ef41Sopenharmony_ci    <code>0</code> on all other platforms.</td>
13181cb0ef41Sopenharmony_ci  </tr>
13191cb0ef41Sopenharmony_ci  <tr>
13201cb0ef41Sopenharmony_ci    <td><code>PRIORITY_ABOVE_NORMAL</code></td>
13211cb0ef41Sopenharmony_ci    <td>The process scheduling priority above <code>PRIORITY_NORMAL</code> and
13221cb0ef41Sopenharmony_ci    below <code>PRIORITY_HIGH</code>. This corresponds to
13231cb0ef41Sopenharmony_ci    <code>ABOVE_NORMAL_PRIORITY_CLASS</code> on Windows, and a nice value of
13241cb0ef41Sopenharmony_ci    <code>-7</code> on all other platforms.</td>
13251cb0ef41Sopenharmony_ci  </tr>
13261cb0ef41Sopenharmony_ci  <tr>
13271cb0ef41Sopenharmony_ci    <td><code>PRIORITY_HIGH</code></td>
13281cb0ef41Sopenharmony_ci    <td>The process scheduling priority above <code>PRIORITY_ABOVE_NORMAL</code>
13291cb0ef41Sopenharmony_ci    and below <code>PRIORITY_HIGHEST</code>. This corresponds to
13301cb0ef41Sopenharmony_ci    <code>HIGH_PRIORITY_CLASS</code> on Windows, and a nice value of
13311cb0ef41Sopenharmony_ci    <code>-14</code> on all other platforms.</td>
13321cb0ef41Sopenharmony_ci  </tr>
13331cb0ef41Sopenharmony_ci  <tr>
13341cb0ef41Sopenharmony_ci    <td><code>PRIORITY_HIGHEST</code></td>
13351cb0ef41Sopenharmony_ci    <td>The highest process scheduling priority. This corresponds to
13361cb0ef41Sopenharmony_ci    <code>REALTIME_PRIORITY_CLASS</code> on Windows, and a nice value of
13371cb0ef41Sopenharmony_ci    <code>-20</code> on all other platforms.</td>
13381cb0ef41Sopenharmony_ci  </tr>
13391cb0ef41Sopenharmony_ci</table>
13401cb0ef41Sopenharmony_ci
13411cb0ef41Sopenharmony_ci### libuv constants
13421cb0ef41Sopenharmony_ci
13431cb0ef41Sopenharmony_ci<table>
13441cb0ef41Sopenharmony_ci  <tr>
13451cb0ef41Sopenharmony_ci    <th>Constant</th>
13461cb0ef41Sopenharmony_ci    <th>Description</th>
13471cb0ef41Sopenharmony_ci  </tr>
13481cb0ef41Sopenharmony_ci  <tr>
13491cb0ef41Sopenharmony_ci    <td><code>UV_UDP_REUSEADDR</code></td>
13501cb0ef41Sopenharmony_ci    <td></td>
13511cb0ef41Sopenharmony_ci  </tr>
13521cb0ef41Sopenharmony_ci</table>
13531cb0ef41Sopenharmony_ci
13541cb0ef41Sopenharmony_ci[Android building]: https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os
13551cb0ef41Sopenharmony_ci[EUID]: https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID
13561cb0ef41Sopenharmony_ci[`SystemError`]: errors.md#class-systemerror
13571cb0ef41Sopenharmony_ci[`process.arch`]: process.md#processarch
13581cb0ef41Sopenharmony_ci[`process.platform`]: process.md#processplatform
13591cb0ef41Sopenharmony_ci[`uname(3)`]: https://linux.die.net/man/3/uname
13601cb0ef41Sopenharmony_ci[`uv_available_parallelism()`]: https://docs.libuv.org/en/v1.x/misc.html#c.uv_available_parallelism
1361