#include <9pm/u.h>
#include <9pm/libc.h>
#include <9pm/fcall.h>
#include <9pm/ns.h>
int
wstat(char *file, uchar *edir, int nedir)
{
char *path;
volatile long m;
Mnt *mnt;
Dir dir;
if(convM2D(edir, nedir, &dir, (char*)edir) < 0)
return -1;
if((path = nsassign(file, &mnt, nil)) == nil)
return -1;
checkerrstack();
m = -1;
if(!waserror()){
(*mnt->dev->_wstat)(mnt, path, &dir);
m = 0;
poperror();
}
mntclose(mnt);
free(path);
checkerrstack();
return m;
}