#include "headers.h" #include SmbProcessResult smbcomflush(SmbSession *s, SmbHeader *h, uchar *pdata, SmbBuffer *) { SmbTree *t; SmbFile *f; ushort fid; Dir nulldir; if (h->wordcount != 1) return SmbProcessResultFormat; fid = smbnhgets(pdata); t = smbidmapfind(s->tidmap, h->tid); if (t == nil) { smbseterror(s, ERRSRV, ERRinvtid); return SmbProcessResultError; } f = smbidmapfind(s->fidmap, fid); if (f == nil) { smbseterror(s, ERRDOS, ERRbadfid); return SmbProcessResultError; } memset(&nulldir, 0xff, sizeof(nulldir)); nulldir.name = nulldir.uid = nulldir.gid = nulldir.muid = nil; dirfwstat(f->fd, &nulldir); return smbbufferputack(s->response, h, &s->peerinfo); }