testconnect.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 57 行

C
57
字号
#include "headers.h"voidthreadmain(int argc, char *argv[]){	SmbClient *c;	char *errmsg;	if (argc != 2 && argc != 3) {		print("usage: testconnect to [share]\n");		exits("args");	}	smbglobalsguess(1);	errmsg = nil;	c = smbconnect(argv[1], argc == 3 ? argv[2] : nil, &errmsg);	if (c) {		int i, rv;		int entries;		SmbRapServerInfo1 *si = nil;		SmbFindFileBothDirectoryInfo ip[10];		char *errmsg;		ushort sid, searchcount, endofsearch;		errmsg = nil;		rv = smbnetserverenum2(c, SV_TYPE_SERVER, "PLAN9", &entries, &si, &errmsg);		if (rv < 0)			print("error: %s\n", errmsg);		else if (rv > 0)			print("error code %d\n", rv);		else			for (i = 0; i < entries; i++)				print("%s: %d.%d 0x%.8lux %s\n", si[i].name, si[i].vmaj, si[i].vmin, si[i].type, si[i].remark);		free(si);		if (rv == 0) {			rv = smbnetserverenum2(c, SV_TYPE_DOMAIN_ENUM, nil, &entries, &si, &errmsg);			if (rv < 0)				print("error: %s\n", errmsg);			else if (rv > 0)				print("error code %d\n", rv);			else				for (i = 0; i < entries; i++)					print("%s: %d.%d 0x%.8lux %s\n", si[i].name, si[i].vmaj, si[i].vmin, si[i].type, si[i].remark);			free(si);		}		rv = smbclienttrans2findfirst2(c, nelem(ip), "\\LICENSE",			&sid, &searchcount, &endofsearch, ip, &errmsg);		if (rv) {			print("sid 0x%.4ux\n", sid);			print("searchcount 0x%.4ux\n", searchcount);			print("endofsearch 0x%.4ux\n", endofsearch);		}		else			print("search failed %s\n", errmsg);		smbclientfree(c);	}	else		print("failed to connect: %s\n", errmsg);}

⌨️ 快捷键说明

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