aboutsummaryrefslogtreecommitdiff
path: root/src/libfs/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libfs/read.c')
-rw-r--r--src/libfs/read.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/libfs/read.c b/src/libfs/read.c
deleted file mode 100644
index f868e123..00000000
--- a/src/libfs/read.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 2003 Russ Cox, Massachusetts Institute of Technology */
-/* See COPYRIGHT */
-
-#include <u.h>
-#include <libc.h>
-#include <fcall.h>
-#include <fs.h>
-#include "fsimpl.h"
-
-long
-fspread(Fid *fid, void *buf, long n, vlong offset)
-{
- Fcall tx, rx;
- void *freep;
- uint msize;
-
- msize = fid->fs->msize - IOHDRSZ;
- if(n > msize)
- n = msize;
- tx.type = Tread;
- tx.fid = fid->fid;
- if(offset == -1){
- qlock(&fid->lk);
- tx.offset = fid->offset;
- qunlock(&fid->lk);
- }else
- tx.offset = offset;
- tx.count = n;
-
- if(fsrpc(fid->fs, &tx, &rx, &freep) < 0)
- return -1;
- if(rx.type == Rerror){
- werrstr("%s", rx.ename);
- free(freep);
- return -1;
- }
- if(rx.count){
- memmove(buf, rx.data, rx.count);
- if(offset == -1){
- qlock(&fid->lk);
- fid->offset += rx.count;
- qunlock(&fid->lk);
- }
- }
- free(freep);
-
- return rx.count;
-}
-
-long
-fsread(Fid *fid, void *buf, long n)
-{
- return fspread(fid, buf, n, -1);
-}
-
-long
-fsreadn(Fid *fid, void *buf, long n)
-{
- long tot, nn;
-
- for(tot=0; tot<n; tot+=nn){
- nn = fsread(fid, (char*)buf+tot, n-tot);
- if(nn <= 0){
- if(tot == 0)
- return nn;
- break;
- }
- }
- return tot;
-}
-
-