diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /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-x | sys/src/cmd/aquarela/testconnect.c | 56 |
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); +} |