Skip to content
Snippets Groups Projects
Commit 687f991a authored by Jeremy Soller's avatar Jeremy Soller Committed by GitHub
Browse files

Merge pull request #31 from ids1024/fstat

Implement fstat() for pipe scheme
parents a03457a9 f81a2765
No related branches found
No related tags found
No related merge requests found
...@@ -6,8 +6,9 @@ use scheme::{AtomicSchemeId, ATOMIC_SCHEMEID_INIT, SchemeId}; ...@@ -6,8 +6,9 @@ use scheme::{AtomicSchemeId, ATOMIC_SCHEMEID_INIT, SchemeId};
use sync::WaitCondition; use sync::WaitCondition;
use syscall::error::{Error, Result, EAGAIN, EBADF, EINVAL, EPIPE}; use syscall::error::{Error, Result, EAGAIN, EBADF, EINVAL, EPIPE};
use syscall::flag::{F_GETFL, F_SETFL, O_ACCMODE, O_NONBLOCK}; use syscall::flag::{F_GETFL, F_SETFL, O_ACCMODE, O_NONBLOCK, MODE_CHR};
use syscall::scheme::Scheme; use syscall::scheme::Scheme;
use syscall::data::Stat;
/// Pipes list /// Pipes list
pub static PIPE_SCHEME_ID: AtomicSchemeId = ATOMIC_SCHEMEID_INIT; pub static PIPE_SCHEME_ID: AtomicSchemeId = ATOMIC_SCHEMEID_INIT;
...@@ -122,6 +123,15 @@ impl Scheme for PipeScheme { ...@@ -122,6 +123,15 @@ impl Scheme for PipeScheme {
Ok(i) Ok(i)
} }
fn fstat(&self, _id: usize, stat: &mut Stat) -> Result<usize> {
*stat = Stat {
st_mode: MODE_CHR | 0o666,
..Default::default()
};
Ok(0)
}
fn fsync(&self, _id: usize) -> Result<usize> { fn fsync(&self, _id: usize) -> Result<usize> {
Ok(0) Ok(0)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment