pub fn sys_writev(
        &self,
        fd: FileDesc,
        iov_ptr: UserInPtr<IoVecIn>,
        iov_count: usize,
    ) -> SysResult {
        info!(
            "writev: fd={:?}, iov={:?}, count={}",
            fd, iov_ptr, iov_count
        );
        let iovs = iov_ptr.read_iovecs(iov_count)?;
        let buf = iovs.read_to_vec()?;
        let proc = self.linux_process();
        let file_like = proc.get_file_like(fd)?;
        let len = file_like.write(&buf)?;
        Ok(len)
    }
/// works just like write except that multiple buffers are written out.
/// writes iov_count buffers of data described
/// by iov to the file associated with the file descriptor fd ("gather output").
works just like write except that multiple buffers are written out.
writes iov_count buffers of data described
by iov to the file associated with the file descriptor fd ("gather output").
works just like write except that multiple buffers are written out . writes iov_count buffers of data described by iov to the file associated with the file descriptor fd ( " gather output " ) .
pub fn sys_writev(
        &self,
        fd: FileDesc,
        iov_ptr: UserInPtr<IoVecIn>,
        iov_count: usize,
    ) -> SysResult {
        info!(
            "writev: fd={:?}, iov={:?}, count={}",
            fd, iov_ptr, iov_count
        );
        let iovs = iov_ptr.read_iovecs(iov_count)?;
        let buf = iovs.read_to_vec()?;
        let proc = self.linux_process();
        let file_like = proc.get_file_like(fd)?;
        let len = file_like.write(&buf)?;
        Ok(len)
    }
pub fn sys_writev ( & self , fd : FileDesc , iov_ptr : UserInPtr < IoVecIn > , iov_count : usize , ) -> SysResult { info ! ( " " fd iov_ptr iov_count ) ; let iovs = iov_ptr . read_iovecs ( iov_count ) ? ; let buf = iovs . read_to_vec ( ) ? ; let proc = self . linux_process ( ) ; let file_like = proc . get_file_like ( fd ) ? ; let len = file_like . write ( & buf ) ? ; Ok ( len ) }
works just like write except that multiple buffers are written out.
works just like write except that multiple buffers are written out .
&self
fd
FileDesc
iov_ptr
UserInPtr<IoVecIn>
iov_count
usize
&self
fd
FileDesc
iov_ptr
UserInPtr<IoVecIn>
iov_count
usize