ref: 1b81533742fa32d4ba26f7fcacb942becfd89c50
dir: /fs.c/
#include <u.h>
#include <libc.h>
#include <auth.h>
#include <fcall.h>
#include <thread.h>
#include <9p.h>
#include <draw.h>
#include <mouse.h>
#include "dat.h"
#include "fns.h"
static void fsopen(Req * req);
static void fsread(Req * req);
static void fswrite(Req * req);
static void fswstat(Req * req);
static void fscreate(Req * req);
static void fsdestroyfid(Fid * req);
static void fsstart(Srv * srv);
static void fsdetroyfile(File * f);
static char srvpath[128] = {0};
static Srv fs = {
.open = fsopen,
.read = fsread,
.write = fswrite,
.wstat = fswstat,
.create = fscreate,
.destroyfid = fsdestroyfid,
.start = fsstart,
};
static void fsopen(Req * req) {
respond(req, nil);
}
static void fsread(Req * req) {
respond(req,nil);
}
static void fswrite(Req * req) {
respond(req,nil);
}
static void fswstat(Req * req) {
respond(req,nil);
}
static void fscreate(Req * req) {
respond(req,nil);
}
static void fsdestroyfid(Fid * req) {
USED(req);
}
static void fsstart(Srv * srv) {
USED(srv);
}
static void fsdestroyfile(File * f) {
USED(f);
}
void
fsclose(void)
{
if (srvpath[0] == 0)
remove(srvpath);
srvpath[0] = 0;
}
int
fsinit(char * srvname)
{
int rc;
fs.tree = alloctree(nil, nil, DMDIR|0755, fsdestroyfile);
if (fs.tree == nil) {
return -1;
}
snprint(srvpath, sizeof(srvpath), "/srv/%s", srvname);
remove(srvpath);
rc = postsrv(&fs, srvname);
if (rc == 0) {
exits(nil);
} else
return rc;
}