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

📄 smbclientopen.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include "headers.h"intsmbclientopen(SmbClient *c, ushort mode, char *name, uchar *errclassp, ushort *errorp,	ushort *fidp, ushort *attrp, ulong *mtimep, ulong *sizep, ushort *accessallowedp, char **errmsgp){	SmbBuffer *b;	SmbHeader h;	ulong bytecountfixup;	long n;	uchar *pdata;	ushort bytecount;	b = smbbuffernew(65535);	h = c->protoh;	h.tid = c->sharetid;	h.command = SMB_COM_OPEN;	h.wordcount = 2;	smbbufferputheader(b, &h, &c->peerinfo);	smbbufferputs(b, mode);	smbbufferputs(b, 0);	bytecountfixup = smbbufferwriteoffset(b);	smbbufferputs(b, 0);	smbbufferputb(b, 4);	smbbufferputstring(b, &c->peerinfo, SMB_STRING_REVPATH, name);	smbbufferfixuprelatives(b, bytecountfixup);	nbsswrite(c->nbss, smbbufferreadpointer(b), smbbufferwriteoffset(b));	smbbufferreset(b);	n = nbssread(c->nbss, smbbufferwritepointer(b), smbbufferwritespace(b));	if (n < 0) {		smbstringprint(errmsgp, "read error: %r");		smbbufferfree(&b);		return 0;	}	smbbuffersetreadlen(b, n);	if (!smbbuffergetandcheckheader(b, &h, h.command, 7, &pdata, &bytecount, errmsgp)) {		smbbufferfree(&b);		return 0;	}	if (h.errclass) {		*errclassp = h.errclass;		*errorp = h.error;		smbbufferfree(&b);		return 0;	}	*fidp = smbnhgets(pdata); pdata += 2;	*attrp = smbnhgets(pdata); pdata += 2;	*mtimep = smbnhgetl(pdata); pdata += 4;	*sizep = smbnhgets(pdata); pdata += 4;	*accessallowedp = smbnhgets(pdata);	return 1;}

⌨️ 快捷键说明

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