1use crate::interface::{OsConstants, UserInfoOptions};
2use js_sys::{JsString, Object};
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen(module = "os")]
6extern {
7 pub fn arch() -> JsString;
12
13 pub fn cpus() -> Box<[JsValue]>;
14
15 pub fn endianness() -> JsString;
16
17 pub fn freemem() -> f64;
18
19 #[wasm_bindgen(js_name = "getPriority")]
20 pub fn get_priority(pid: Option<u32>) -> u32;
21
22 pub fn homedir() -> JsString;
23
24 pub fn hostname() -> JsString;
25
26 pub fn loadavg() -> Box<[JsValue]>;
27
28 #[wasm_bindgen(js_name = "networkInterfaces")]
29 pub fn network_interfaces() -> Object;
30
31 pub fn platform() -> JsString;
32
33 pub fn release() -> JsString;
34
35 #[wasm_bindgen(js_name = "setPriority")]
36 pub fn set_priority(priority: i32);
37
38 #[wasm_bindgen(js_name = "setPriority")]
39 pub fn set_priority_for_pid(pid: u32, priority: i32);
40
41 pub fn tmpdir() -> JsString;
42
43 pub fn totalmem() -> f64;
44
45 #[wasm_bindgen(js_name = "type")]
46 pub fn type_() -> JsString;
47
48 pub fn uptime() -> f64;
49
50 #[wasm_bindgen(js_name = "userInfo")]
51 pub fn user_info(options: Option<UserInfoOptions>) -> Object;
52
53 pub static constants: OsConstants;
58
59 pub static EOL: JsString;
60}