1 #include "headers.h"
2
3 void
threadmain(int argc,char * argv[])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 }
57