#[derive(Default, Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(default, deny_unknown_fields)]
pub struct GlobalSystemVMemorySegmentConfiguration
{
pub maximum_memory_segment_size: Option<NonZeroU64>,
pub maximum_number_of_memory_segment_identifiers: Option<NonZeroU32>,
pub maximum_number_of_shared_memory_pages: Option<NonZeroNumberOfPages>,
}
impl GlobalSystemVMemorySegmentConfiguration
{
pub fn configure(&self, proc_path: &ProcPath) -> Result<(), GlobalSystemVMemorySegmentConfigurationError>
{
use self::GlobalSystemVMemorySegmentConfigurationError::*;
set_value(proc_path, set_maximum_memory_segment_size, self.maximum_memory_segment_size, CouldNotChangeMaximumMemorySegmentSize)?;
set_value(proc_path, set_maximum_number_of_memory_segment_identifiers, self.maximum_number_of_memory_segment_identifiers, CouldNotChangeMaximumNumberOfMemorySegmentIdentifiers)?;
set_value(proc_path, set_maximum_number_of_shared_memory_pages, self.maximum_number_of_shared_memory_pages, CouldNotChangeMaximumNumberOfSharedMemoryPages)
}
}