pub trait FsFileLock {
    // Required methods
    fn fs_file_lock(&mut self, mode: FsFileLockMode) -> Result<()>;
    fn fs_file_try_lock(&mut self, mode: FsFileLockMode) -> Result<()>;
    fn fs_file_unlock(&mut self) -> Result<()>;
}pub trait FsFileLock {
    // Required methods
    fn fs_file_lock(&mut self, mode: FsFileLockMode) -> Result<()>;
    fn fs_file_try_lock(&mut self, mode: FsFileLockMode) -> Result<()>;
    fn fs_file_unlock(&mut self) -> Result<()>;
}