'use strict'; const binding = process.binding('os'); const util = require('util'); const isWindows = process.platform === 'win32'; exports.hostname = binding.getHostname; exports.loadavg = binding.getLoadAvg; exports.uptime = binding.getUptime; exports.freemem = binding.getFreeMem; exports.totalmem = binding.getTotalMem; exports.cpus = binding.getCPUs; exports.type = binding.getOSType; exports.release = binding.getOSRelease; exports.networkInterfaces = binding.getInterfaceAddresses; exports.arch = function() { return process.arch; }; exports.platform = function() { return process.platform; }; exports.tmpdir = function() { var path; if (isWindows) { path = process.env.TEMP || process.env.TMP || (process.env.SystemRoot || process.env.windir) + '\\temp'; } else { path = process.env.TMPDIR || process.env.TMP || process.env.TEMP || '/tmp'; } if (/[\\\/]$/.test(path)) path = path.slice(0, -1); return path; }; exports.tmpDir = exports.tmpdir; exports.getNetworkInterfaces = util.deprecate(function() { return exports.networkInterfaces(); }, 'getNetworkInterfaces is now called `os.networkInterfaces`.'); exports.EOL = isWindows ? '\r\n' : '\n'; if (binding.isBigEndian) exports.endianness = function() { return 'BE'; }; else exports.endianness = function() { return 'LE'; };