⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbfns.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
ushort smbnhgets(uchar *);ulong smbnhgetl(uchar *);vlong smbnhgetv(uchar *);void smbhnputs(uchar *, ushort);void smbhnputl(uchar *, ulong);void smbhnputv(uchar *, vlong);SMBPROCESSFN smbnegotiate;SMBPROCESSFN smbcomsessionsetupandx;SMBPROCESSFN smbcomtreeconnectandx;SMBPROCESSFN smbcomtransaction;SMBPROCESSFN smbcomcheckdirectory;SMBPROCESSFN smbcomtransaction2;SMBPROCESSFN smbcomecho;SMBPROCESSFN smbcomopenandx;SMBPROCESSFN smbcomopen;SMBPROCESSFN smbcomclose;SMBPROCESSFN smbcomreadandx;SMBPROCESSFN smbcomqueryinformation;SMBPROCESSFN smbcomfindclose2;SMBPROCESSFN smbcomtreedisconnect;SMBPROCESSFN smbcomqueryinformation2;SMBPROCESSFN smbcomdelete;SMBPROCESSFN smbcomflush;SMBPROCESSFN smbcomwrite;SMBPROCESSFN smbcomsetinformation2;SMBPROCESSFN smbcomcreatedirectory;SMBPROCESSFN smbcomdeletedirectory;SMBPROCESSFN smbcomrename;SMBPROCESSFN smbcomlockingandx;SMBPROCESSFN smbcomsetinformation;SMBPROCESSFN smbcomntcreateandx;void *smbemalloc(ulong size);void *smbemallocz(ulong size, int clear);void smberealloc(void **pp, ulong size);char *smbestrdup(char *s);void smbfree(void **pp);int smbcheckwordcount(char *name, SmbHeader *h, ushort wordcount);int smbcheckwordandbytecount(char *name, SmbHeader *h, ushort wordcount, uchar **bdatap, uchar **edatap);int smbsendunicode(SmbPeerInfo *i);char *smbstringdup(SmbHeader *h, uchar *base, uchar **bdatap, uchar *edata);char *smbstrdup(uchar **bdatap, uchar *edata);char *smbstrinline(uchar **bdatap, uchar *edata);int smbstrlen(char *string);int smbstringlen(SmbPeerInfo *i, char *string);void smbstringprint(char **p, char *fmt, ...);int smbucs2len(char *string);int smbstringput(SmbPeerInfo *p, ulong flags, uchar *buf, ushort n, ushort maxlen, char *string);int smbstrput(ulong flags, uchar *buf, ushort n, ushort maxlen, char *string);int smbstrnput(uchar *buf, ushort n, ushort maxlen, char *string, ushort size, int upcase);int smbucs2put(ulong flags, uchar *buf, ushort n, ushort maxlen, char *string);void smbresponseinit(SmbSession *s, ushort maxlen);int smbresponsealignl2(SmbSession *s, int l2a);ushort smbresponseoffset(SmbSession *s);int smbresponseputheader(SmbSession *s, SmbHeader *h, uchar errclass, ushort error);int smbresponseputandxheader(SmbSession *s, SmbHeader *h, ushort andxcommand, ulong *andxoffsetfixup);int smbresponseputb(SmbSession *s, uchar b);int smbresponseputs(SmbSession *s, ushort s);int smbresponseputl(SmbSession *s, ulong l);int smbresponseoffsetputs(SmbSession *s, ushort offset, ushort s);int smbresponseputstring(SmbSession *s, int mustalign, char *string);int smbresponseputstr(SmbSession *s, char *string);SmbProcessResult smbresponsesend(SmbSession *s);int smbresponseputerror(SmbSession *s, SmbHeader *h, uchar errclass, ushort error);int smbresponseskip(SmbSession *s, ushort amount);ushort smbresponsespace(SmbSession *s);void smbresponsereset(SmbSession *s);int smbresponsecpy(SmbSession *s, uchar *data, ushort datalen);void smbtreedisconnect(SmbSession *s, SmbTree *t);void smbtreedisconnectbyid(SmbSession *s, ushort id);SmbTree *smbtreeconnect(SmbSession *s, SmbService *serv);int smbchaincommand(SmbSession *s, SmbHeader *h, ulong andxfixupoffset, uchar cmd, ushort offset, SmbBuffer *b);SmbService *smbservicefind(SmbSession *s, char *path, char *service, uchar *errclassp, ushort *errorp);void smbserviceput(SmbService *serv);void smbserviceget(SmbService *serv);int smbrap2(SmbSession *s);void smbglobalsguess(int client);SmbBuffer *smbbuffernew(ulong maxlen);void smbbufferfree(SmbBuffer **bp);SmbBuffer *smbbufferinit(void *base, void *bdata, ulong blen);ulong smbbufferwriteoffset(SmbBuffer *s);ulong smbbufferwritemaxoffset(SmbBuffer *s);ulong smbbufferreadoffset(SmbBuffer *s);void *smbbufferwritepointer(SmbBuffer *s);void *smbbufferreadpointer(SmbBuffer *s);int smbbufferputheader(SmbBuffer *s, SmbHeader *h, SmbPeerInfo *p);int smbbufferputandxheader(SmbBuffer *s, SmbHeader *h, SmbPeerInfo *p, uchar andxcommand, ulong *andxoffsetfixup);int smbbufferputb(SmbBuffer *s, uchar b);int smbbufferputs(SmbBuffer *s, ushort s);int smbbufferputl(SmbBuffer *s, ulong l);int smbbufferoffsetputs(SmbBuffer *s, ulong offset, ushort s);int smbbufferputstring(SmbBuffer *b, SmbPeerInfo *p, ulong flags, char *string);int smbbufferpututstring(SmbBuffer *b, SmbPeerInfo *p, int mustalign, char *string);int smbbufferputucs2(SmbBuffer *b, int mustalign, char *string);int smbbufferputstr(SmbBuffer *s, char *string);int smbbufferputstrn(SmbBuffer *s, char *string, int len, int upcase);int smbbufferputerror(SmbBuffer *s, SmbHeader *h, SmbPeerInfo *p, uchar errclass, ushort error);int smbbufferskip(SmbBuffer *s, ulong amount);ulong smbbufferspace(SmbBuffer *s);void smbbufferreset(SmbBuffer *s);int smbbufferputbytes(SmbBuffer *s, void *data, ulong datalen);int smbbuffergetbytes(SmbBuffer *b, void *buf, ulong len);void smbbuffersetreadlen(SmbBuffer *b, ulong len);int smbbuffertrimreadlen(SmbBuffer *b, ulong len);ulong smbbufferwritespace(SmbBuffer *b);int smbbuffergets(SmbBuffer *b, ushort *sp);int smbbuffergetstr(SmbBuffer *b, ulong flags, char **sp);int smbbuffergetstrinline(SmbBuffer *b, char **sp);int smbbuffergetstrn(SmbBuffer *b, ushort size, char **sp);int smbbuffergetstring(SmbBuffer *b, SmbHeader *h, ulong flags, char **sp);int smbbuffergetucs2(SmbBuffer *b, ulong flags, char **sp);void *smbbufferpointer(SmbBuffer *b, ulong offset);int smbbuffergetb(SmbBuffer *b, uchar *bp);int smbbuffergetl(SmbBuffer *b, ulong *lp);int smbbuffergetv(SmbBuffer *b, vlong *vp);ulong smbbufferreadspace(SmbBuffer *b);void smbbufferwritelimit(SmbBuffer *b, ulong limit);int smbbufferreadskipto(SmbBuffer *b, ulong offset);int smbbufferpushreadlimit(SmbBuffer *b, ulong offset);int smbbufferpopreadlimit(SmbBuffer *b);int smbbufferalignl2(SmbBuffer *b, int al2);int smbbufferwritebackup(SmbBuffer *b, ulong offset);int smbbufferreadbackup(SmbBuffer *b, ulong offset);int smbbufferfixuprelatives(SmbBuffer *b, ulong fixupoffset);int smbbufferfixuprelativel(SmbBuffer *b, ulong fixupoffset);int smbbufferfixuprelativeinclusivel(SmbBuffer *b, ulong fixupoffset);int smbbufferfixupabsolutes(SmbBuffer *b, ulong fixupoffset);int smbbufferfixupabsolutel(SmbBuffer *b, ulong fixupoffset);int smbbufferfixupl(SmbBuffer *b, ulong fixupoffset, ulong val);int smbbufferputv(SmbBuffer *b, vlong v);int smbbufferputack(SmbBuffer *b, SmbHeader *h, SmbPeerInfo *p);int smbbufferfill(SmbBuffer *b, uchar c, ulong len);int smbbufferoffsetgetb(SmbBuffer *b, ulong offset, uchar *bp);int smbbuffercopy(SmbBuffer *to, SmbBuffer *from, ulong amount);int smbbufferoffsetcopystr(SmbBuffer *b, ulong offset, char *buf, int buflen, int *lenp);SmbClient *smbconnect(char *to, char *share, char **errmsgp);void smbclientfree(SmbClient *s);int smbsuccess(SmbHeader *h, char **errmsgp);int smbtransactiondecodeprimary(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp);int smbtransactiondecodeprimary2(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp);void smbtransactionfree(SmbTransaction *t);int smbtransactionencoderesponse(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob, char **errmsgp);int smbtransactionencoderesponse2(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob, char **errmsgp);int smbtransactionencodeprimary(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob,	uchar *wordcountp, ushort *bytecountp, char **errmsgp);int smbtransactionencodeprimary2(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob,	uchar *wordcountp, ushort *bytecountp, char **errmsgp);int smbtransactiondecoderesponse(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp);int smbtransactiondecoderesponse2(SmbTransaction *t, SmbHeader *h, uchar *pdata, SmbBuffer *b, char **errmsgp);int smbtransactionclientsend(void *magic, SmbBuffer *ob, char **errmsgp);int smbtransactionclientreceive(void *magic, SmbBuffer *ib, char **errmsgp);int smbtransactionexecute(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p,	SmbBuffer *ob, SmbTransactionMethod *method, void *magic, SmbHeader *rh, char **errmsgp);int smbtransactionrespond(SmbTransaction *t, SmbHeader *h, SmbPeerInfo *p, SmbBuffer *ob,	SmbTransactionMethod *method, void *magic, char **errmsgp);SmbProcessResult smbtrans2findfirst2(SmbSession *s, SmbHeader *h);SmbProcessResult smbtrans2findnext2(SmbSession *s, SmbHeader *h);SmbProcessResult smbtrans2queryfileinformation(SmbSession *s, SmbHeader *h);SmbProcessResult smbtrans2queryfsinformation(SmbSession *s, SmbHeader *h);SmbProcessResult smbtrans2querypathinformation(SmbSession *s, SmbHeader *h);SmbProcessResult smbtrans2setfileinformation(SmbSession *s, SmbHeader *h);SmbIdMap *smbidmapnew(void);long smbidmapadd(SmbIdMap *m, void *p);void smbidmapremovebyid(SmbIdMap *m, long id);void smbidmapremove(SmbIdMap *m, void *thing);void smbidmapfree(SmbIdMap **mp, SMBIDMAPAPPLYFN *free, void *magic);void smbidmapapply(SmbIdMap *mp, SMBIDMAPAPPLYFN *free, void *magic);void *smbidmapfind(SmbIdMap *m, long id);void smbidmapremoveif(SmbIdMap *m, int (*f)(void *p, void *arg), void *arg);void smbsearchfree(SmbSearch **searchp);void smbsearchclose(SmbSession *s, SmbSearch *search);void smbsearchclosebyid(SmbSession *s, ushort sid);void smbseterror(SmbSession *s, uchar errclass, ushort error);void smbplan9time2datetime(ulong time, int tzoff, ushort *datep, ushort *timep);ulong smbdatetime2plan9time(ushort date, ushort time, int tzoff);vlong smbplan9time2time(ulong time);ulong smbplan9time2utime(ulong time, int tzoff);ulong smbutime2plan9time(ulong time, int tzoff);ulong smbtime2plan9time(vlong);void smbpathcanon(char *path);void smbpathsplit(char *path, char **dirp, char **namep);ushort smbplan9mode2dosattr(ulong mode);ulong smbdosattr2plan9wstatmode(ulong oldmode, ushort attr);ulong smbdosattr2plan9mode(ushort attr);ulong smbplan9length2size32(vlong size);void smbfileclose(SmbSession *s, SmbFile *f);void smbloglock(void);void smblogunlock(void);int smblogvprint(int cmd, char *fmt, va_list ap);int smblogprint(int cmd, char *fmt, ...);int smblogprintif(int v, char *fmt, ...);void smblogdata(int cmd, int (*print)(int cmd, char *fmt, ...), void *p, long data, long limit);SmbSharedFile *smbsharedfileget(Dir *d, int p9mode, int *sharep);void smbsharedfileput(SmbFile *f, SmbSharedFile *sf, int share);int smbsharedfilelock(SmbSharedFile *sf, SmbSession *s, ushort pid, vlong base, vlong limit);int smbsharedfileunlock(SmbSharedFile *sf, SmbSession *s, ushort pid, vlong base, vlong limit);vlong smbl2roundupvlong(vlong v, int l2);int smblistencifs(SMBCIFSACCEPTFN *accept);int smbnetserverenum2(SmbClient *c, ulong stype, char *domain, int *entriesp, SmbRapServerInfo1 **sip, char **errmsgp);int smbbuffergetheader(SmbBuffer *b, SmbHeader *h, uchar **parametersp, ushort *bytecountp);int smbbuffergetandcheckheader(SmbBuffer *b, SmbHeader *h, uchar command, int response,	uchar **pdatap, ushort *bytecountp, char **errmsgp);int smbcheckheader(SmbHeader *h, uchar command, int response, char **errmsgp);int smbcheckheaderdirection(SmbHeader *h, int response, char **errmsgp);SmbDirCache *smbmkdircache(SmbTree *t, char *path);void smbdircachefree(SmbDirCache **cp);int smbmatch(char *name, Reprog *rep);Reprog *smbmkrep(char *pattern);int smbclientopen(SmbClient *c, ushort mode, char *name, uchar *errclassp, ushort *errorp, ushort *fid, ushort *attrp,ulong *mtimep, ulong *sizep, ushort *accessallowedp, char **errmsgp);Rune smbruneconvert(Rune r, ulong flags);int smbslut(SmbSlut *table, char *name);char *smbrevslut(SmbSlut *table, int val);SmbProcessResult smbtruncatefile(SmbSession *s, SmbFile *f, vlong offset);#ifdef LEAK#define smbemallocz(n, z) mallocz(n, z)#define smbemalloc(n) malloc(n)#define smbestrdup(p) strcpy(malloc(strlen(p) + 1), p)#endifint smbremovefile(SmbTree *t, char *dir, char *name);int smbbrowsesendhostannouncement(char *name, ulong periodms, ulong type, char *comment, char **errmsgp);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -