]> git.samba.org - kai/samba.git/commitdiff
the smbw sample prog
authorAndrew Tridgell <tridge@samba.org>
Thu, 6 Jul 2000 03:54:07 +0000 (03:54 +0000)
committerAndrew Tridgell <tridge@samba.org>
Thu, 6 Jul 2000 03:54:07 +0000 (03:54 +0000)
(This used to be commit 0afcc0d3368472ed4b49167dc4b7d907b0ccdc25)

source3/utils/smbw_sample.c [new file with mode: 0644]

diff --git a/source3/utils/smbw_sample.c b/source3/utils/smbw_sample.c
new file mode 100644 (file)
index 0000000..d98d5cb
--- /dev/null
@@ -0,0 +1,93 @@
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <dirent.h>
+#include <sys/stat.h>
+
+static void usage(void)
+{
+       printf("
+smbw_sample - a sample program that uses smbw
+
+smbw_sample <options> path
+
+  options:
+     -W workgroup
+     -l logfile
+     -P prefix
+     -d debuglevel
+     -U username%password
+     -R resolve order
+
+note that path must start with /smb/
+");
+}
+
+int main(int argc, char *argv[])
+{
+       DIR *dir;
+       struct dirent *dent;
+       int opt;
+       char *p;
+       extern char *optarg;
+       extern int optind;
+       char *path;
+
+       charset_initialise();
+       smbw_setup_shared();
+
+       while ((opt = getopt(argc, argv, "W:U:R:d:P:l:hL:")) != EOF) {
+               switch (opt) {
+               case 'W':
+                       smbw_setshared("WORKGROUP", optarg);
+                       break;
+               case 'l':
+                       smbw_setshared("LOGFILE", optarg);
+                       break;
+               case 'P':
+                       smbw_setshared("PREFIX", optarg);
+                       break;
+               case 'd':
+                       smbw_setshared("DEBUG", optarg);
+                       break;
+               case 'U':
+                       p = strchr(optarg,'%');
+                       if (p) {
+                               *p=0;
+                               smbw_setshared("PASSWORD",p+1);
+                       }
+                       smbw_setshared("USER", optarg);
+                       break;
+               case 'R':
+                       smbw_setshared("RESOLVE_ORDER",optarg);
+                       break;
+               case 'h':
+               default:
+                       usage();
+               }
+       }
+
+       argc -= optind;
+       argv += optind;
+
+       if (argc < 1) {
+               usage();
+               exit(1);
+       }
+
+       path = argv[0];
+
+       smbw_init();
+
+       dir = smbw_opendir(path);
+       if (!dir) {
+               printf("failed to open %s\n", path);
+               exit(1);
+       }
+       
+       while ((dent = smbw_readdir(dir))) {
+               printf("%s\n", dent->d_name);
+       }
+       smbw_closedir(dir);
+       return 0;
+}