18ccd4a63SDavid du Colombier ushort smbnhgets(uchar *); 28ccd4a63SDavid du Colombier ulong smbnhgetl(uchar *); 38ccd4a63SDavid du Colombier vlong smbnhgetv(uchar *); 48ccd4a63SDavid du Colombier void smbhnputs(uchar *, ushort); 58ccd4a63SDavid du Colombier void smbhnputl(uchar *, ulong); 68ccd4a63SDavid du Colombier void smbhnputv(uchar *, vlong); 78ccd4a63SDavid du Colombier 88ccd4a63SDavid du Colombier SMBPROCESSFN smbnegotiate; 98ccd4a63SDavid du Colombier SMBPROCESSFN smbcomsessionsetupandx; 108ccd4a63SDavid du Colombier SMBPROCESSFN smbcomtreeconnectandx; 118ccd4a63SDavid du Colombier SMBPROCESSFN smbcomtransaction; 128ccd4a63SDavid du Colombier SMBPROCESSFN smbcomcheckdirectory; 138ccd4a63SDavid du Colombier SMBPROCESSFN smbcomtransaction2; 148ccd4a63SDavid du Colombier SMBPROCESSFN smbcomecho; 158ccd4a63SDavid du Colombier SMBPROCESSFN smbcomopenandx; 16*86a363ceSDavid du Colombier SMBPROCESSFN smbcomcreate; 178ccd4a63SDavid du Colombier SMBPROCESSFN smbcomopen; 188ccd4a63SDavid du Colombier SMBPROCESSFN smbcomclose; 198ccd4a63SDavid du Colombier SMBPROCESSFN smbcomreadandx; 20*86a363ceSDavid du Colombier SMBPROCESSFN smbcomwriteandx; 218ccd4a63SDavid du Colombier SMBPROCESSFN smbcomqueryinformation; 228ccd4a63SDavid du Colombier SMBPROCESSFN smbcomfindclose2; 238ccd4a63SDavid du Colombier SMBPROCESSFN smbcomtreedisconnect; 248ccd4a63SDavid du Colombier SMBPROCESSFN smbcomqueryinformation2; 258ccd4a63SDavid du Colombier SMBPROCESSFN smbcomdelete; 268ccd4a63SDavid du Colombier SMBPROCESSFN smbcomflush; 278ccd4a63SDavid du Colombier SMBPROCESSFN smbcomwrite; 288ccd4a63SDavid du Colombier SMBPROCESSFN smbcomsetinformation2; 298ccd4a63SDavid du Colombier SMBPROCESSFN smbcomcreatedirectory; 308ccd4a63SDavid du Colombier SMBPROCESSFN smbcomdeletedirectory; 318ccd4a63SDavid du Colombier SMBPROCESSFN smbcomrename; 328ccd4a63SDavid du Colombier SMBPROCESSFN smbcomlockingandx; 338ccd4a63SDavid du Colombier SMBPROCESSFN smbcomsetinformation; 348ccd4a63SDavid du Colombier SMBPROCESSFN smbcomntcreateandx; 358ccd4a63SDavid du Colombier 368ccd4a63SDavid du Colombier void *smbemalloc(ulong size); 378ccd4a63SDavid du Colombier void *smbemallocz(ulong size, int clear); 388ccd4a63SDavid du Colombier void smberealloc(void **pp, ulong size); 398ccd4a63SDavid du Colombier char *smbestrdup(char *s); 408ccd4a63SDavid du Colombier void smbfree(void **pp); 418ccd4a63SDavid du Colombier 428ccd4a63SDavid du Colombier int smbcheckwordcount(char *name, SmbHeader *h, ushort wordcount); 438ccd4a63SDavid du Colombier int smbcheckwordandbytecount(char *name, SmbHeader *h, ushort wordcount, uchar **bdatap, uchar **edatap); 448ccd4a63SDavid du Colombier int smbsendunicode(SmbPeerInfo *i); 458ccd4a63SDavid du Colombier 468ccd4a63SDavid du Colombier char *smbstringdup(SmbHeader *h, uchar *base, uchar **bdatap, uchar *edata); 478ccd4a63SDavid du Colombier char *smbstrdup(uchar **bdatap, uchar *edata); 488ccd4a63SDavid du Colombier char *smbstrinline(uchar **bdatap, uchar *edata); 498ccd4a63SDavid du Colombier int smbstrlen(char *string); 508ccd4a63SDavid du Colombier int smbstringlen(SmbPeerInfo *i, char *string); 518ccd4a63SDavid du Colombier void smbstringprint(char **p, char *fmt, ...); 528ccd4a63SDavid du Colombier 538ccd4a63SDavid du Colombier int smbucs2len(char *string); 548ccd4a63SDavid du Colombier int smbstringput(SmbPeerInfo *p, ulong flags, uchar *buf, ushort n, ushort maxlen, char *string); 558ccd4a63SDavid du Colombier int smbstrput(ulong flags, uchar *buf, ushort n, ushort maxlen, char *string); 568ccd4a63SDavid du Colombier int smbstrnput(uchar *buf, ushort n, ushort maxlen, char *string, ushort size, int upcase); 578ccd4a63SDavid du Colombier int smbucs2put(ulong flags, uchar *buf, ushort n, ushort maxlen, char *string); 588ccd4a63SDavid du Colombier 598ccd4a63SDavid du Colombier void smbresponseinit(SmbSession *s, ushort maxlen); 608ccd4a63SDavid du Colombier int smbresponsealignl2(SmbSession *s, int l2a); 618ccd4a63SDavid du Colombier ushort smbresponseoffset(SmbSession *s); 628ccd4a63SDavid du Colombier int smbresponseputheader(SmbSession *s, SmbHeader *h, uchar errclass, ushort error); 638ccd4a63SDavid du Colombier int smbresponseputandxheader(SmbSession *s, SmbHeader *h, ushort andxcommand, ulong *andxoffsetfixup); 648ccd4a63SDavid du Colombier int smbresponseputb(SmbSession *s, uchar b); 658ccd4a63SDavid du Colombier int smbresponseputs(SmbSession *s, ushort s); 668ccd4a63SDavid du Colombier int smbresponseputl(SmbSession *s, ulong l); 678ccd4a63SDavid du Colombier int smbresponseoffsetputs(SmbSession *s, ushort offset, ushort s); 688ccd4a63SDavid du Colombier int smbresponseputstring(SmbSession *s, int mustalign, char *string); 698ccd4a63SDavid du Colombier int smbresponseputstr(SmbSession *s, char *string); 708ccd4a63SDavid du Colombier SmbProcessResult smbresponsesend(SmbSession *s); 718ccd4a63SDavid du Colombier int smbresponseputerror(SmbSession *s, SmbHeader *h, uchar errclass, ushort error); 728ccd4a63SDavid du Colombier int smbresponseskip(SmbSession *s, ushort amount); 738ccd4a63SDavid du Colombier ushort smbresponsespace(SmbSession *s); 748ccd4a63SDavid du Colombier void smbresponsereset(SmbSession *s); 758ccd4a63SDavid du Colombier int smbresponsecpy(SmbSession *s, uchar *data, ushort datalen); 768ccd4a63SDavid du Colombier 778ccd4a63SDavid du Colombier void smbtreedisconnect(SmbSession *s, SmbTree *t); 788ccd4a63SDavid du Colombier void smbtreedisconnectbyid(SmbSession *s, ushort id); 798ccd4a63SDavid du Colombier SmbTree *smbtreeconnect(SmbSession *s, SmbService *serv); 808ccd4a63SDavid du Colombier int smbchaincommand(SmbSession *s, SmbHeader *h, ulong andxfixupoffset, uchar cmd, ushort offset, SmbBuffer *b); 818ccd4a63SDavid du Colombier 828ccd4a63SDavid du Colombier SmbService *smbservicefind(SmbSession *s, char *path, char *service, uchar *errclassp, ushort *errorp); 838ccd4a63SDavid du Colombier void smbserviceput(SmbService *serv); 848ccd4a63SDavid du Colombier void smbserviceget(SmbService *serv); 858ccd4a63SDavid du Colombier 868ccd4a63SDavid du Colombier int smbrap2(SmbSession *s); 878ccd4a63SDavid du Colombier 888ccd4a63SDavid du Colombier void smbglobalsguess(int client); 898ccd4a63SDavid du Colombier 908ccd4a63SDavid du Colombier SmbBuffer *smbbuffernew(ulong maxlen); 918ccd4a63SDavid du Colombier void smbbufferfree(SmbBuffer **bp); 928ccd4a63SDavid du Colombier SmbBuffer *smbbufferinit(void *base, void *bdata, ulong blen); 938ccd4a63SDavid du Colombier ulong smbbufferwriteoffset(SmbBuffer *s); 948ccd4a63SDavid du Colombier ulong smbbufferwritemaxoffset(SmbBuffer *s); 958ccd4a63SDavid du Colombier ulong smbbufferreadoffset(SmbBuffer *s); 968ccd4a63SDavid du Colombier void *smbbufferwritepointer(SmbBuffer *s); 978ccd4a63SDavid du Colombier void *smbbufferreadpointer(SmbBuffer *s); 988ccd4a63SDavid du Colombier int smbbufferputheader(SmbBuffer *s, SmbHeader *h, SmbPeerInfo *p); 998ccd4a63SDavid du Colombier int smbbufferputandxheader(SmbBuffer *s, SmbHeader *h, SmbPeerInfo *p, uchar andxcommand, ulong *andxoffsetfixup); 1008ccd4a63SDavid du Colombier int smbbufferputb(SmbBuffer *s, uchar b); 1018ccd4a63SDavid du Colombier int smbbufferputs(SmbBuffer *s, ushort s); 1028ccd4a63SDavid du Colombier int smbbufferputl(SmbBuffer *s, ulong l); 1038ccd4a63SDavid du Colombier int smbbufferoffsetputs(SmbBuffer *s, ulong offset, ushort s); 1048ccd4a63SDavid du Colombier int smbbufferputstring(SmbBuffer *b, SmbPeerInfo *p, ulong flags, char *string); 1058ccd4a63SDavid du Colombier int smbbufferpututstring(SmbBuffer *b, SmbPeerInfo *p, int mustalign, char *string); 1068ccd4a63SDavid du Colombier int smbbufferputucs2(SmbBuffer *b, int mustalign, char *string); 1078ccd4a63SDavid du Colombier int smbbufferputstr(SmbBuffer *s, char *string); 1088ccd4a63SDavid du Colombier int smbbufferputstrn(SmbBuffer *s, char *string, int len, int upcase); 1098ccd4a63SDavid du Colombier int smbbufferputerror(SmbBuffer *s, SmbHeader *h, SmbPeerInfo *p, uchar errclass, ushort error); 1108ccd4a63SDavid du Colombier int smbbufferskip(SmbBuffer *s, ulong amount); 1118ccd4a63SDavid du Colombier ulong smbbufferspace(SmbBuffer *s); 1128ccd4a63SDavid du Colombier void smbbufferreset(SmbBuffer *s); 1138ccd4a63SDavid du Colombier int smbbufferputbytes(SmbBuffer *s, void *data, ulong datalen); 1148ccd4a63SDavid du Colombier int smbbuffergetbytes(SmbBuffer *b, void *buf, ulong len); 1158ccd4a63SDavid du Colombier void smbbuffersetreadlen(SmbBuffer *b, ulong len); 1168ccd4a63SDavid du Colombier int smbbuffertrimreadlen(SmbBuffer *b, ulong len); 1178ccd4a63SDavid du Colombier ulong smbbufferwritespace(SmbBuffer *b); 1188ccd4a63SDavid du Colombier int smbbuffergets(SmbBuffer *b, ushort *sp); 1198ccd4a63SDavid du Colombier int smbbuffergetstr(SmbBuffer *b, ulong flags, char **sp); 1208ccd4a63SDavid du Colombier int smbbuffergetstrinline(SmbBuffer *b, char **sp); 1218ccd4a63SDavid du Colombier int smbbuffergetstrn(SmbBuffer *b, ushort size, char **sp); 1228ccd4a63SDavid du Colombier int smbbuffergetstring(SmbBuffer *b, SmbHeader *h, ulong flags, char **sp); 1238ccd4a63SDavid du Colombier int smbbuffergetucs2(SmbBuffer *b, ulong flags, char **sp); 1248ccd4a63SDavid du Colombier void *smbbufferpointer(SmbBuffer *b, ulong offset); 1258ccd4a63SDavid du Colombier int smbbuffergetb(SmbBuffer *b, uchar *bp); 1268ccd4a63SDavid du Colombier int smbbuffergetl(SmbBuffer *b, ulong *lp); 1278ccd4a63SDavid du Colombier int smbbuffergetv(SmbBuffer *b, vlong *vp); 1288ccd4a63SDavid du Colombier ulong smbbufferreadspace(SmbBuffer *b); 1298ccd4a63SDavid du Colombier void smbbufferwritelimit(SmbBuffer *b, ulong limit); 1308ccd4a63SDavid du Colombier int smbbufferreadskipto(SmbBuffer *b, ulong offset); 1318ccd4a63SDavid du Colombier int smbbufferpushreadlimit(SmbBuffer *b, ulong offset); 1328ccd4a63SDavid du Colombier int smbbufferpopreadlimit(SmbBuffer *b); 1338ccd4a63SDavid du Colombier int smbbufferalignl2(SmbBuffer *b, int al2); 1348ccd4a63SDavid du Colombier int smbbufferwritebackup(SmbBuffer *b, ulong offset); 1358ccd4a63SDavid du Colombier int smbbufferreadbackup(SmbBuffer *b, ulong offset); 1368ccd4a63SDavid du Colombier int smbbufferfixuprelatives(SmbBuffer *b, ulong fixupoffset); 1378ccd4a63SDavid du Colombier int smbbufferfixuprelativel(SmbBuffer *b, ulong fixupoffset); 1388ccd4a63SDavid du Colombier int smbbufferfixuprelativeinclusivel(SmbBuffer *b, ulong fixupoffset); 1398ccd4a63SDavid du Colombier int smbbufferfixupabsolutes(SmbBuffer *b, ulong fixupoffset); 1408ccd4a63SDavid du Colombier int smbbufferfixupabsolutel(SmbBuffer *b, ulong fixupoffset); 1418ccd4a63SDavid du Colombier int smbbufferfixupl(SmbBuffer *b, ulong fixupoffset, ulong val); 1428ccd4a63SDavid du Colombier int smbbufferputv(SmbBuffer *b, vlong v); 1438ccd4a63SDavid du Colombier int smbbufferputack(SmbBuffer *b, SmbHeader *h, SmbPeerInfo *p); 1448ccd4a63SDavid du Colombier int smbbufferfill(SmbBuffer *b, uchar c, ulong len); 1458ccd4a63SDavid du Colombier int smbbufferoffsetgetb(SmbBuffer *b, ulong offset, uchar *bp); 1468ccd4a63SDavid du Colombier int smbbuffercopy(SmbBuffer *to, SmbBuffer *from, ulong amount); 1478ccd4a63SDavid du Colombier int smbbufferoffsetcopystr(SmbBuffer *b, ulong offset, char *buf, int buflen, int *lenp); 1488ccd4a63SDavid du Colombier 1498ccd4a63SDavid du Colombier SmbClient *smbconnect(char *to, char *share, char **errmsgp); 1508ccd4a63SDavid du Colombier void smbclientfree(SmbClient *s); 1518ccd4a63SDavid du Colombier int smbsuccess(SmbHeader *h, char **errmsgp); 1528ccd4a63SDavid du Colombier 1538ccd4a63SDavid du Colombier int smbtransactiondecodeprimary(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp); 1548ccd4a63SDavid du Colombier int smbtransactiondecodeprimary2(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp); 1558ccd4a63SDavid du Colombier void smbtransactionfree(SmbTransaction *t); 1568ccd4a63SDavid du Colombier int smbtransactionencoderesponse(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob, char **errmsgp); 1578ccd4a63SDavid du Colombier int smbtransactionencoderesponse2(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob, char **errmsgp); 1588ccd4a63SDavid du Colombier int smbtransactionencodeprimary(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob, 1598ccd4a63SDavid du Colombier uchar *wordcountp, ushort *bytecountp, char **errmsgp); 1608ccd4a63SDavid du Colombier int smbtransactionencodeprimary2(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob, 1618ccd4a63SDavid du Colombier uchar *wordcountp, ushort *bytecountp, char **errmsgp); 1628ccd4a63SDavid du Colombier int smbtransactiondecoderesponse(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp); 1638ccd4a63SDavid du Colombier int smbtransactiondecoderesponse2(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp); 1648ccd4a63SDavid du Colombier int smbtransactionclientsend(void *magic, SmbBuffer *ob, char **errmsgp); 1658ccd4a63SDavid du Colombier int smbtransactionclientreceive(void *magic, SmbBuffer *ib, char **errmsgp); 1668ccd4a63SDavid du Colombier 1678ccd4a63SDavid du Colombier int smbtransactionexecute(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, 1688ccd4a63SDavid du Colombier SmbBuffer *ob, SmbTransactionMethod *method, void *magic, SmbHeader *rh, char **errmsgp); 1698ccd4a63SDavid du Colombier int smbtransactionrespond(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob, 1708ccd4a63SDavid du Colombier SmbTransactionMethod *method, void *magic, char **errmsgp); 1718ccd4a63SDavid du Colombier 1728ccd4a63SDavid du Colombier SmbProcessResult smbtrans2findfirst2(SmbSession *s, SmbHeader *h); 1738ccd4a63SDavid du Colombier SmbProcessResult smbtrans2findnext2(SmbSession *s, SmbHeader *h); 1748ccd4a63SDavid du Colombier SmbProcessResult smbtrans2queryfileinformation(SmbSession *s, SmbHeader *h); 1758ccd4a63SDavid du Colombier SmbProcessResult smbtrans2queryfsinformation(SmbSession *s, SmbHeader *h); 1768ccd4a63SDavid du Colombier SmbProcessResult smbtrans2querypathinformation(SmbSession *s, SmbHeader *h); 1778ccd4a63SDavid du Colombier SmbProcessResult smbtrans2setfileinformation(SmbSession *s, SmbHeader *h); 178*86a363ceSDavid du Colombier SmbProcessResult smbtrans2setpathinformation(SmbSession *s, SmbHeader *h); 1798ccd4a63SDavid du Colombier 1808ccd4a63SDavid du Colombier SmbIdMap *smbidmapnew(void); 1818ccd4a63SDavid du Colombier long smbidmapadd(SmbIdMap *m, void *p); 1828ccd4a63SDavid du Colombier void smbidmapremovebyid(SmbIdMap *m, long id); 1838ccd4a63SDavid du Colombier void smbidmapremove(SmbIdMap *m, void *thing); 1848ccd4a63SDavid du Colombier void smbidmapfree(SmbIdMap **mp, SMBIDMAPAPPLYFN *free, void *magic); 1858ccd4a63SDavid du Colombier void smbidmapapply(SmbIdMap *mp, SMBIDMAPAPPLYFN *free, void *magic); 1868ccd4a63SDavid du Colombier void *smbidmapfind(SmbIdMap *m, long id); 1878ccd4a63SDavid du Colombier void smbidmapremoveif(SmbIdMap *m, int (*f)(void *p, void *arg), void *arg); 1888ccd4a63SDavid du Colombier 1898ccd4a63SDavid du Colombier void smbsearchfree(SmbSearch **searchp); 1908ccd4a63SDavid du Colombier void smbsearchclose(SmbSession *s, SmbSearch *search); 1918ccd4a63SDavid du Colombier void smbsearchclosebyid(SmbSession *s, ushort sid); 1928ccd4a63SDavid du Colombier 1938ccd4a63SDavid du Colombier void smbseterror(SmbSession *s, uchar errclass, ushort error); 1948ccd4a63SDavid du Colombier 1958ccd4a63SDavid du Colombier void smbplan9time2datetime(ulong time, int tzoff, ushort *datep, ushort *timep); 1968ccd4a63SDavid du Colombier ulong smbdatetime2plan9time(ushort date, ushort time, int tzoff); 1978ccd4a63SDavid du Colombier vlong smbplan9time2time(ulong time); 1988ccd4a63SDavid du Colombier ulong smbplan9time2utime(ulong time, int tzoff); 1998ccd4a63SDavid du Colombier ulong smbutime2plan9time(ulong time, int tzoff); 2008ccd4a63SDavid du Colombier ulong smbtime2plan9time(vlong); 2018ccd4a63SDavid du Colombier void smbpathcanon(char *path); 2028ccd4a63SDavid du Colombier void smbpathsplit(char *path, char **dirp, char **namep); 2038ccd4a63SDavid du Colombier 2048ccd4a63SDavid du Colombier ushort smbplan9mode2dosattr(ulong mode); 2058ccd4a63SDavid du Colombier ulong smbdosattr2plan9wstatmode(ulong oldmode, ushort attr); 2068ccd4a63SDavid du Colombier ulong smbdosattr2plan9mode(ushort attr); 2078ccd4a63SDavid du Colombier 2088ccd4a63SDavid du Colombier ulong smbplan9length2size32(vlong size); 2098ccd4a63SDavid du Colombier 2108ccd4a63SDavid du Colombier void smbfileclose(SmbSession *s, SmbFile *f); 2118ccd4a63SDavid du Colombier 2128ccd4a63SDavid du Colombier void smbloglock(void); 2138ccd4a63SDavid du Colombier void smblogunlock(void); 2148ccd4a63SDavid du Colombier int smblogvprint(int cmd, char *fmt, va_list ap); 215*86a363ceSDavid du Colombier int translogprint(int cmd, char *fmt, ...); 2168ccd4a63SDavid du Colombier int smblogprint(int cmd, char *fmt, ...); 2178ccd4a63SDavid du Colombier int smblogprintif(int v, char *fmt, ...); 2188ccd4a63SDavid du Colombier void smblogdata(int cmd, int (*print)(int cmd, char *fmt, ...), void *p, long data, long limit); 2198ccd4a63SDavid du Colombier 2208ccd4a63SDavid du Colombier SmbSharedFile *smbsharedfileget(Dir *d, int p9mode, int *sharep); 2218ccd4a63SDavid du Colombier void smbsharedfileput(SmbFile *f, SmbSharedFile *sf, int share); 2228ccd4a63SDavid du Colombier int smbsharedfilelock(SmbSharedFile *sf, SmbSession *s, ushort pid, vlong base, vlong limit); 2238ccd4a63SDavid du Colombier int smbsharedfileunlock(SmbSharedFile *sf, SmbSession *s, ushort pid, vlong base, vlong limit); 2248ccd4a63SDavid du Colombier 2258ccd4a63SDavid du Colombier vlong smbl2roundupvlong(vlong v, int l2); 2268ccd4a63SDavid du Colombier 2278ccd4a63SDavid du Colombier int smblistencifs(SMBCIFSACCEPTFN *accept); 2288ccd4a63SDavid du Colombier 2298ccd4a63SDavid du Colombier int smbnetserverenum2(SmbClient *c, ulong stype, char *domain, int *entriesp, SmbRapServerInfo1 **sip, char **errmsgp); 2308ccd4a63SDavid du Colombier 2318ccd4a63SDavid du Colombier int smbbuffergetheader(SmbBuffer *b, SmbHeader *h, uchar **parametersp, ushort *bytecountp); 2328ccd4a63SDavid du Colombier int smbbuffergetandcheckheader(SmbBuffer *b, SmbHeader *h, uchar command, int response, 2338ccd4a63SDavid du Colombier uchar **pdatap, ushort *bytecountp, char **errmsgp); 2348ccd4a63SDavid du Colombier int smbcheckheader(SmbHeader *h, uchar command, int response, char **errmsgp); 2358ccd4a63SDavid du Colombier int smbcheckheaderdirection(SmbHeader *h, int response, char **errmsgp); 2368ccd4a63SDavid du Colombier 2378ccd4a63SDavid du Colombier SmbDirCache *smbmkdircache(SmbTree *t, char *path); 2388ccd4a63SDavid du Colombier void smbdircachefree(SmbDirCache **cp); 2398ccd4a63SDavid du Colombier 2408ccd4a63SDavid du Colombier int smbmatch(char *name, Reprog *rep); 2418ccd4a63SDavid du Colombier Reprog *smbmkrep(char *pattern); 2428ccd4a63SDavid du Colombier 2438ccd4a63SDavid du Colombier int smbclientopen(SmbClient *c, ushort mode, char *name, uchar *errclassp, ushort *errorp, ushort *fid, ushort *attrp, 2448ccd4a63SDavid du Colombier ulong *mtimep, ulong *sizep, ushort *accessallowedp, char **errmsgp); 2458ccd4a63SDavid du Colombier 2468ccd4a63SDavid du Colombier Rune smbruneconvert(Rune r, ulong flags); 2478ccd4a63SDavid du Colombier 2488ccd4a63SDavid du Colombier int smbslut(SmbSlut *table, char *name); 2498ccd4a63SDavid du Colombier char *smbrevslut(SmbSlut *table, int val); 2508ccd4a63SDavid du Colombier 2518ccd4a63SDavid du Colombier SmbProcessResult smbtruncatefile(SmbSession *s, SmbFile *f, vlong offset); 2528ccd4a63SDavid du Colombier 2538ccd4a63SDavid du Colombier #ifdef LEAK 2548ccd4a63SDavid du Colombier #define smbemallocz(n, z) mallocz(n, z) 2558ccd4a63SDavid du Colombier #define smbemalloc(n) malloc(n) 2568ccd4a63SDavid du Colombier #define smbestrdup(p) strcpy(malloc(strlen(p) + 1), p) 2578ccd4a63SDavid du Colombier #endif 2588ccd4a63SDavid du Colombier 2598ccd4a63SDavid du Colombier int smbremovefile(SmbTree *t, char *dir, char *name); 2608ccd4a63SDavid du Colombier int smbbrowsesendhostannouncement(char *name, ulong periodms, ulong type, char *comment, char **errmsgp); 261