mirror of
https://github.com/samba-team/samba.git
synced 2025-01-13 13:18:06 +03:00
parent
a7f6c0a642
commit
c1254449a2
93
source3/utils/smbw_sample.c
Normal file
93
source3/utils/smbw_sample.c
Normal file
@ -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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user