|
|
1.1 root 1: /* dsseek.c - dsseek */
2:
3: #include <conf.h>
4: #include <kernel.h>
5: #include <proc.h>
6: #include <disk.h>
7:
8: /*------------------------------------------------------------------------
9: * dsseek -- schedule a request to move the disk arm
10: *------------------------------------------------------------------------
11: */
12: dsseek(devptr, block)
13: struct devsw *devptr;
14: DBADDR block;
15: {
16: struct dreq *drptr;
17: char ps;
18:
19: disable(ps);
20: drptr = (struct dreq *) getbuf(dskrbp);
21: drptr->drdba = block;
22: drptr->drpid = currpid;
23: drptr->drbuff = NULL;
24: drptr->drop = DSEEK;
25:
26: /* enqueued with normal policy like other read/write requests */
27:
28: dskenq(drptr, devptr->dvioblk);
29: restore(ps);
30: return(OK);
31: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.