#include <9pm/u.h> #include <9pm/libc.h> #include <9pm/fcall.h> #include <9pm/ns.h> int fwstat(int fd, uchar *edir, int nedir) { Dir d; volatile Chan *c; volatile long m; if(convM2D(edir, nedir, &d, (char*)edir) < 0) return -1; checkerrstack(); m = -1; c = nil; if(!waserror()){ c = fd2chan(fd, -1); (*c->mnt->dev->_fwstat)(c, &d); m = 0; poperror(); } if(c) cclose(c); checkerrstack(); return m; }