|
|
Xinu for VAX
/* dsseek.c - dsseek */
#include <conf.h>
#include <kernel.h>
#include <proc.h>
#include <disk.h>
/*------------------------------------------------------------------------
* dsseek -- schedule a request to move the disk arm
*------------------------------------------------------------------------
*/
dsseek(devptr, block)
struct devsw *devptr;
DBADDR block;
{
struct dreq *drptr;
char ps;
disable(ps);
drptr = (struct dreq *) getbuf(dskrbp);
drptr->drdba = block;
drptr->drpid = currpid;
drptr->drbuff = NULL;
drptr->drop = DSEEK;
/* enqueued with normal policy like other read/write requests */
dskenq(drptr, devptr->dvioblk);
restore(ps);
return(OK);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.