You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

os.d.ts 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. declare module "os" {
  2. interface CpuInfo {
  3. model: string;
  4. speed: number;
  5. times: {
  6. user: number;
  7. nice: number;
  8. sys: number;
  9. idle: number;
  10. irq: number;
  11. };
  12. }
  13. interface NetworkInterfaceBase {
  14. address: string;
  15. netmask: string;
  16. mac: string;
  17. internal: boolean;
  18. cidr: string | null;
  19. }
  20. interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {
  21. family: "IPv4";
  22. }
  23. interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {
  24. family: "IPv6";
  25. scopeid: number;
  26. }
  27. interface UserInfo<T> {
  28. username: T;
  29. uid: number;
  30. gid: number;
  31. shell: T;
  32. homedir: T;
  33. }
  34. type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6;
  35. function hostname(): string;
  36. function loadavg(): number[];
  37. function uptime(): number;
  38. function freemem(): number;
  39. function totalmem(): number;
  40. function cpus(): CpuInfo[];
  41. function type(): string;
  42. function release(): string;
  43. function networkInterfaces(): { [index: string]: NetworkInterfaceInfo[] };
  44. function homedir(): string;
  45. function userInfo(options: { encoding: 'buffer' }): UserInfo<Buffer>;
  46. function userInfo(options?: { encoding: string }): UserInfo<string>;
  47. const constants: {
  48. UV_UDP_REUSEADDR: number;
  49. signals: {
  50. SIGHUP: number;
  51. SIGINT: number;
  52. SIGQUIT: number;
  53. SIGILL: number;
  54. SIGTRAP: number;
  55. SIGABRT: number;
  56. SIGIOT: number;
  57. SIGBUS: number;
  58. SIGFPE: number;
  59. SIGKILL: number;
  60. SIGUSR1: number;
  61. SIGSEGV: number;
  62. SIGUSR2: number;
  63. SIGPIPE: number;
  64. SIGALRM: number;
  65. SIGTERM: number;
  66. SIGCHLD: number;
  67. SIGSTKFLT: number;
  68. SIGCONT: number;
  69. SIGSTOP: number;
  70. SIGTSTP: number;
  71. SIGTTIN: number;
  72. SIGTTOU: number;
  73. SIGURG: number;
  74. SIGXCPU: number;
  75. SIGXFSZ: number;
  76. SIGVTALRM: number;
  77. SIGPROF: number;
  78. SIGWINCH: number;
  79. SIGIO: number;
  80. SIGPOLL: number;
  81. SIGPWR: number;
  82. SIGSYS: number;
  83. SIGUNUSED: number;
  84. };
  85. errno: {
  86. E2BIG: number;
  87. EACCES: number;
  88. EADDRINUSE: number;
  89. EADDRNOTAVAIL: number;
  90. EAFNOSUPPORT: number;
  91. EAGAIN: number;
  92. EALREADY: number;
  93. EBADF: number;
  94. EBADMSG: number;
  95. EBUSY: number;
  96. ECANCELED: number;
  97. ECHILD: number;
  98. ECONNABORTED: number;
  99. ECONNREFUSED: number;
  100. ECONNRESET: number;
  101. EDEADLK: number;
  102. EDESTADDRREQ: number;
  103. EDOM: number;
  104. EDQUOT: number;
  105. EEXIST: number;
  106. EFAULT: number;
  107. EFBIG: number;
  108. EHOSTUNREACH: number;
  109. EIDRM: number;
  110. EILSEQ: number;
  111. EINPROGRESS: number;
  112. EINTR: number;
  113. EINVAL: number;
  114. EIO: number;
  115. EISCONN: number;
  116. EISDIR: number;
  117. ELOOP: number;
  118. EMFILE: number;
  119. EMLINK: number;
  120. EMSGSIZE: number;
  121. EMULTIHOP: number;
  122. ENAMETOOLONG: number;
  123. ENETDOWN: number;
  124. ENETRESET: number;
  125. ENETUNREACH: number;
  126. ENFILE: number;
  127. ENOBUFS: number;
  128. ENODATA: number;
  129. ENODEV: number;
  130. ENOENT: number;
  131. ENOEXEC: number;
  132. ENOLCK: number;
  133. ENOLINK: number;
  134. ENOMEM: number;
  135. ENOMSG: number;
  136. ENOPROTOOPT: number;
  137. ENOSPC: number;
  138. ENOSR: number;
  139. ENOSTR: number;
  140. ENOSYS: number;
  141. ENOTCONN: number;
  142. ENOTDIR: number;
  143. ENOTEMPTY: number;
  144. ENOTSOCK: number;
  145. ENOTSUP: number;
  146. ENOTTY: number;
  147. ENXIO: number;
  148. EOPNOTSUPP: number;
  149. EOVERFLOW: number;
  150. EPERM: number;
  151. EPIPE: number;
  152. EPROTO: number;
  153. EPROTONOSUPPORT: number;
  154. EPROTOTYPE: number;
  155. ERANGE: number;
  156. EROFS: number;
  157. ESPIPE: number;
  158. ESRCH: number;
  159. ESTALE: number;
  160. ETIME: number;
  161. ETIMEDOUT: number;
  162. ETXTBSY: number;
  163. EWOULDBLOCK: number;
  164. EXDEV: number;
  165. };
  166. priority: {
  167. PRIORITY_LOW: number;
  168. PRIORITY_BELOW_NORMAL: number;
  169. PRIORITY_NORMAL: number;
  170. PRIORITY_ABOVE_NORMAL: number;
  171. PRIORITY_HIGH: number;
  172. PRIORITY_HIGHEST: number;
  173. }
  174. };
  175. function arch(): string;
  176. function platform(): NodeJS.Platform;
  177. function tmpdir(): string;
  178. const EOL: string;
  179. function endianness(): "BE" | "LE";
  180. /**
  181. * Gets the priority of a process.
  182. * Defaults to current process.
  183. */
  184. function getPriority(pid?: number): number;
  185. /**
  186. * Sets the priority of the current process.
  187. * @param priority Must be in range of -20 to 19
  188. */
  189. function setPriority(priority: number): void;
  190. /**
  191. * Sets the priority of the process specified process.
  192. * @param priority Must be in range of -20 to 19
  193. */
  194. function setPriority(pid: number, priority: number): void;
  195. }