Pinsave/counterstrike
1
1/**2 * The `node:os` module provides operating system-related utility methods and3 * properties. It can be accessed using:4 *5 * ```js6 * import os from 'node:os';7 * ```8 * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/os.js)9 */10declare module "os" {11 interface CpuInfo {12 model: string;13 speed: number;14 times: {15 /** The number of milliseconds the CPU has spent in user mode. */16 user: number;17 /** The number of milliseconds the CPU has spent in nice mode. */18 nice: number;19 /** The number of milliseconds the CPU has spent in sys mode. */20 sys: number;21 /** The number of milliseconds the CPU has spent in idle mode. */22 idle: number;23 /** The number of milliseconds the CPU has spent in irq mode. */24 irq: number;25 };26 }27 interface NetworkInterfaceBase {28 address: string;29 netmask: string;30 mac: string;31 internal: boolean;32 cidr: string | null;33 }34 interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {35 family: "IPv4";36 scopeid?: undefined;37 }38 interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {39 family: "IPv6";40 scopeid: number;41 }42 interface UserInfo<T> {43 username: T;44 uid: number;45 gid: number;46 shell: T | null;47 homedir: T;48 }49 type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6;50 /**51 * Returns the host name of the operating system as a string.52 * @since v0.3.353 */54 function hostname(): string;55 /**56 * Returns an array containing the 1, 5, and 15 minute load averages.57 *58 * The load average is a measure of system activity calculated by the operating59 * system and expressed as a fractional number.60 *61 * The load average is a Unix-specific concept. On Windows, the return value is62 * always `[0, 0, 0]`.63 * @since v0.3.364 */65 function loadavg(): number[];66 /**67 * Returns the system uptime in number of seconds.68 * @since v0.3.369 */70 function uptime(): number;71 /**72 * Returns the amount of free system memory in bytes as an integer.73 * @since v0.3.374 */75 function freemem(): number;76 /**77 * Returns the total amount of system memory in bytes as an integer.78 * @since v0.3.379 */80 function totalmem(): number;81 /**82 * Returns an array of objects containing information about each logical CPU core.83 * The array will be empty if no CPU information is available, such as if the `/proc` file system is unavailable.84 *85 * The properties included on each object include:86 *87 * ```js88 * [89 * {90 * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',91 * speed: 2926,92 * times: {93 * user: 252020,94 * nice: 0,95 * sys: 30340,96 * idle: 1070356870,97 * irq: 0,98 * },99 * },100 * {101 * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',102 * speed: 2926,103 * times: {104 * user: 306960,105 * nice: 0,106 * sys: 26980,107 * idle: 1071569080,108 * irq: 0,109 * },110 * },111 * {112 * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',113 * speed: 2926,114 * times: {115 * user: 248450,116 * nice: 0,117 * sys: 21750,118 * idle: 1070919370,119 * irq: 0,120 * },121 * },122 * {123 * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',124 * speed: 2926,125 * times: {126 * user: 256880,127 * nice: 0,128 * sys: 19430,129 * idle: 1070905480,130 * irq: 20,131 * },132 * },133 * ]134 * ```135 *136 * `nice` values are POSIX-only. On Windows, the `nice` values of all processors137 * are always 0.138 *139 * `os.cpus().length` should not be used to calculate the amount of parallelism140 * available to an application. Use {@link availableParallelism} for this purpose.141 * @since v0.3.3142 */143 function cpus(): CpuInfo[];144 /**145 * Returns an estimate of the default amount of parallelism a program should use.146 * Always returns a value greater than zero.147 *148 * This function is a small wrapper about libuv's [`uv_available_parallelism()`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_available_parallelism).149 * @since v19.4.0, v18.14.0150 */151 function availableParallelism(): number;152 /**153 * Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it154 * returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows.155 *156 * See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information157 * about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems.158 * @since v0.3.3159 */160 function type(): string;161 /**162 * Returns the operating system as a string.163 *164 * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See165 * [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.166 * @since v0.3.3167 */168 function release(): string;169 /**170 * Returns an object containing network interfaces that have been assigned a171 * network address.172 *173 * Each key on the returned object identifies a network interface. The associated174 * value is an array of objects that each describe an assigned network address.175 *176 * The properties available on the assigned network address object include:177 *178 * ```js179 * {180 * lo: [181 * {182 * address: '127.0.0.1',183 * netmask: '255.0.0.0',184 * family: 'IPv4',185 * mac: '00:00:00:00:00:00',186 * internal: true,187 * cidr: '127.0.0.1/8'188 * },189 * {190 * address: '::1',191 * netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',192 * family: 'IPv6',193 * mac: '00:00:00:00:00:00',194 * scopeid: 0,195 * internal: true,196 * cidr: '::1/128'197 * }198 * ],199 * eth0: [200 * {201 * address: '192.168.1.108',202 * netmask: '255.255.255.0',203 * family: 'IPv4',204 * mac: '01:02:03:0a:0b:0c',205 * internal: false,206 * cidr: '192.168.1.108/24'207 * },208 * {209 * address: 'fe80::a00:27ff:fe4e:66a1',210 * netmask: 'ffff:ffff:ffff:ffff::',211 * family: 'IPv6',212 * mac: '01:02:03:0a:0b:0c',213 * scopeid: 1,214 * internal: false,215 * cidr: 'fe80::a00:27ff:fe4e:66a1/64'216 * }217 * ]218 * }219 * ```220 * @since v0.6.0221 */222 function networkInterfaces(): NodeJS.Dict<NetworkInterfaceInfo[]>;223 /**224 * Returns the string path of the current user's home directory.225 *226 * On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it227 * uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory.228 *229 * On Windows, it uses the `USERPROFILE` environment variable if defined.230 * Otherwise it uses the path to the profile directory of the current user.231 * @since v2.3.0232 */233 function homedir(): string;234 /**235 * Returns information about the currently effective user. On POSIX platforms,236 * this is typically a subset of the password file. The returned object includes237 * the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`.238 *239 * The value of `homedir` returned by `os.userInfo()` is provided by the operating240 * system. This differs from the result of `os.homedir()`, which queries241 * environment variables for the home directory before falling back to the242 * operating system response.243 *244 * Throws a [`SystemError`](https://nodejs.org/docs/latest-v24.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`.245 * @since v6.0.0246 */247 function userInfo(options: { encoding: "buffer" }): UserInfo<Buffer>;248 function userInfo(options?: { encoding: BufferEncoding }): UserInfo<string>;249 type SignalConstants = {250 [key in NodeJS.Signals]: number;251 };252 namespace constants {253 const UV_UDP_REUSEADDR: number;254 namespace signals {}255 const signals: SignalConstants;256 namespace errno {257 const E2BIG: number;258 const EACCES: number;259 const EADDRINUSE: number;260 const EADDRNOTAVAIL: number;261 const EAFNOSUPPORT: number;262 const EAGAIN: number;263 const EALREADY: number;264 const EBADF: number;265 const EBADMSG: number;266 const EBUSY: number;267 const ECANCELED: number;268 const ECHILD: number;269 const ECONNABORTED: number;270 const ECONNREFUSED: number;271 const ECONNRESET: number;272 const EDEADLK: number;273 const EDESTADDRREQ: number;274 const EDOM: number;275 const EDQUOT: number;276 const EEXIST: number;277 const EFAULT: number;278 const EFBIG: number;279 const EHOSTUNREACH: number;280 const EIDRM: number;281 const EILSEQ: number;282 const EINPROGRESS: number;283 const EINTR: number;284 const EINVAL: number;285 const EIO: number;286 const EISCONN: number;287 const EISDIR: number;288 const ELOOP: number;289 const EMFILE: number;290 const EMLINK: number;291 const EMSGSIZE: number;292 const EMULTIHOP: number;293 const ENAMETOOLONG: number;294 const ENETDOWN: number;295 const ENETRESET: number;296 const ENETUNREACH: number;297 const ENFILE: number;298 const ENOBUFS: number;299 const ENODATA: number;300 const ENODEV: number;301 const ENOENT: number;302 const ENOEXEC: number;303 const ENOLCK: number;304 const ENOLINK: number;305 const ENOMEM: number;306 const ENOMSG: number;307 const ENOPROTOOPT: number;308 const ENOSPC: number;309 const ENOSR: number;310 const ENOSTR: number;311 const ENOSYS: number;312 const ENOTCONN: number;313 const ENOTDIR: number;314 const ENOTEMPTY: number;315 const ENOTSOCK: number;316 const ENOTSUP: number;317 const ENOTTY: number;318 const ENXIO: number;319 const EOPNOTSUPP: number;320 const EOVERFLOW: number;321 const EPERM: number;322 const EPIPE: number;323 const EPROTO: number;324 const EPROTONOSUPPORT: number;325 const EPROTOTYPE: number;326 const ERANGE: number;327 const EROFS: number;328 const ESPIPE: number;329 const ESRCH: number;330 const ESTALE: number;331 const ETIME: number;332 const ETIMEDOUT: number;333 const ETXTBSY: number;334 const EWOULDBLOCK: number;335 const EXDEV: number;336 const WSAEINTR: number;337 const WSAEBADF: number;338 const WSAEACCES: number;339 const WSAEFAULT: number;340 const WSAEINVAL: number;341 const WSAEMFILE: number;342 const WSAEWOULDBLOCK: number;343 const WSAEINPROGRESS: number;344 const WSAEALREADY: number;345 const WSAENOTSOCK: number;346 const WSAEDESTADDRREQ: number;347 const WSAEMSGSIZE: number;348 const WSAEPROTOTYPE: number;349 const WSAENOPROTOOPT: number;350 const WSAEPROTONOSUPPORT: number;351 const WSAESOCKTNOSUPPORT: number;352 const WSAEOPNOTSUPP: number;353 const WSAEPFNOSUPPORT: number;354 const WSAEAFNOSUPPORT: number;355 const WSAEADDRINUSE: number;356 const WSAEADDRNOTAVAIL: number;357 const WSAENETDOWN: number;358 const WSAENETUNREACH: number;359 const WSAENETRESET: number;360 const WSAECONNABORTED: number;361 const WSAECONNRESET: number;362 const WSAENOBUFS: number;363 const WSAEISCONN: number;364 const WSAENOTCONN: number;365 const WSAESHUTDOWN: number;366 const WSAETOOMANYREFS: number;367 const WSAETIMEDOUT: number;368 const WSAECONNREFUSED: number;369 const WSAELOOP: number;370 const WSAENAMETOOLONG: number;371 const WSAEHOSTDOWN: number;372 const WSAEHOSTUNREACH: number;373 const WSAENOTEMPTY: number;374 const WSAEPROCLIM: number;375 const WSAEUSERS: number;376 const WSAEDQUOT: number;377 const WSAESTALE: number;378 const WSAEREMOTE: number;379 const WSASYSNOTREADY: number;380 const WSAVERNOTSUPPORTED: number;381 const WSANOTINITIALISED: number;382 const WSAEDISCON: number;383 const WSAENOMORE: number;384 const WSAECANCELLED: number;385 const WSAEINVALIDPROCTABLE: number;386 const WSAEINVALIDPROVIDER: number;387 const WSAEPROVIDERFAILEDINIT: number;388 const WSASYSCALLFAILURE: number;389 const WSASERVICE_NOT_FOUND: number;390 const WSATYPE_NOT_FOUND: number;391 const WSA_E_NO_MORE: number;392 const WSA_E_CANCELLED: number;393 const WSAEREFUSED: number;394 }395 namespace dlopen {396 const RTLD_LAZY: number;397 const RTLD_NOW: number;398 const RTLD_GLOBAL: number;399 const RTLD_LOCAL: number;400 const RTLD_DEEPBIND: number;401 }402 namespace priority {403 const PRIORITY_LOW: number;404 const PRIORITY_BELOW_NORMAL: number;405 const PRIORITY_NORMAL: number;406 const PRIORITY_ABOVE_NORMAL: number;407 const PRIORITY_HIGH: number;408 const PRIORITY_HIGHEST: number;409 }410 }411 const devNull: string;412 /**413 * The operating system-specific end-of-line marker.414 * * `\n` on POSIX415 * * `\r\n` on Windows416 */417 const EOL: string;418 /**419 * Returns the operating system CPU architecture for which the Node.js binary was420 * compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'loong64'`,421 * `'mips'`, `'mipsel'`, `'ppc64'`, `'riscv64'`, `'s390x'`, and `'x64'`.422 *423 * The return value is equivalent to [process.arch](https://nodejs.org/docs/latest-v24.x/api/process.html#processarch).424 * @since v0.5.0425 */426 function arch(): NodeJS.Architecture;427 /**428 * Returns a string identifying the kernel version.429 *430 * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not431 * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.432 * @since v13.11.0, v12.17.0433 */434 function version(): string;435 /**436 * Returns a string identifying the operating system platform for which437 * the Node.js binary was compiled. The value is set at compile time.438 * Possible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`.439 *440 * The return value is equivalent to `process.platform`.441 *442 * The value `'android'` may also be returned if Node.js is built on the Android443 * operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os).444 * @since v0.5.0445 */446 function platform(): NodeJS.Platform;447 /**448 * Returns the machine type as a string, such as `arm`, `arm64`, `aarch64`,449 * `mips`, `mips64`, `ppc64`, `ppc64le`, `s390x`, `i386`, `i686`, `x86_64`.450 *451 * On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not452 * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.453 * @since v18.9.0, v16.18.0454 */455 function machine(): string;456 /**457 * Returns the operating system's default directory for temporary files as a458 * string.459 * @since v0.9.9460 */461 function tmpdir(): string;462 /**463 * Returns a string identifying the endianness of the CPU for which the Node.js464 * binary was compiled.465 *466 * Possible values are `'BE'` for big endian and `'LE'` for little endian.467 * @since v0.9.4468 */469 function endianness(): "BE" | "LE";470 /**471 * Returns the scheduling priority for the process specified by `pid`. If `pid` is472 * not provided or is `0`, the priority of the current process is returned.473 * @since v10.10.0474 * @param [pid=0] The process ID to retrieve scheduling priority for.475 */476 function getPriority(pid?: number): number;477 /**478 * Attempts to set the scheduling priority for the process specified by `pid`. If `pid` is not provided or is `0`, the process ID of the current process is used.479 *480 * The `priority` input must be an integer between `-20` (high priority) and `19` (low priority). Due to differences between Unix priority levels and Windows481 * priority classes, `priority` is mapped to one of six priority constants in `os.constants.priority`. When retrieving a process priority level, this range482 * mapping may cause the return value to be slightly different on Windows. To avoid483 * confusion, set `priority` to one of the priority constants.484 *485 * On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user486 * privileges. Otherwise the set priority will be silently reduced to `PRIORITY_HIGH`.487 * @since v10.10.0488 * @param [pid=0] The process ID to set scheduling priority for.489 * @param priority The scheduling priority to assign to the process.490 */491 function setPriority(priority: number): void;492 function setPriority(pid: number, priority: number): void;493}494declare module "node:os" {495 export * from "os";496}497 