@@ -21,7 +21,7 @@ mod group_desc;
2121use core:: mem:: MaybeUninit ;
2222
2323use aero_syscall:: socket:: { MessageFlags , MessageHeader } ;
24- use aero_syscall:: { MMapFlags , SyscallError } ;
24+ use aero_syscall:: { MMapFlags , OpenFlags , SyscallError } ;
2525use alloc:: boxed:: Box ;
2626use alloc:: string:: ToString ;
2727use alloc:: sync:: { Arc , Weak } ;
@@ -364,7 +364,7 @@ impl CachedAccess for INode {
364364 }
365365
366366 fn read_direct ( & self , offset : usize , dest : PhysFrame ) -> Option < usize > {
367- INodeInterface :: read_at ( self , offset, dest. as_slice_mut ( ) ) . ok ( )
367+ INodeInterface :: read_at ( self , OpenFlags :: empty ( ) , offset, dest. as_slice_mut ( ) ) . ok ( )
368368 }
369369
370370 fn write_direct ( & self , offset : usize , src : PhysFrame ) -> Option < usize > {
@@ -440,9 +440,14 @@ impl INodeInterface for INode {
440440 Ok ( self . make_dirent ( parent, entry. name ( ) , entry) . unwrap ( ) )
441441 }
442442
443- fn read_at ( & self , offset : usize , usr_buffer : & mut [ u8 ] ) -> super :: Result < usize > {
443+ fn read_at (
444+ & self ,
445+ flags : OpenFlags ,
446+ offset : usize ,
447+ usr_buffer : & mut [ u8 ] ,
448+ ) -> super :: Result < usize > {
444449 if let Some ( proxy) = self . proxy . as_ref ( ) {
445- return proxy. read_at ( offset, usr_buffer) ;
450+ return proxy. read_at ( flags , offset, usr_buffer) ;
446451 }
447452
448453 if !self . metadata ( ) ?. is_file ( ) {
@@ -596,7 +601,7 @@ impl INodeInterface for INode {
596601 private_cp. as_slice_mut ( ) . fill ( 0 ) ;
597602
598603 let buffer = & mut private_cp. as_slice_mut ( ) [ ..size] ;
599- self . read_at ( offset, buffer) ?;
604+ self . read_at ( OpenFlags :: empty ( ) , offset, buffer) ?;
600605
601606 Ok ( private_cp)
602607 }
@@ -644,9 +649,14 @@ impl INodeInterface for INode {
644649 }
645650 }
646651
647- fn recv ( & self , message_hdr : & mut MessageHeader , flags : MessageFlags ) -> super :: Result < usize > {
652+ fn recv (
653+ & self ,
654+ fd_flags : OpenFlags ,
655+ message_hdr : & mut MessageHeader ,
656+ flags : MessageFlags ,
657+ ) -> super :: Result < usize > {
648658 if let Some ( proxy) = self . proxy . as_ref ( ) {
649- proxy. recv ( message_hdr, flags)
659+ proxy. recv ( fd_flags , message_hdr, flags)
650660 } else {
651661 Err ( FileSystemError :: NotSupported )
652662 }
0 commit comments