diff options
author | Andrew Tridgell <tridge@samba.org> | 2000-07-06 03:54:07 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2000-07-06 03:54:07 +0000 |
commit | c1254449a2d6fb17655829bc1db02b918b6a2798 (patch) | |
tree | 4746e0b31dd6b2c41d47d874b5f6026d2861829f /source3 | |
parent | a7f6c0a642428372f5fab30a5eb94f9bcc0f6173 (diff) | |
download | samba-c1254449a2d6fb17655829bc1db02b918b6a2798.tar.gz samba-c1254449a2d6fb17655829bc1db02b918b6a2798.tar.bz2 samba-c1254449a2d6fb17655829bc1db02b918b6a2798.zip |
the smbw sample prog
(This used to be commit 0afcc0d3368472ed4b49167dc4b7d907b0ccdc25)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/utils/smbw_sample.c | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/source3/utils/smbw_sample.c b/source3/utils/smbw_sample.c new file mode 100644 index 0000000000..d98d5cbe22 --- /dev/null +++ b/source3/utils/smbw_sample.c @@ -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; +} |