Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "headers.h"
2
 
3
void
4
threadmain(int argc, char *argv[])
5
{
6
	SmbClient *c;
7
	char *errmsg;
8
	if (argc != 2 && argc != 3) {
9
		print("usage: testconnect to [share]\n");
10
		exits("args");
11
	}
12
	smbglobalsguess(1);
13
	errmsg = nil;
14
	c = smbconnect(argv[1], argc == 3 ? argv[2] : nil, &errmsg);
15
	if (c) {
16
		int i, rv;
17
		int entries;
18
		SmbRapServerInfo1 *si = nil;
19
		SmbFindFileBothDirectoryInfo ip[10];
20
		char *errmsg;
21
		ushort sid, searchcount, endofsearch;
22
		errmsg = nil;
23
		rv = smbnetserverenum2(c, SV_TYPE_SERVER, "PLAN9", &entries, &si, &errmsg);
24
		if (rv < 0)
25
			print("error: %s\n", errmsg);
26
		else if (rv > 0)
27
			print("error code %d\n", rv);
28
		else
29
			for (i = 0; i < entries; i++)
30
				print("%s: %d.%d 0x%.8lux %s\n", si[i].name, si[i].vmaj, si[i].vmin, si[i].type, si[i].remark);
31
		free(si);
32
		if (rv == 0) {
33
			rv = smbnetserverenum2(c, SV_TYPE_DOMAIN_ENUM, nil, &entries, &si, &errmsg);
34
			if (rv < 0)
35
				print("error: %s\n", errmsg);
36
			else if (rv > 0)
37
				print("error code %d\n", rv);
38
			else
39
				for (i = 0; i < entries; i++)
40
					print("%s: %d.%d 0x%.8lux %s\n", si[i].name, si[i].vmaj, si[i].vmin, si[i].type, si[i].remark);
41
			free(si);
42
		}
43
		rv = smbclienttrans2findfirst2(c, nelem(ip), "\\LICENSE",
44
			&sid, &searchcount, &endofsearch, ip, &errmsg);
45
		if (rv) {
46
			print("sid 0x%.4ux\n", sid);
47
			print("searchcount 0x%.4ux\n", searchcount);
48
			print("endofsearch 0x%.4ux\n", endofsearch);
49
		}
50
		else
51
			print("search failed %s\n", errmsg);
52
		smbclientfree(c);
53
	}
54
	else
55
		print("failed to connect: %s\n", errmsg);
56
}