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