]> arthur.barton.de Git - netatalk.git/blob - bin/ad/ad.c
Pass name to afp_config_parse and use NULL for processname as test
[netatalk.git] / bin / ad / ad.c
1 /* 
2    Copyright (c) 2009 Frank Lahm <franklahm@gmail.com>
3    
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 2 of the License, or
7    (at your option) any later version.
8  
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13 */
14
15 #ifdef HAVE_CONFIG_H
16 #include "config.h"
17 #endif /* HAVE_CONFIG_H */
18
19 #include <unistd.h>
20 #include <sys/types.h>
21 #include <stdlib.h>
22 #include <stdio.h>
23 #include <stdarg.h>
24 #include <limits.h>
25 #include <signal.h>
26 #include <string.h>
27 #include <errno.h>
28
29 #include <atalk/cnid.h>
30 #include <atalk/logger.h>
31 #include <atalk/util.h>
32 #include <atalk/netatalk_conf.h>
33
34 #include "ad.h"
35
36 static void usage_main(void)
37 {
38     printf("Usage: ad ls|cp|rm|mv|set|find [file|dir, ...]\n");
39     printf("       ad -v|--version\n");
40 }
41
42 static void show_version(void)
43 {
44     printf("ad (Netatalk %s)\n", VERSION);
45 }
46
47 int main(int argc, char **argv)
48 {
49     AFPObj obj = { 0 };
50
51     if (argc < 2) {
52         usage_main();
53         return 1;
54     }
55
56     if (afp_config_parse(&obj, "ad") != 0)
57         return 1;
58
59     setuplog("default:note", "/dev/tty");
60
61     if (load_volumes(&obj, NULL) != 0)
62         return 1;
63
64     if (STRCMP(argv[1], ==, "ls"))
65         return ad_ls(argc - 1, argv + 1, &obj);
66     else if (STRCMP(argv[1], ==, "cp"))
67         return ad_cp(argc - 1, argv + 1, &obj);
68     else if (STRCMP(argv[1], ==, "rm"))
69         return ad_rm(argc - 1, argv + 1, &obj);
70     else if (STRCMP(argv[1], ==, "mv"))
71         return ad_mv(argc, argv, &obj);
72     else if (STRCMP(argv[1], ==, "set"))
73         return ad_set(argc - 1, argv + 1, &obj);
74     else if (STRCMP(argv[1], ==, "find"))
75         return ad_find(argc, argv, &obj);
76     else if (STRCMP(argv[1], ==, "-v")) {
77         show_version();
78         return 1;
79     }
80     else if  (STRCMP(argv[1], ==, "--version")) {
81         show_version();
82         return 1;
83     }
84     else {
85         usage_main();
86         return 1;
87     }
88
89     return 0;
90 }