Xinu7/src/sys/sys/rfio.c
/* rfio.c - rfio */
#include <conf.h>
#include <kernel.h>
#include <network.h>
/*------------------------------------------------------------------------
* rfio -- perform input or output using remote file server
*------------------------------------------------------------------------
*/
rfio(devptr, rop, buff, len)
struct devsw *devptr;
int rop;
char *buff;
int len;
{
struct rfblk *rfptr;
int retcode;
rfptr = (struct rfblk *)devptr->dvioblk;
wait(rfptr->rf_mutex);
if (len < 0 || rfptr->rf_state == RFREE) {
signal(rfptr->rf_mutex);
return(SYSERR);
}
retcode = rfmkpac(rop, rfptr->rf_name, &rfptr->rf_pos, buff, len);
signal(rfptr->rf_mutex);
return(retcode);
}