starnix_core/task/
uts_namespace.rs1use crate::vfs::FsString;
6use starnix_sync::RwLock;
7use std::sync::Arc;
8
9const DEFAULT_HOST_NAME: &str = "localhost";
10const DEFAULT_DOMAIN_NAME: &str = "localdomain";
11
12pub type UtsNamespaceHandle = Arc<RwLock<UtsNamespace>>;
13
14#[derive(Clone)]
19pub struct UtsNamespace {
20 pub hostname: FsString,
21 pub domainname: FsString,
22}
23
24impl UtsNamespace {
25 pub fn fork(&self) -> UtsNamespaceHandle {
26 Arc::new(RwLock::new(self.clone()))
27 }
28}
29
30impl Default for UtsNamespace {
31 fn default() -> Self {
32 Self { hostname: DEFAULT_HOST_NAME.into(), domainname: DEFAULT_DOMAIN_NAME.into() }
33 }
34}