etc.rs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. use serde::Deserialize;
  2. use toml::Value;
  3. use crate::cfg::boot::BootConfigDef;
  4. #[derive(Deserialize, Clone)]
  5. pub struct EtcConfigDef{
  6. pub sys: SysCfg,
  7. pub env: toml::map::Map<String, Value>,
  8. pub boot_default: BootConfigDef,
  9. pub secure: SecureCfg,
  10. }
  11. impl EtcConfigDef {
  12. pub fn default() -> EtcConfigDef {
  13. EtcConfigDef{
  14. sys: SysCfg {
  15. sys_loader: "/nagae/elip4ng/bin/chen".to_string(),
  16. service_mgr: "/nagae/elip4ng/bin/ran".to_string(),
  17. shell_spawner: "/nagae/elip4ng/bin/reimu".to_string(),
  18. },
  19. env: toml::map::Map::new(),
  20. boot_default: BootConfigDef::default(),
  21. secure: SecureCfg{
  22. bcrypt_password: "$2a$10$9Nk9um4osOsdDPw.NjgBx.0qbQ/5H/qLXplaNjBeKKj6N13.PE3YK".to_string(),
  23. },
  24. }
  25. }
  26. pub fn get_boot_default_clone(&self) -> BootConfigDef{
  27. self.boot_default.clone()
  28. }
  29. }
  30. #[derive(Deserialize, Clone)]
  31. pub struct SecureCfg {
  32. pub bcrypt_password: String,
  33. }
  34. #[derive(Deserialize, Clone)]
  35. pub struct SysCfg {
  36. pub sys_loader: String,
  37. pub service_mgr: String,
  38. pub shell_spawner: String,
  39. }
  40. #[derive(Deserialize, Clone)]
  41. pub struct TeletypeCfg {
  42. pub baudrate: u32,
  43. pub device: String,
  44. pub getty: String,
  45. pub shell: String,
  46. }