123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #include "all.h"
- #include "mem.h"
- #include "io.h"
- #include "ureg.h"
- #include "dosfs.h"
- static Dosfile file;
- static int opened;
- char nvrfile[128] = "plan9.nvr";
- static void
- nvopen(void)
- {
- int s;
- Dosfile *fp;
- if(opened)
- return;
- opened = 1;
- s = spllo();
- fp = dosopen(&dos, nvrfile, &file);
- splx(s);
- if(fp == 0)
- panic("can't open %s\n", nvrfile);
- }
- int
- nvread(int offset, void *a, int n)
- {
- int r, s;
- nvopen();
- s = spllo();
- file.offset = offset;
- r = dosread(&file, a, n);
- splx(s);
- return r;
- }
- int
- nvwrite(int offset, void *a, int n)
- {
- int r, s;
- nvopen();
- s = spllo();
- file.offset = offset;
- r = doswrite(&file, a, n);
- splx(s);
- return r;
- }
|