summaryrefslogtreecommitdiff
path: root/sys/src/cmd/aquarela/testconnect.c
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
commite5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch)
treed8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/aquarela/testconnect.c
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/aquarela/testconnect.c')
-rwxr-xr-xsys/src/cmd/aquarela/testconnect.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/sys/src/cmd/aquarela/testconnect.c b/sys/src/cmd/aquarela/testconnect.c
new file mode 100755
index 000000000..822dbb151
--- /dev/null
+++ b/sys/src/cmd/aquarela/testconnect.c
@@ -0,0 +1,56 @@
+#include "headers.h"
+
+void
+threadmain(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);
+}